Join GitHub today
Patch notes and ideas for using Bees in the Trees
The effects of the internal modulator MOD1 and MOD2 are additive
The internal modulators are additive, so if you have, say, both MOD1 and MOD2 set to LFO mode, both modulating the same parameter, say, timbre, then their individual effects on timbre will be added together. By using different rates (RAT1 and RAT2) and different depths of modulation for each, then complex, shifting LFO waveforms can be achieved. The added values also clip at 127, so if the modulation depths from both modulators are set to 127 or close to 127, then the combined effect will be "clipped" at 127. This can be useful and provide interesting effects, although generally, lower modulator depths sound better.
Modulation of pitch by MOD1 and MOD2 can be quantised to note values and scales
You can also send the MOD1 and MOD2 values to oscillator frequency, via the M1->F and M2->F settings. Doing that with both MOD1 and MOD2 in LFO mode, running at slow rates, will produces a pitch that slides up and down in potentially complex ways. But this pitch modulation can be quantised to semitone notes, or to various scales, using the QNTZ setting. In order to quantise the internal modulation, set QVIB (quantise internal vibrato) to ON. Now, adjust the depth and rate of the frequency modulation by MOD1 and MOD2 to create all sorts of slowly changing and interesting arpeggios and trills, up and down.
Note that you can also set TSRC to AUTO, which will generate an internal trigger each time the pitch value changes. Note that this internal trigger will also drive both the meta-sequencer and the Turing Machine, if you wish, as well as triggering those oscillator models such as PLUK and the percussion models which require a trigger to make a sound.
OK, now set FMCV=RATE, or RAT1, or RAT2, and use an external modulation source, such as a slow LFO, to change the rate of MOD1, MOD2 or both, slowly.
Don't ignore the external Timbre, Color and FM CV inputs
Although Bees-in-the-Trees provides several internal sources of modulation, you don't need to ignore the use of external sources of modulation - the Trigger, Color and FM CV inputs still all work as they do in Braids, and furthermore, their values are added to the values produced by the internal modulators, so they can be used together. Similarly, the Timbre and Color potentiometers can be used as offsets for the internal modulators, which is exactly how you would expect them to work. So, keep using your external LFOs,envelope generators and sequencers with your Braids, even if it is running Bees-in-the-Trees firmware.
Combine the meta-sequencer and the Turing Machine
Try combining the Turing Machine with the meta-sequencer, but with the meta-sequencer clock divider (MDIV) set to some multiple of the Turing Machine shift register length (TRNG), so that the oscillator model changes every few “bars” (where “bar” is the TRNG length). You can also transpose the Turing Machine sequence with the meta-sequencer, of course. Or turn it around the other way, so the meta-sequencer provides an 8-step note/oscillator model/parameter sequence, and use TDIV set the Turing Machine clock divider to some multiple of the meta-sequencer length (MSEQ), so that the Turing Machine will then semi-randomly transpose the meta-sequencer notes every few “bars”.
Adjust M1SY and M2SY when using internal LFOs or envelopes with the meta-sequencer and/or Turing Machine
M1SY and M2SY determine the reset or sync behaviour of the MOD1 and MOD2 internal modulators when a clock pulse or trigger is received on the Trigger input of Braids. They default to a value of 1, which means that when MOD1 or MOD2 are set to LFO mode, the LFO waveform will reset to the start of its cycle every time a trigger is received. If the speed of the LFO (set via RAT1 or RAT2) is slow, and the triggers are arriving frequently, then the LFO will be constantly rest before it gets very far through its cycle, and you may not hear much effect from it. This commonly occurs when driving the meta-sequencer and/or Turing machine with an external clock signal or train of triggers. However, if you set M1SY or M2SY to 0, then the internal modulators become free-running, and will carry on regardless of received triggers. Or if you set M1SY and/or M2SY to a higher number, say, 6, then the LFO waveform will only rest on every 6th received clock/trigger pulse on the Trigger input. By setting M1SY and M2SY to different values, and then twiddling them, interesting polyrhythmic effects can be obtained.
The M1SY and M2SY settings affect MOD1 and MOD2 when they are set to envelope mode as well. If you set M1SY or M2SY to 0, the envelopes will not fire - the triggers are ignored. But if you set them to higher values, you can make the MOD1 and MOD2 envelopes fire at different times. For example, with M1SY=2 and M2SY=3, the MOD1 envelope would fire on every 2nd trigger, but the MOD2 envelope would fire only on every 3rd trigger. Try that with higher values and faster clock/trigger rates for interesting polyrhythmic effects on whatever MOD1 and MOD2 are modulating.
Needless to say, all of these tricks can be combined with the use of the meta-sequencer and the Turing Machine.
The PAR1...PAR8 settings for the meta-sequencer allow timbral step sequencing
The title says it all. The PAR1 to PAR8 settings are used to scale (divide) the value of whatever modulation is being sent to the timbre, colour, level (gain) parameters, or combinations of these, so they can be used to sequence the timbral and volume qualities of the oscillator. Note that this scaling is also applied to the additive value of the combined modulation sources, both the internal modulators and external sources of modulation input via the Timbre, Color and FM control voltage inputs.
Use PAR1...PAR8 to sequence a chord progression with the WTX4 oscillator model
The title says it all. Set MSPD (meta-sequencer parameter destination) to COLR, so that the PAR1..PAR8 settings scale the Color value. Set the Color knob to maximum, set WAV1 through to WAV8 to WTX4 (i.e all eight steps to WTX4) and then adjust NOTn and PARn (where n is 1 to 8 for each step) to give the required root note and chord for each step of your chord progression.