rnd:projects:euromidi

readinglist
authorNoll
titleThe Civil War as a Theological Crisis
summary

An examination of Civil War-era theological schisms resulting from American slavery. I suspect/hope it will provide an interesting perspective on the recognition of queer identities in today's churches.

statusto read

This is an old revision of the document!


Eurorack MIDI-CV module

status:
active
oneline:
a module to convert USB MIDI input to Eurorack CV and gate signals

Accept MIDI input and output Eurorack-compatible CV signals. This project is based around the Teensy platform, as it has a high clock rate and built-in MIDI support.

I'd like to have 4 CV/gate outs, each of which can be non-exclusively mapped by the user to selected channels. For example, outputs 1 and 2 can both be mapped to MIDI channel 4. Internally, we will represent these mappings as a four-element array of single bytes. This both reduces storage requirements and simplifies channel reassignments (since we don't have to prevent the user from assigning multiple channels to the same output).

The Teensy MIDI library docs recommend using callback functions to handle each MIDI event type. For NoteOn and NoteOff messages, the callbacks require three parameters: channel, note, and velocity, each a single byte. When a NoteOn even is received, we scale the note value to the DAC range, write the scaled value to the correct DAC channel(s), and set the gate pin high. On a NoteOff event, we write 0 to the DAC channel(s) and pull the gate pin low.

Unless the DAC can output Eurorack levels (0–10 V), some amplification will be required. Amplification will definitely be required to bring the gate outputs to the required 10 V. A gain of 3 should suffice for 3.3 V logic.

The DAC's reference value should be hardcoded in the firmware as a constant for note scaling. For an $n$-bit DAC, $V_{ref}=2^n-1$ (e.g., the max value of a 12-bit DAC can be received by writing 4095 to the device). The VCV docs contain a section on converting between frequencies and voltages in the 1 V/Oct standard; the basic formula is $f=f_0\cdot 2^V\implies V=\log_2\left(\frac{f}{f_0}\right)$, where $f_0$ is the reference frequency. This should default to C4, or 261.6256 Hz. This page includes information on converting note names to frequencies to MIDI notes.

Remember to track power usage on each rail used!

Use KiCAD for PCB design. We may try OSH Park for fabrication this time. The front panel can be ordered from Front Panel Express and designed in either their freeware designer program or something like Inkscape.

  • rnd/projects/euromidi.1679194300.txt.gz
  • Last modified: 2023-03-19 02:51
  • by asdf