Giter VIP home page Giter VIP logo

onomatosynthesizer's Introduction

The Onomatosynthesizer is an unusual software drum machine. It's a combined interpreter and MIDI sequencer for a cute domain-specific language for percussion.

Take a look in the samples/ directory to see how to generate some familiar beats. You'll need the midilib library to run the scripts, and any MIDI player should be capable of handling the output.

Beats are expressed in Vocal Percussion Assmebly Language (VPAL), which gets its name from its similarity to machine code, consisting of numerous instructions that are each only three or four characters in length. It's simple:

  • A rhythm is a line of sounds separated by one or more spaces.
  • Every sound gets played for the same length of time.
  • Each line is a different part that is played at the same time as the other parts.
  • A rhythm may have any length, but each line must have the same number of beats. Use extra spaces to line up the beats.

The following list represents all valid percussive sounds. Any sound can be written in capital letters to increase loudness.

.                  # rest
doom, boom         # bass drum
tik , rik          # snare
pah , kah          # clap/hit
chik, pss , wsh    # hi hat
krsh, psh , dang   # cymbals
dee , dih , dah    # toms
doh , doo , duh    # more toms
ding, dong         # agogo
bum , bom          # bongo
ash                # cymbal
plik               # tambourine
shik               # maracas
goh                # cowbell
dddd               # vibraslap
twih, twee         # whistle
gih , grrr         # guiro
dink               # claves
nik , nok          # wood block
uhh , err          # cuica
twik, tink         # triangle

Though similar in spirit, this tool is a bit more advanced than (and preadtes) Google Translate beatboxing. This is polyrhythmic, uses more drumlike sounds, and generates actual audio files.

-- Daniel W. Steinbrook

January 2009

onomatosynthesizer's People

Contributors

steinbro avatar

Watchers

 avatar James Cloos avatar

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.