RModX is a MacOSX port of an older SGI/IRIX app called RingMod, with the following differences in functionality:
-
Input/output port cannot be chosen within the application, nor changed during application runtime,
but has to be done through System Preferences and/or Audio MIDI Setup before launching the app.
-
Audio Buffer size cannot be set programatically, but through System Preferences and/or Audio MIDI Setup.
-
It doesn't utilize X11 window interface but Apple native Cocoa.
Basic usage reference:
-
Hooks to the default inupt/default output, whichever chosen as such
-
Sine, sawtooth and triangle carrier waveforms
-
Convolution and diode signal processing modes
-
Self-modulation
-
Carrier frequency control, through GUI or MIDI keyboard
-
Modulation depth control (left-hand slider)
-
Non-linearity control in diode-mode (right-hand slider)
-
Full phase-increment, amplitude-increment and depth increment integration
-
Sample-accurate control rates
-
32-bit floating-point signal format, 64-bit DSP
-
Master tuning: 435-445 Hz
-
Interface hints:
-
Stepper changes Master Tuning in 1 Hz steps
-
Scale buttons multiply carrier frequency
-
Clicking the display on value centers carrier frequency - showing Master Tuning
-
Clicking the display on "Hz" tag toggles linear/logarithmic interface behaviour
-
Convolution/diode button toggles proces mode
-
MIDI button toggles control mode
-
Left-hand slider or mod wheel (CC01) control modulation depth
-
Expression control (CC11) controls non-linearity
-
Pitch wheel bends carrier frequency
-
MIDI Channel pop-up under the MIDI button selects active channel
-
Level indicator beneath the convolution/diode toggle indicates input signal
-
Keybord Shortcuts:
-
Mute: cmd-M
-
Bypass: cmd-B
-
MIDI/GUI toggle: opt-M
-
Convolution/Diode toggle: opt-D
-
Center Frequency: opt-C
Everything else is pretty much self-explanatory.
This is an exercise in writing a performance oriented sound app,
using
no-latency design. Therefore it will work only on
full-duplex
audio hardware (capable of simultanous synchronous playback and recording), such as RME Fireface or M-Audio Audiophile 24/96, and luckily, many more nowadays.
Else it will display error messages and quit.
If you'd like to try it on the built-in (non full-duplex) audio, you may have to download and install a software aggregate device, such as
Cycling74 Soundflower.
There are still a couple of rough details waiting to be polished. Hope to have the complete
version of the program with source-code posted soon.
FAQ:
Why standalone?
-
Because it's the cleanest, minimalistic method for achieving no latency.
-
Because it is designed to be a standalone concert instrument, not a plug-in.