# Functions Internally, the Bohm engine processes models generated from a patching environment especially made for it. As a result, each "model" files (the `.oiff` files on the microSD card) are as many gigantic patches made of around 400 modules, each module being for example a wavetable oscillator, a filter, a function, or a high-order function. As such, all the knobs and CVs on the Bohm user interface control macros of those models, and each model can have its very own interpretation of a control. For example, the {guilabel}`ATTACK` knob controls the frequency modulation amount of model FM-2X in order to bring "more attack", but some other models would use a more traditional ADSR envelope to achieve a similar effect. Therefore, the following describes the most commonly shared features of all models. In any case, the {doc}`/library/index` chapter describes in more details all those models. ## Routing ```{image} routing.svg :width: 100% :align: center ``` **Bohm** is a first kick voice triggered by the {guilabel}`HIT` input or button. The optional **Groove** expander is a second kick voice triggered by the {guilabel}`CLOCK` input. The Groove {guilabel}`VOL` allows to balance the Groove secondary kick voice with the Bohm first kick voice. ```{important} The optional **Groove** expander second kick voice needs to be triggered with the {guilabel}`CLOCK` input. This is typically done with, but not limited to, a traditional 16th note Eurorack clock. ``` Both signal enters the optional **Performer** expander. The Performer {guilabel}`VOL` allows to balance the Bohm and Groove kick voices with the Performer audio {guilabel}`IN`. Both signals enter the effect section, and its output goes to the Bohm audio {guilabel}`OUT`. When the Performer expander is not present, the Bohm and Groove kick voices output directly goes to the Bohm audio {guilabel}`OUT`. ## Bohm ```{image} bohm.svg :width: 100% :align: center ``` {guilabel}`PITCH` controls the oscillator fundamental frequency from C1 (32.70Hz) to C2 (65.41Hz). The pitch follows a {guilabel}`CURVE` which ranges from 808-style curve counterclockwise to 909-style curve clockwise. ```{note} The counterclockwise curve reaches the fundamental frequency quicker than in the clockwise position, so that if {guilabel}`LENGTH` is short enough, the oscillator will not reach the fundamental frequency. ``` Pitch tracking can be used to play bass lines, provided {guilabel}`LENGTH` is long enough or a gate is used for {guilabel}`HIT` (see below). For pitch tracking to work properly, put the {guilabel}`PITCH` knob completely counterclockwise, {guilabel}`PITCH` attenuverter completely clockwise, and select an appropriate voltage range from 0V to 1V, 1V to 2V or 2V to 3V in the Bohm system settings depending on the output voltage range of your sequencer. ```{important} If your sequencer supports multiple pitch control standards, make sure to select 1 Volt per octave. ``` The oscillator is often a wavetable synthesizer, and {guilabel}`COLOR` controls the position curve over time. The oscillator then goes through a volume envelope. {guilabel}`ATTACK` and {guilabel}`SUSTAIN` are analog to classical ADSR envelopes. {guilabel}`LENGTH` then represents the total duration of the kick. {guilabel}`HIT` can work both as a trigger or a gate control. If {guilabel}`HIT` remains on (for example by keeping the button pressed), the kick will sustain. When {guilabel}`HIT` is released, the sound will decay. {guilabel}`ATTACK` also controls the volume of the transient synthesizer, and {guilabel}`TRS DECAY` affect the decay time of the transient. Finally the transient synthesizer goes through a tone filter with {guilabel}`TRS TONE`, from dark counterclockwise to bright clockwise. The wavetable and transient synthesizers are then mixed, a {guilabel}`VELOCITY` volume is applied, and the signal finally enters the effect section for which {guilabel}`FX` controls the effect amount. ## Groove ```{image} groove.svg :width: 100% :align: center ``` At the heart of the Groove are 4 sound generators: repetitions of the Bohm kick, reverb, noise and gritty noise mixed with sub frequency. The sound generators can be selected and blended using the {guilabel}`COLOR` control. The repetitions are not delayed version of the kick: they are triggered every time {guilabel}`CLOCK` is triggered. Each repetition is called a "tap". The volume of each tap, except the one on the down-beat, can be controlled using the {guilabel}`2`, {guilabel}`3`, {guilabel}`4` knobs as well as the {guilabel}`TAPS` CV. The repetition {guilabel}`LENGTH` and {guilabel}`PITCH` can be also altered. The other sound generators follow a slightly difference concept: the volume defines by the {guilabel}`2`, {guilabel}`3`, {guilabel}`4` knobs as well as the {guilabel}`TAPS` CV produces a volume envelope that is applied to the sound generator. The sound generators {guilabel}`PITCH` can be also altered, but {guilabel}`LENGTH` has no effect. ```{important} {guilabel}`LENGTH` has only an effect for the repetition sound generator, so from around 3 o'clock to fully clockwise. ``` {guilabel}`LENGTH` (when applicable) and {guilabel}`PITCH` on Groove are relative to the {guilabel}`LENGTH` and {guilabel}`PITCH` on Bohm. When {guilabel}`LENGTH` or {guilabel}`PITCH` on Groove is at the central position, then the actual length or pitch of Groove will be the same as Bohm. If the {guilabel}`LENGTH` or {guilabel}`PITCH` on Groove is turned to the left, then the {guilabel}`LENGTH` or {guilabel}`PITCH` will be lower than the one on Bohm, but never below the minimum value on Bohm. Conversely, If the {guilabel}`LENGTH` or {guilabel}`PITCH` on Groove is turned to the right, then the {guilabel}`LENGTH` or {guilabel}`PITCH` will be higher than the one on Bohm, but never above the maximum value on Bohm. For example, if Bohm {guilabel}`PITCH` is at the minimum (a low C key), then the Groove {guilabel}`PITCH` knob will have no effect from full counterclockwise to center position. In more details, the volume envelope works as follow: - When {guilabel}`HIT` is triggered, the envelope is retriggered - The subsequent {guilabel}`CLOCK` triggers define the speed to reach the following {guilabel}`2`, {guilabel}`3`, {guilabel}`4` taps - After that, and as long as the envelope is not retriggered, the value of the envelope depends on the `GRV ENV` system option: - If set to `FALL`, the envelope will smoothly go back to 0 - If set to `SUSTAIN`, the envelope will stay at the level defined by tap {guilabel}`4` And typically: - When using triplets for the clock, the envelope will work as intended, with {guilabel}`2`, {guilabel}`3` being the only relevant taps - If there are more than 4 clocks between each {guilabel}`HIT` (for example for a very fast tempo where the kick won't be triggered every beat), one can use the {guilabel}`TAPS` CV input to further shape the volume envelope The sound generators then enter the effect section for which {guilabel}`FX` controls the effect. Finally a volume control {guilabel}`VOL` is applied on the output of the Groove effect section. The final volume envelope generated by the {guilabel}`2`, {guilabel}`3`, {guilabel}`4` knobs combined with the {guilabel}`TAPS` CV input is available on the {guilabel}`TAPS` CV output. ## Performer ```{image} performer.svg :width: 100% :align: center ``` The external stereo audio {guilabel}`IN` is ducked on every {guilabel}`HIT` trigger, and {guilabel}`DUCK` controls the amount of ducking. {guilabel}`VOL` controls the volume of the Bohm and Groove output before the ducked audio input and kick goes into the effect section. A channel selector allows to select what signal is processed by the effect, and what is bypassed. It is possible to send either only the kick, or only the external audio input, or both the kick and input to the effect section. The effect can be activated and deactivated using the {guilabel}`ON/OFF` control, and the actual activation or deactivation can happen either immediately, or synchronously to the {guilabel}`HIT` trigger using a system settings option. The {guilabel}`FX` controls the effect parameter. Finally, the processed and bypassed signals are summed and sent to the Bohm stereo audio {guilabel}`OUT`. ## Model Variations Each model coming with Bohm is its own kick drum machine. As such, all models come with specific settings, called "variations" that alter the sound of the machine. In general, for the Bohm part, most variations are very specific to each model and for this reason is exposed in the "Core Library" chapter. The rest of this section introduces the basic concepts, as well as the Groove and Performer variations, which tend to remain the same. It also shows some common Bohm variations. Those variations can only be accessed in "Studio" mode, the mode when the module is switched on. ### Navigation Clicking the {guilabel}`FUNCTION` button opens a page with all model variations. The root level contains all Bohm variations, and separate Groove and Performer sub-menus are available for Groove and Performer specific variations. In the model variation page, turning the {guilabel}`FUNCTION` encoder will navigate up and down, and clicking on a menu item allows to either change the value of that item, or enter the sub menu if the item is a sub menu. At the top of each menu is a menu item which allows to go one step upper in the menu hierarchy, and ultimately back to the models browser. ### Randomization All Bohm models are all sweet spots, so randomization is a must to quickly find the sound you want or get some new inspiration. To randomize the current model variations, navigate to the end of the model variations list to the `RANDOMIZE` sub menu, and then choose between the two randomization options: - `BOHM + GROOVE` will randomize only Bohm and Groove - `ALL` will randomize Bohm, Groove and Performer In Studio mode, the {guilabel}`FUNCTION` CV input will randomize the current model variations. One can also exclude Performer from randomization using the `FUNC RAND` option of the system setings. ### Snapshots One can "snapshot" the current kick to reuse it later. It is the building block to prepare for a live performance, but it can be also used to save your prefered set of variations when in the studio. For live performance, refer to the "Running Modes" chapter. Snapshots can be saved by nagivating to the `SNAPSHOT` sub menu, and then choose `SAVE`. A slot in the current program can be then selected and the kick can be optionally renamed. Conversely, snapshots can be recalled by navigating to the `SNAPSHOT` sub menu, and then choose `LOAD`. The user will then select the slot they want to recall. Only the variations of the snapshot are reloaded (_ie._ not the pots positions). One can also choose instead `LOAD W/ POTS`, which will recall all the variations as well as pots positions of the snapshot. This allows to copy or make tweaks of a snapshot when preparing a live performance. When a snapshot is recalled with pots positions, all the pots are behaving like `LATCH` mode, that is a pot needs to be a bit turned for the change to be registered and for the value to "jump" to the new position. Example, copying a snapshot: - `LOAD W/ POTS` and select slot to copy - `SAVE` and select new slot Example, modifying a snapshot: - `LOAD W/ POTS` and select slot to modify - Move one or more pots - `SAVE` and select the same slot ### Bohm Common Variations #### `FX` - `TUBE` is a slight distortion giving a nice analog feeling - `BASS` is a slight distortion that selectively distort basses. Traditionally, it is used on 808-style lengthy kicks - `SOFT` is a soft-clipper - `HARD` is a hard-clipper - `WAVEFOLD` is a wavefolder distortion - `BITCRUSH` (on a few selected models) is a bit crusher distortion - `DECIM` (on a few selected models) is a sampling rate reduction distortion #### `STEREO` `STEREO` controls the stereo width of the Bohm signal, from `0%` (mono), to `100%` (full stereo) ### Groove Variations #### `FX` - `LP` sets the Groove effect to a low-pass filter. The {guilabel}`FX` parameter then controls the cut-off frequency of the filter - `HP` sets the Groove effect to a high-pass filter. The {guilabel}`FX` parameter then controls the cut-off frequency of the filter - `BP` sets the Groove effect to a band-pass filter. The {guilabel}`FX` parameter then controls the center frequency of the filter - `DIST` sets the Groove effect to a distortion. The {guilabel}`FX` parameter then controls the gain of the distortion #### `STEREO` `STEREO` controls the stereo width of the Groove signal, from `0%` (mono), to `100%` (full stereo) ### Performer Variations #### `DUCK TIME` `DUCK TIME` controls the release time of the ducking curve. #### `DUCK SMTH` `DUCK SMTH` controls the smoothing of the ducking curve, which is more pronounced during the attack section, when the volume is abruptly cut off. This variation allows to slightly let the transients of the external audio input pass through, while still keeping a pumping effect when the Duck band split is not used. ### `DUCK BS` `DUCK BS` controls the frequency of the band split. All frequencies below the band split frequency are ducked while the frequencies above are preserved. The band split is smooth enough (-12dB/oct) for its effect to not be too noticeable while still preserving frequencies correctly. This variation is typically used when ducking should feel more transparent, when pumping is not the main artistic intent. #### `FX` - `DJ FILTER` sets the Performer effect to a DJ filter. The {guilabel}`FX` parameter is a low-pass filter counterclockwise, and high-pass filter clockwise, with the center position being neutral - `HP` sets the Performer effect to a high-pass filter. The {guilabel}`FX` parameter controls the cutoff frequency, from passing all frequencies counterclockwise to blocking clockwise - `LP` sets the Performer effect to a low-pass filter. The {guilabel}`FX` parameter controls the cutoff frequency, from blocking all frequencies counterclockwise to passing clockwise - `BEAT ROLL` sets the Performer effect to a beat roll. The {guilabel}`FX` parameter controls the amount of beat roll, from beat-synchronized counterclockwise to stuterring effects as the knob is turned clockwise - `SLIP ROLL` sets the Performer effect to a slip roll. It is the same as the beat roll, except the input is resampled on every {guilabel}`HIT` #### `DJ RESO` When `FX` is set to `DJ FILTER`, `HP` or `LP`, `DJ RESO` controls the resonance of the filter, from `0%` (no resonance) to `100%` (full resonance, to have a more pronounced "rave" effect) #### `CHN` The channel selector allows to select which audio signals are processed through the effect section: - `ALL` routes both the kick and external audio input to the effect section - `KICK` routes only the kick to the effect section - `INPUT` routes only the external audio input to the effect section