The examples were generated completely in code. A GUI was only used in the final stages to trim and normalize the output of the Fluid Music audio server.
Example 1: Processed Guitar
See the score repository on github for the code that created this audio. To make the audio sound polished I packaged the following music productions techniques using the fluid music framework:
- A sub-bass synthesizer adds low end to the kick drum, giving it extra OOMPH!
- Reversed and processed guitar samples from the
@fluid-music/g3rdnpm package are time aligned with the musical grid.
- Tempo synchronized stereo width modulation (this technique is subtly in the example, but can by much more dramatic).
- A subtle reverb ‘glues’ the mix together.
These are just some of the kinds of productions techniques that can be encapsulated with the fluid music library. Used with care, techniques like these are a big part of what make prerecorded music stand out and sound professional.
Example 2: Trap Drums
Trap music is built around manipulated TR-808 drum samples. The next example uses the
@fluid-music/tr-808 npm package as source material for the drum and bass samples.
- Custom timing techniques applied to the drum samples to achieve the characteristically complex trap-style hi-hat patterns.
- Micro timing adjustments shift drum samples off of the timeline grid so that the samples’ transients don’t mask each other when they overlap.
- Subtle reverb and bus compression ‘glue’ the mix together.
- This second Trap example builds on the techniques in the first one, expanding the sonic palette without duplicating effort
- Side chain compression (with “ghost kicks”) pump one of the pad synthesizers in time with the musical rhythm
@fluid-music/kitthis package works like a drum sampler preset with features like sample randomization and dynamic layers.
Example 3: Seven and Five
In Seven and Five I tried to make a slightly longer composition that holds interest throughout. Additionally, I tried to make something that would be infeasible or impossible to make without Fluid Music.
The piece is based around a MIDI delay (echo), except that each delayed copy contains mutated MIDI content. The delays are grouped in five repetitions of seven notes, giving the composition its name.
Note that the code in the score repository is more complex that the previous examples, so it’s a more challenging starting point if you are just exploring Fluid Music for the first time.
- Custom techniques insert up to 70 MIDI notes per invocation.
- Features the unusual 35/32 time signature
- Uses computationally generated custom Technique Libraries that create the arpeggiated patterns that make up the harmonic foundation of the piece.
Example 4: Nikhil Sing’s Fluid Adaptations
Composer Nikhil Sing worked with the Seven and Five score to compose Fluid Adaptations. His composition keeps the same harmonic material, mutates the existing timbres and adds new ones.
His score also converts the 35/32 time signature to 4/4, a change that would be difficult or impossible to do without the Fluid Music framework.