Core Features¶
Sequencer Notation¶
Bitrhythm only supports rhythmic notations and is geared towards electronic music. My current goal is to produce an IDM track, a DNB track and a Chiptune with complex rhythmic patterns. As for Techno the current setup seems alright but more support for DJ style transitions are needed.
You can treat a musical scale as no different than a drumset. The pentatanic scale approximately maps to a drumset and you can use techniques from melodic drumming with multiple samples. This is typically how drummers approach guitars.
Tweaking and Transitions¶
These are key to making electronic music. Tweaking is also called Automation and knob-twisting by hardware users.
Modern music has evolved to be standalone but it retains elements of theatrical story telling. You can divide a song into verses and sections. In the documentation, we will use the terms from plays - scenes. Within each musical scene you typically have,
Background: You use layers of rhythm and groove to set the mood.
Foreground: Lead (Soliloquy), Counterpoint(Character Conflict), Call Response(Dialogues), Motif, Ornaments (Exposition)
In screenplays you also have a setup / payoff dynamic.
Setup
Obstacles
Challenges
Forces
Context
In Electronic Music the foreground is mainly developed via Tweaking. Tweaking effectively functions for the purposes of Exposition and Conflict. Chorus, Fade, Drop are used for transitions typically in electronic music. To compare the foreground in others,
Classical Music: Counterpoint and Harmony
Rock: Call Response
To make a complete song in bitrhythm use bars
to trigger multiple transitions.
Essentially a DJ is like a conductor. Loops are like individual instrumentalists.
Cueing -> Mute / Solo
Dynamics -> Volume
Ornamentation -> Cutoff
Tempo, Beat Counting -> Beat Matching
Is Bitrhythm Maths heavy ?¶
You will need some basic maths operations to understand and use bitrhythm effectively. These operations are about working with lists of numbers and lists of strings.
Some common operations on lists include
Rotate
Invert
Slicing
Choose
Reverse
Shuffle
Filter
Map
Other math operations are useful for working with envelope ranges,
Clamp
Ramp
Waves
Programming is not that difficult. Programming is about organising reactions to events. A typical event comes from
The timer
User interface elements like sliders and dials
Data change
A typical reaction to an event (often called a handler) either changes data or displays data. A data change triggers more events. Other programming concepts needed for birthythm
As Tone.js provides the bulk of sound generation in Bitrhythm you should make youself comfortable with its APIs.
You will also need to understand
Conditions
Loops
Functions
Javascript Math.random
Modulo Arithmetic
SetInterval Timers
What comes next - This is the pertinent question when composing music. If you are feeling adventurous you can try to use,
Mathematical patterns like fibonacci series, geometric series, pi, fractals …
Neo-Riemannian_theory, Combinatory theory
Sacred Geometry
Circle of fifths, chord progressions
Set transformations like inversion on Scales
Licks from books
Randomness, I Ching, Playing Cards