Has the TB303 in 3.1 been changed?


#1

Hi all,

Here’s a track written in 2.11 SP and posted to Soundcloud
some months back. The TB303 is quite distinctive, low and
fruity like a 303 should be…

This is the exact same code, lifted out of the original .rb file.

Play it for yourself in 3.1, and you can hear a significant change
in the 303…

If you drop the ’ use_synth_defaults cutoff: 85’ down to about 50,
it starts to sound similar to the originial, but with an annoying click
in it.

Eli…

use_bpm 90
ripple = (ring, 0,1,)
ripple1 = (ring, 0,1,2)

live_loop :beats do
  sleep 4
end

live_loop :bar do
  sleep 1
end


with_fx :reverb do
  live_loop :bass1 do
    if one_in(4) then
      sleep 4
    else
      sync :bar
      use_synth :tb303
      use_synth_defaults cutoff: 85, release: 0.15, attack: 0.05, decay: 0.05,
        sustain_level: 0.3, cutoff_sustain_level: 0.7, sustain: 0.1, res: 0.6, amp: 0.2
      4.times do
        play (ring, :c2, :c2, :as1, :f2, :ds2).tick + 0.5, wave: ripple.look+1
        play (ring, :c2, :c2, :as1, :f2, :ds2).look + 0.5, wave: ripple1.look
        sleep (ring, 0.75, 0.75, 0.75, 0.75, 1).look
      end
    end
    ripple.tick
    if one_in 2 then
      ripple1.tick
      sleep 1
    end
  end
end

#2

Super Weird!

Looking at the code diffs, the design hasn’t changed since it was initially created and added to Sonic Pi.

However, I did recompile the synths to make them compatible with v3.9 of SuperCollider - perhaps something weird happened there. Also, it’s very possible that changes in SuperCollider have resulted in this timbral change.

I’ll do what I can to revert this!


#3

Hi there,

I can confirm that somehow in re-compiling the synthdefs for SuperCollider v3.9, the tb303 synth changed and regressed to what you hear in v3.1.

I’ll ensure this is fixed for the next release. I’ll also look into a work-around for the interim. However, please be assured that this is fixable :slight_smile:


#4

Hi Sam,

Thanks for the prompy reply. I know how tight your time and resources are, so
when it gets fixed, it gets fixed.

Eli,


#5

Thank you both, I was just coming here to ask this as well.