Code Monkey home page Code Monkey logo

beatbox-juce's Introduction

BeatBox

This application is a live drummer that you can control using buttons or MIDI CC with at least 1 controller, as an arranger or a BeatBuddy pedal would. The drum loops are described in simple JSON files. The application either outputs MIDI notes, and can also generate sounds internally using SFZ instruments. For now the sound generation uses SFZero, which has many limitations. It is possible to use it within a VST host with any drum machine, or with an external sound generator. Since it uses JUCE, it should be almost cross platform, although I only tested Windows and Linux, and a tiny bit of Android. Contributions and comments are welcome, as well as beat description files. I'll put up some forum or sharing platform at some point.

Travis AppVeyor

Screenshot

Installation

Windows binaries are available on the releases page, along with Raspberry Pi binaries.

See the build documentation page about how to build the application from the source code.

Usage

The usage is quite straightforward. Upon launching the application you have to select at least a beat description by clicking on Rhythms. You will be presented with a list of the current beat descriptions you have previously entered, as well as a button to add more. To load a rhythm, just double click it. You may also load an SFZ file in the same way, or use the MIDI output.

Once the rhythm is loaded, you can use the buttons to launch the rhythm, fills and parts. You can also use a midi controller by setting the proper input channel and input CC in the options. After this, the behavior is:

  • a tap starts the live rhythm, and if already started it makes a fill.
  • a long tap transitions into the next part.
  • 2 taps trigger the ending.

Contact and contributions

Feel free to post an issue, or contact me by email if you need. Any contribution is welcome. There are many things to improve in the code and most notably in the GUI which is terrible but I'm very bad at this. However the best is probably to build beat descriptions/sfz files and share the love! :)

Acknowledgments

The original SFZero code is from Steve Folta. There are many updates to the original codebase. The one I'm using has been improved by Leo Olivers and cleaned up by MatkatMusic.

JUCE is owned by ROLI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.