Class: RoadToRubykaigi::Audio::BassSequencer

Inherits:
SequencerBase show all
Defined in:
lib/road_to_rubykaigi/audio/sequencer.rb

Constant Summary collapse

GENERATOR =
RoughTriangleOscillator
STACCATO_RATIO =
0.85
SCORE =
([
  { frequency: %i[F4 A4], duration: 1.0 },
  { frequency: %i[F4 A4], duration: 0.5, envelope: :bass_short, staccato: 0.7 },
  { frequency: %i[C4 F4], duration: 1.0 },
  { frequency: %i[C4 F4], duration: 0.5, envelope: :bass_short, staccato: 0.7 },
] * 5 + [
  { frequency: %i[F4], duration: 1.0 },
  { frequency: %i[C4], duration: 1.0 },
  { frequency: %i[E4], duration: 1.0, staccato: 1.0 },
] +
[
  { frequency: %i[F4 A4], duration: 1.0 },
  { frequency: %i[F4 A4], duration: 0.5, envelope: :bass_short, staccato: 0.7 },
  { frequency: %i[C4 F4], duration: 1.0 },
  { frequency: %i[C4 F4], duration: 0.5, envelope: :bass_short, staccato: 0.7 },
] * 4 + [
  { frequency: %i[F4 A4], duration: 1.0 },
  { frequency: %i[C4 F4], duration: 1.0 },
  { frequency: %i[F4], duration: 1.0 },

  { frequency: %i[E4], duration: 1.0 },
  { frequency: %i[D4], duration: 1.0 },
  { frequency: %i[C4], duration: 1.0, staccato: 1.0 },
])

Constants inherited from SequencerBase

SequencerBase::BPM, SequencerBase::ENVELOPE, SequencerBase::NOTES

Method Summary

Methods inherited from SequencerBase

#finished?, #gain, #generate, #rewind, #sample_rate