Beats is a command-line drum machine written in pure Ruby. Feed it a song notated in YAML, and it will produce a precision-milled *.wav file of impeccable timing and feel. Here's an example song:
Song: Tempo: 105 Flow: - Verse: x4 - Chorus: x4 Kit: - bass: house_2_1.wav - snare: roland_tr_909_2.wav - hihat: house_2_5.wav - cowbell: big_beat_5.wav - deep: house_2_2.wav Verse: - bass: X..X...X..X..... - snare: ....X.......X... - hihat: ..X...X...X...X. Chorus: - bass: X..X...X..X..... - snare: ....X.......X... - hihat: XXXXXXXXXXXXX... - cowbell: ....XX.X..X.X... - deep: .............X.. And here's what it sounds like after getting the Beats treatment. What a glorious groove!
For more, check out beatsdrummachine.com
To install the latest stable version (2.1.2) from rubygems.org, run the following from the command line:
gem install beats Note: if you're installing using the default version of Ruby that comes with macOS, you might get a file permission error. If that happens, use sudo gem install beats instead. If you're using a version manager such as rbenv, chruby, or RVM, plain gem install beats should work fine.
Once installed, you can then run Beats from the command-line using the beats command.
Beats is not very useful unless you have some sounds to use with it. You can download some example sounds from https://beatsdrummachine.com.
Beats runs from the command-line. Run beats -h to see the available options. For more detailed instructions, visit https://beatsdrummachine.com/usage/.
Check out this tutorial at beatsdrummachine.com to see an example of how to create a beat from scratch.
The latest version of Beats is 2.1.2, released on December 18, 2019. It contains these changes:
- Several confusing/unhelpful errors shown due to an error in an input file have been improved. For example, if a pattern has the invalid name "4", the error message will now be
Pattern name '4' is not valid. It must be a value that will be parsed from YAML as a String., instead ofundefined method 'downcase' for 4:Integer.
For info about previous releases, visit https://github.com/jstrait/beats/releases.
First, install the required dependencies:
bundle install To run Beats locally, use bundle exec and run bin/beats, to avoid using any installed gem executable. For example:
bundle exec bin/beats -v To run the tests:
bundle exec rake test Contact me (Joel Strait) by opening a GitHub issue.
Beats Drum Machine is released under the MIT license.