Sha256: 4e5e9a99a6ca660b1e3300a2dd70df6e05c3ef9f994b10b7d2295257b8d6d905

Contents?: true

Size: 677 Bytes

Versions: 3

Compression:

Stored size: 677 Bytes

Contents

@bpm = 130.0
@one_beat = (1.0 / @bpm).minutes

(@wav = WavOut.new(:filename => "ex07.wav")) >> blackhole

def smash(len = @one_beat)
  (n = Noise.new(:gain => 0.4)) >> (a = ADSR.new) >> @wav
  a.release_time = len
  a.on; play @one_beat / 1.5
  a.off; play len
  a << @wav
end

def beat
  (thump = SawOsc.new(:freq => 220, :gain => 0.7)) >> (a = ADSR.new) >> @wav
  a.on; play @one_beat / 2.0
  a.off; play a.release_time
  a << @wav
end

4.times do
  spork("beat 1") { beat }; spork("smash") { smash }
  play @one_beat

  spork("beat 2") { beat }
  play @one_beat

  spork("beat 3") { beat }
  play @one_beat

  spork("beat 4") { beat }
  play @one_beat
end

smash(5.seconds)

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
ruck-ugen-0.2.0 examples/ex07.rb
ruck-0.1.2 examples/ugen/ex07.rb
ruck-0.1.0 examples/ugen/ex07.rb