- File source/tweaking.md — part of check-in [a03a381331] at 2021-11-16 10:11:35 on branch trunk — Cleanup of Docs (user: dev size: 3537)
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
Other math operations are useful for working with envelope ranges,
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
- 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