├── .gitignore ├── .rubocop.yml ├── .ruby-version ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── Rakefile ├── bin └── sequencer ├── demo ├── 1-oscillator.rb ├── 2-filter.rb └── 3-adsr.rb ├── lib ├── drum_rack.rb ├── envelope.rb ├── groovebox.rb ├── note.rb ├── oscillator.rb ├── periodic_cue.rb ├── presets │ ├── bass.rb │ ├── clap.rb │ ├── cowbell.rb │ ├── hihat.rb │ ├── hihat_closed.rb │ ├── kick.rb │ ├── moog_lead.rb │ ├── piano.rb │ └── snare.rb ├── sequencer.rb ├── sequencer2.rb ├── sidechain.rb ├── step.rb ├── synthesizer.rb ├── vca.rb └── vcf.rb ├── main.rb ├── midi.rb ├── midi_config.yml ├── test ├── presets │ ├── frequency_test.rb │ └── moog_lead_test.rb └── support │ ├── audio_analyzer.rb │ └── test_vca.rb └── visualizer.html /.gitignore: -------------------------------------------------------------------------------- 1 | tmp/ 2 | .rubocop-* 3 | *.mid 4 | -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.4.1 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/Rakefile -------------------------------------------------------------------------------- /bin/sequencer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/bin/sequencer -------------------------------------------------------------------------------- /demo/1-oscillator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/demo/1-oscillator.rb -------------------------------------------------------------------------------- /demo/2-filter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/demo/2-filter.rb -------------------------------------------------------------------------------- /demo/3-adsr.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/demo/3-adsr.rb -------------------------------------------------------------------------------- /lib/drum_rack.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/drum_rack.rb -------------------------------------------------------------------------------- /lib/envelope.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/envelope.rb -------------------------------------------------------------------------------- /lib/groovebox.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/groovebox.rb -------------------------------------------------------------------------------- /lib/note.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/note.rb -------------------------------------------------------------------------------- /lib/oscillator.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/oscillator.rb -------------------------------------------------------------------------------- /lib/periodic_cue.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/periodic_cue.rb -------------------------------------------------------------------------------- /lib/presets/bass.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/bass.rb -------------------------------------------------------------------------------- /lib/presets/clap.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/clap.rb -------------------------------------------------------------------------------- /lib/presets/cowbell.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/cowbell.rb -------------------------------------------------------------------------------- /lib/presets/hihat.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/hihat.rb -------------------------------------------------------------------------------- /lib/presets/hihat_closed.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/hihat_closed.rb -------------------------------------------------------------------------------- /lib/presets/kick.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/kick.rb -------------------------------------------------------------------------------- /lib/presets/moog_lead.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/moog_lead.rb -------------------------------------------------------------------------------- /lib/presets/piano.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/piano.rb -------------------------------------------------------------------------------- /lib/presets/snare.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/presets/snare.rb -------------------------------------------------------------------------------- /lib/sequencer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/sequencer.rb -------------------------------------------------------------------------------- /lib/sequencer2.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/sequencer2.rb -------------------------------------------------------------------------------- /lib/sidechain.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/sidechain.rb -------------------------------------------------------------------------------- /lib/step.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/step.rb -------------------------------------------------------------------------------- /lib/synthesizer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/synthesizer.rb -------------------------------------------------------------------------------- /lib/vca.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/vca.rb -------------------------------------------------------------------------------- /lib/vcf.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/lib/vcf.rb -------------------------------------------------------------------------------- /main.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/main.rb -------------------------------------------------------------------------------- /midi.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/midi.rb -------------------------------------------------------------------------------- /midi_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/midi_config.yml -------------------------------------------------------------------------------- /test/presets/frequency_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/test/presets/frequency_test.rb -------------------------------------------------------------------------------- /test/presets/moog_lead_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/test/presets/moog_lead_test.rb -------------------------------------------------------------------------------- /test/support/audio_analyzer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/test/support/audio_analyzer.rb -------------------------------------------------------------------------------- /test/support/test_vca.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/test/support/test_vca.rb -------------------------------------------------------------------------------- /visualizer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asonas/groovebox-ruby/HEAD/visualizer.html --------------------------------------------------------------------------------