HISE Logo Forum
    • Categories
    • Register
    • Login

    8 bit sample playback with various speed

    Scheduled Pinned Locked Moved General Questions
    19 Posts 5 Posters 438 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @Morphoice
      last edited by

      @Morphoice I don't know what you mean by an interpolated sound. How does the 80s drum machine handle it?

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      MorphoiceM 1 Reply Last reply Reply Quote 0
      • MorphoiceM
        Morphoice @d.healey
        last edited by

        @d-healey they just read out the rom faster and slow down or speed up the sampling rate ... a sampler would bring everything to 44.1 by interpolating it somehow

        https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

        d.healeyD griffinboyG 2 Replies Last reply Reply Quote 0
        • d.healeyD
          d.healey @Morphoice
          last edited by

          @Morphoice Try it and see how it sounds

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          MorphoiceM 1 Reply Last reply Reply Quote 0
          • MorphoiceM
            Morphoice @d.healey
            last edited by

            @d-healey give me a bit to compare the approach with the real LinnDrum and post some audio samples. btw is it even possible to post audio samples in the forum?

            https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

            d.healeyD 1 Reply Last reply Reply Quote 0
            • griffinboyG
              griffinboy @Morphoice
              last edited by

              @Morphoice

              Playback without interpolation is easy. But I'm pretty sure the hardware sound is more complex than that. It would be hard to recreate unless you can obtain sounds that have been sent through the machine, before and after to see exactly how the bit depth and aliasing ends up.

              MorphoiceM 1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @Morphoice
                last edited by

                @Morphoice said in 8 bit sample playback with various speed:

                btw is it even possible to post audio samples in the forum?

                Not sure, but you could upload it to google drive or similar and share a link.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 0
                • MorphoiceM
                  Morphoice @griffinboy
                  last edited by Morphoice

                  @griffinboy I do own the machine, so I could do those recordings but I think it's not really necessary. At normal pitch ranges you don't hear a lot of difference, the aliasing only ever really becomes audible at extremely low pitches...

                  linndrum-card.jpg

                  I've seen a couple of companies emulate old 8bit DACs and I am simply curious how this is done. I'd give it a try if there was a simple way to turn interpolation off in the HISE sampler

                  https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                  griffinboyG 1 Reply Last reply Reply Quote 1
                  • griffinboyG
                    griffinboy @Morphoice
                    last edited by

                    @Morphoice

                    Yeah you'll need a custom implementation.
                    I'm working on one but I can't promise it'll be done soon I've got lots of other work to to!
                    I do want to start handing out freebies, but as you can see lots of my work isn't quite ready : )

                    It's amazing that you own this hardware, perhaps I should reach out, I was thinking to get in contact with someone who owns hardware to buy some specific recordings. I'm working on some realistic oscillator simulations and need validation data.

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @griffinboy
                      last edited by

                      @Morphoice - theres a couple of faust implementations of bit reduction/down sampling on the tinter-webs you might want to try a couple of these, here's one:

                      declare id        "bitdowner";
                      declare name      "BitDowner";
                      declare category  "Distortion";
                      declare author    "Viacheslav Lotsmanov (unclechu)";
                      declare license   "BSD";
                      declare copyright "(c) Viacheslav Lotsmanov, 2015";
                      
                      import("stdfaust.lib"); 
                      
                      gain =
                      	vslider("input_gain", 0, -40, 40, 0.1)
                      	: ba.db2linear
                      	: si.smooth(0.999)
                      	;
                      
                      bitLimit = 16;
                      
                      downbit =
                      	vslider("bit_down", bitLimit, 1, bitLimit, 0.1)
                      	: (2 ^ (_-1))
                      	;
                      
                      downsampling =
                      	vslider(
                      		"downsampling",
                      		1, 1, 200, 1)
                      	: int
                      	;
                      
                      volume =
                      	vslider("volume", 0, -90, 12, 0.1)
                      	: ba.db2linear
                      	: si.smooth(0.999)
                      	;
                      
                      // from 0 till x (ba.if x is 5 then [0,1,2,3,4])
                      counter(x) = int(_)~(_ <: ba.if(_<(x-1) , _+1 , 0));
                      
                      // downsampling
                      dsWet(s,c) = _~(ba.if(c == 0 , s , _));
                      ds(s) =
                      	// dry signal ba.if downsampling disabled
                      	ba.if(downsampling > 1 , dsWet(s,counter(downsampling)) , s)
                      	;
                      
                      hardLimit(s) = ba.if(s>1, 1, ba.if(s<-1, -1, s));
                      
                      // bitdowning
                      bd = *(downbit) : floor : /(downbit) : hardLimit;
                      
                      chan = *(gain) : bd : ds : *(volume);
                      
                      process = _,_:chan,chan;
                      
                      

                      HISE Development for hire.
                      www.channelrobot.com

                      griffinboyG MorphoiceM 2 Replies Last reply Reply Quote 1
                      • griffinboyG
                        griffinboy @Lindon
                        last edited by

                        @Lindon

                        Yeah that'll help, I thought of that but didn't know whether that mirrors what one of these machines actually does. I'm not super knowledgable about early digital

                        1 Reply Last reply Reply Quote 0
                        • modularsamplesM
                          modularsamples
                          last edited by

                          These older samplers were more akin to a digital delay in the way they changed pitch, with a clock controlling the sample rate of the DAC. This is big part of their sound in addition to the low bit rate and anti-aliasing filters.

                          There's some good info here:
                          https://electricdruid.net/experiments-with-variable-rate-drum-sample-playback/

                          And a few words from Mr. Linn himself:
                          https://www.kvraudio.com/forum/viewtopic.php?t=567891

                          MorphoiceM 1 Reply Last reply Reply Quote 1
                          • MorphoiceM
                            Morphoice @Lindon
                            last edited by

                            @Lindon jesus christ that actually sounds fantastic and close enough to the real thing, if you tweak the downsampling just right and reduce to 8 bit.
                            the only difference is on the real LD on very low pitched samples there are some high pitched artifacts
                            check this recording from my LinnDrum Snare

                            I'm not even sure though this is desirable in a plugin and I don't really know what causes it. Might well be the old DACs needing replacement. This unit needs quite a bit of repair, I've been at it with Bruce Forat for months and still couldn't bust all the bugs

                            https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                            1 Reply Last reply Reply Quote 0
                            • MorphoiceM
                              Morphoice @modularsamples
                              last edited by

                              @modularsamples absolutely correct! I've replaced those Curtis Filter chips many times, they are really hard to get by these days. It's especially important on the bass (kick) channel, it would sound utterly unusable otherwise. I remember burning an 808 sample onto an eprom and using it in the snare slot which isnt lowcut. The bunch of high frequency content was insane.

                              https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                              modularsamplesM 1 Reply Last reply Reply Quote 0
                              • modularsamplesM
                                modularsamples @Morphoice
                                last edited by

                                @Morphoice One of the first projects I started in HISE was gonna be an emulation of the Akai s612, it never got off the ground 'cos the sound wasn't even close (not least 'cos the ADC and pre-amp are doing something best described as magic). So I'm keen to see where you go with this.

                                Maybe this is the key to really nailing the sound? get it as close to the unfiltered sound as possible then everything falls into place after that..

                                MorphoiceM 1 Reply Last reply Reply Quote 1
                                • MorphoiceM
                                  Morphoice @modularsamples
                                  last edited by

                                  @modularsamples have you had a look at Decimort? basically what we're trying to do

                                  https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                                  modularsamplesM 1 Reply Last reply Reply Quote 0
                                  • modularsamplesM
                                    modularsamples @Morphoice
                                    last edited by

                                    @Morphoice I hadn't, it sounds really nice though.. Having looked briefly at the manual, it appears the signal flow is essentially:

                                    Gain > Bitcrusher > Low Pass Filter 1 > Sample & Hold > Low Pass Filter 2 > Multimode Filter

                                    Nothing that can't be done in scriptnode, at least on paper.. To recreate how LPF 1 & 2 interact with with the sample and hold would be tricky, not sure how you'd approach that exactly, linking the controls but with the value going to the filter being passed through a cable_expr node, maybe.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    25

                                    Online

                                    1.7k

                                    Users

                                    11.9k

                                    Topics

                                    103.4k

                                    Posts