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.
    • 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

                                  29

                                  Online

                                  1.7k

                                  Users

                                  11.9k

                                  Topics

                                  103.3k

                                  Posts