DanT: Pitchness

DanTModules v2.6.0 has a new module:


Pitchness

This module aims to fulfil a simple requirement; fixed voltages for groups of notes.

Often when I am patching, I want to specify a chord or scale, but not via a quantiser, just as a set of notes that I can then either voice together to make a chord, or individually for bass or lead lines and other musical elements.

Of course there are many ways to do this, but I’ve never had a workflow that I found intuitive or pleasing, so I made this module.

Basic operation

There are 16 channels, each one is the same.

There is a note knob, which ranges from C to B, which combines with the octave knob, which ranges from 0 to 8 (defaults to 4).

The resultant note is displayed in the small black readout.

The button to the right toggles between Sharp & Flat note names.

The port then simply outputs the fixed voltage of the selected note.

Polyphonic output

The port bottom right is the polyphonic note output.

The knob above it controls how many channels it outputs.

The port above the knob is for CV control, its value is added to the knob, 1 volt per channel.

The number of channels selected for the polyphonic port does not affect the individual channels, they will all continue to output their own voltages.

Note: Increasing the number of channels sent to an audio source or audio effect (especially reverb or delay) is likely to cause clicks and pops, and may overload your system. You can use summers, mixers and limiters to work around this in some cases.

Main label

At the top is a larger black readout. This can be used to add a name to the module to describe the settings.

The text can be set in the right-click context menu, and should be saved in patches and presets.

Transposition

To the left side of the module are the transpose controls.

The knob controls the amount of semitones to transpose by, and there is an up and down button.

The two ports below are for CV control and are independent of the knob and buttons. The transpose amount expects V/Oct signals.

Both ports can operate as monophonic or polyphonic.

When a mono signal is received, it is applied to all channels, the same as the knob and buttons.

When a polyphonic signal is received, the signal is applied to the corresponding note channel.

All combinations of mono/poly should work.

Presets

I have included a lot of factory presets for Chords, Modes and Scales for each root note.

Each preset should only change the number of channels that are required for the chord or scale, leaving the other channels untouched.

Note: I use a script to generate the presets, it is possible that there are mistakes in some presets, or musical technicalities that are inappropriate. Please do report any issue like this so that I can adjust my preset script


14 Likes

Community Presets

As with any of my modules, if you have your own preset that you don’t mind sharing, post it in this thread and it will be added in the next version update.

With the caveat that it is not entirely open submission, there are a few set of checks, such as no duplicate settings (unless musically valid), appropriate naming, comprehensibility…

If you can edit the preset before posting too that would be helpful.

So technical details for Pitchness presets:

  • Param 0 = Number of polyphonic output channels
  • Param 1 to 16 = Channel Notes
    • 0 = C
    • 1 = C#
    • 2 = D
    • 3 = D#
    • 4 = E
    • 5 = F
    • 6 = F#
    • 7 = G
    • 8 = G#
    • 9 = A
    • 10 = A#
    • 11 = B
  • Param 17 to 32 = Channel Octaves (0 to 8, 4 is middle C)
  • Param 33 to 48 = Channel Sharp Flat Toggle (0 = Sharps, 1 = Flats)
  • Param 49 = Transpose amount

Any other param IDs should not be used.

Simple example:

{
  "plugin": "DanTModules",
  "model": "Pitchness",
  "params": [
    {
      "value": 3.0,
      "id": 0
    },
    {
      "value": 0.0,
      "id": 1
    },
    {
      "value": 4.0,
      "id": 17
    },
    {
      "value": 0.0,
      "id": 33
    },
    {
      "value": 4.0,
      "id": 2
    },
    {
      "value": 4.0,
      "id": 18
    },
    {
      "value": 0.0,
      "id": 34
    },
    {
      "value": 7.0,
      "id": 3
    },
    {
      "value": 4.0,
      "id": 19
    },
    {
      "value": 0.0,
      "id": 35
    }
  ],
  "data": {
    "customText": "C Major Triad"
  }
}