libcm Reference Documentation

1 Prerequisites:

Fedora: sudo dnf install fftw fftw-devel atlas atlas-devel alsa-lib alsa-lib-devel

2 cm Classes And API’s

2.0.1 Foundation classes used throughout the cm library.

base git Foundation classes and API’s
cmRptFile git The cmRptFile provides a cmRpt class which outputs to a file.
cmPP_NARG git Var-args argument counter.
cmSerialize git An API for serializing data structures into byte streams and then deserializing them back into data structures.
cmMem git Implements a memory allocation manager interface.
cmPrefs git Manage persistent application preferences.
cmFile git File abstraction class.
cmComplexTypes git Constants and functions used for working with complex values.
cmErr git Format error messages and track the last error generated.
cmMallocDebug git Implements an extended memory allocation and tracking manager.
cmPrefix git Global prefix header for the ‘cm’ library. Currently empty.
cmRpt git The cmRpt class provides console style output for all objects in the cm system.
cmFloatTypes git Declare the types cmReal_t and cmSample_t and define some useful limits.
cmLinkedHeap git Implements a block based memory heap manager.
cmGlobal git This is the globally included prefix file for all ‘cm’ files.
cmCtx git Global application context record.
cmSymTbl git Symbol table object.
cmPgmOpts git Command line argument description and parsing API.
audio git Description
cmFrameFile git File reader and writer for time series data as used by cmFeatFile
cmAudioPort git Cross platform audio device interface.
cmFeatFile git Audio file acoustic feature analyzer and accompanying file reader.
cmApBuf git Thread safe audio buffer class.
cmAudioSysMsg git Constrants and data structures used to communicate messages to and from cmAudioSys
cmAudioSys git This is the kernel of a real-time audio processing engine.
cmAudioPortFile git This is an audio device driver for cmAudioPort which supports reading and writing audio files as though they are real-time devices.
cmAudioNrtDev git Audio device driver which generates the callbacks to run cmAudioPort in a non-real time mode.
cmDevCfg git A class for managing persistent device configuration information.
cmAudioFileMgr git Manages a collection of audio files and maintains downsampled copies of their signals.
cmAudioFile git Read and write AIFF and WAV audio files.
cmAudLabelFile git Read and write Audacity label files.
cmGrPlotAudio git Override a cmGrPlotObj to make an efficient audio plot object.
cmAudioFileDev git Implements cmAudioFileDev for reading and writing audio files under control of cmAudioPort.
cmOnset git Musical event onset detector.
cmSdb git Musical instrument sample database manager and synthetic sequence generator.
midi git Description
cmMidiFilePlay git Device indepenent MIDI file player.
cmMidiPort git Device independent MIDI port related code.
cmMpParser git MIDI event parser converts raw MIDI events into cmMidiPacket_t messages.
cmMidiPort git Device independent MIDI port.
cmMidiFile git MIDI file reader and writer.
cmMidi git MIDI utility constants and functions.

2.0.4 File readers and writers.

file git Description
cmSvgWriter git SVG file writer.
cmFileSys git A collection of file system utility functions.
cmFrameFile git File reader and writer for time series data as used by cmFeatFile
cmCsv git Comma seperated value file reader and writer.
cmFeatFile git Audio file acoustic feature analyzer and accompanying file reader.
cmXml git XML file reader.
cmFile git File abstraction class.
cmAudioPortFile git This is an audio device driver for cmAudioPort which supports reading and writing audio files as though they are real-time devices.
cmTagFile git Read a ‘ctags’ output file.
cmMidiFile git MIDI file reader and writer.
cmAudioFileMgr git Manages a collection of audio files and maintains downsampled copies of their signals.
cmJson git JSON reader and writer
cmAudioFile git Read and write AIFF and WAV audio files.
cmAudLabelFile git Read and write Audacity label files.
cmAudioFileDev git Implements cmAudioFileDev for reading and writing audio files under control of cmAudioPort.
cmDspPgmJsonToDot git Convert a JSON graph description to a DOT vector graphics file.
text git Description
cmTextTemplate git Generate text using templates with replaceable variables.
cmStrStream git String stream text sink.
cmLex git User configurable lexer for tokenizing text files.
cmText git Text processing functions.
container git Description
cmDListTpl git Template ‘include’ code for using cmDList as a template.
cmDList git Dynamic generic array with user programmable indexing and sorting capablity.
cmHashTbl git Hash table for storing arbitary data blobs.
cmStack git Push-down stack data structure for binary blobs.
cmArray git Dynamic array container class.
math git Description
cmComplexTypes git Constants and functions used for working with complex values.
cmMath git Math utility functions
cmVectOpsDocOut git Math vector operations.

2.0.8 Vector operations

vop git Description
cmVectOpsDocOut git Math vector operations.
misc git Miscellaneous vector operations.
Print git Vector printing functions.
Normalization git Normalization and standardization functions.
Mean and variance git Compute mean and variance.
Covariance git Matrix covariance
Float point normal git Evaluate the ’normalness of floating point values.
Measure git Measure features of a vector.
Distance git Calculate various vector distances.
Select columns git Select columns based on distance.
Matrix multiplication git Various matrix multiplication operations.
Linear algebra git Miscellaneous linear algebra operations. Determinant, Inversion, Cholesky decompostion. Linear system solver.
Stretch/Shrink git Stretch or shrink a vector by resampling.
Random number generation git Generate random numbers.
Signal generators git Generate periodic signals.
Exponential conversion git pow() and log() functions.
dB Conversions git Convert vectors between dB,linear and power representations.
DSP Windows git DSP windowing functions.
DSP Filters git DSP filtering functions.
Spectral Masking git A collection of spectral masking functions.
Machine learning git K-means clustering and Viterbi algorithms.
Graphics git Graphics related algorithms.
Miscellaneous DSP git Common DSP algorithms.
Matrix ops git Common 2D matrix operations and accessors.
Fill,move,copy git Basic data movement and initialization.
Shrink/Expand/Replace git Change the size of a vector.
Rotate/Shift/Flip/Sequence git Modify/generate the vector sequence.
Arithmetic git Add,Sub,Mult,Divde
Sum vectors git Operations which take sum vector elements.
Min/max/median/mode git Simple descriptive statistics.
Compare/Find git Compare, find, replace and count elements in a vector.
Absolute value git Absolute value and signal rectification.
Filter git Apply filtering to a vector taking into account vector begin/end conditions.
Edit distance git Calculate the Levenshtein edit distance between vectors.

2.0.9 Multi-threading and parallel processing.

parallel git Description
cmTaskMgr git Task manager for controlling and monitoring tasks running in independent thread.
cmThread git Threads and thread safe containers.
cmThreadMutex git Thread mutex object.
cmTsQueue git Thread safe message queue.
cmTs1p1c git Single producer/Single consumer non-blocking thread safe queue.
cmThCAS git Non-blocking primitive operations.
cmMp1c git Multiple producer, single consumer non-blocking thread-safe queue.
network git Description
cmUdpPort git UDP socket interface class.
cmRtNet git rtSys networking component.
cmVirtNet git Wrapper object for cmUdpNet to handle UDP network communications.
cmUdpNet git UDP based network object.

2.0.11 Operating system interface classes.

system git Description
cmLib git Manage shared-libraries and query them for known symbols.
cmFileSys git A collection of file system utility functions.
cmFile git File abstraction class.
cmTime git Time cand clock related functions.
cmKeyboard git Query and get keypresses directly from the console.
cmSerialPort git Serial port interface.
time git Description
cmTime git Time cand clock related functions.
cmSleep git Sleep related functions.
rt git Description
cmAudDspLocal git Implementation of the audio DSP interface for local, in-memory, communication.
cmAudioPort git Cross platform audio device interface.
cmApBuf git Thread safe audio buffer class.
cmAudioSys git This is the kernel of a real-time audio processing engine.
cmAudDspIF git Virtual interface to the audio DSP system.
cmAudioPortFile git This is an audio device driver for cmAudioPort which supports reading and writing audio files as though they are real-time devices.
cmAudioNrtDev git Audio device driver which generates the callbacks to run cmAudioPort in a non-real time mode.
cmAudDsp git Supports a serialized interface to an internal instance of cmAudioSys and cmDspSys.
cmSerialPort git Serial port interface.
cmAudioFileDev git Implements cmAudioFileDev for reading and writing audio files under control of cmAudioPort.
cmAudioAggDev git Audio device driver for cmAudioPort which aggregates multiple hardware devices to appear as a single devices.
analysis git Description
cmFeatFile git Audio file acoustic feature analyzer and accompanying file reader.
plot git Description
cmSvgWriter git SVG file writer.
cmGrPage git Device independent plotting window with one or more plot views.
cmGrView git Device independent plotting view.
cmGrAxis git Device independent plotting axis.
cmGr git Low level device independent API for descibing interactive graphics objects.
cmGrPlot git Device indenpendent, multi-axis, interactive, plotting system based on cmGrPage, cmGrAxis and cmGr.
cmGrDevCtx git Device independent graphics context object used by cmGr.
cmGnuPlot git Interface to GNU Plot.
cmGrPlotAudio git Override a cmGrPlotObj to make an efficient audio plot object.
cmDspPgmJsonToDot git Convert a JSON graph description to a DOT vector graphics file.

2.0.16 Demo functions.

demo git Description
cmMain git Template ‘main.c’ for ‘libcm’ based program

2.0.17 ‘proc’ library modules.

proclib git Description
cmProcObj git Base class for all ‘proc’ objects.
cmProc4 git Processor Library 4
cmProc3 git Processor Library 3
cmProc5 git Process Library 5
cmProc2 git Processor Library 2
cmProc git Processor Library 1

2.0.18 ‘proc’ classes.

proc git Description
cmSyncRecd git Generate time-alignment data between an audio and MIDI file. See cmDspSyncRecd_t.
cmEditDist git Simplified string alignment function based on Levenshtein edit distance.
cmScoreMatch git Event oriented local score matching algorithm based on edit distance.
cmScoreMatcher git MIDI score following algorithm based cmScoreMatch.
cmScMeas git Measure and report some differences between the score and the performance.
cmScMod git Store and recall parameter information under score follower control.
cmRecdPlay git Record fragments of audio, store them,and play them back at a later time.
cmPitchShift git Time-domain pitch shifter based on sample rate conversion.
cmLoopRecord git Audio interactive loop recorder.
cmGateDetector git Detect when a signal onsets and offsets.
cmGateDetector2 git Improved gate detector to detect when a signal onsets and offsets.
cmAutoGain git Automatically balance a set of audio signals by adjusting their level.
cmChCfg git Configure a ‘fluxo’ pickup channel.
cmChordDetector git Chord detector based on evaluating signals from cmGateDetector2.
cmXfader git Audio cross fade controller.
cmFader git Fade in/out an audio signal based on the state of a gate control signal.
cmCombFilt git Comb and Inverse Comb filter algorithm with a variable fractional delay.
cmDcFilt git DC Filter algorithm.
cmIDelay git Variable interpolating fractional audio delay line.
cmGroupSel git Assign channel to dynamic groups under gate control.
cmAudioNofM git Route N of M possible input channels to N output channels under gate control.
cmAdsr git ADSR audio evelope generator.
cmCompressor git Audio dynamics compressor algorithm.
cmBiQuad git General purpose Biquad filter algorithm.
cmDistDs git Guitar style distortion effect.
cmGoertzel git Goertzel tone detection filter.
cmGoldCode git Gold code random generator.
cmPhat git Phase-aligned transform for generalized cross correlator.
cmReflectCal git Calculate the time of flight of Gold code acoustic reflections.
cmNlms git Normalized least mean squares echo canceller.
cmSeqAlign git Align two sequences where each sequence is composed of records with varying numbers of features.
cmArray git Expandable array designed to work easily with the cmProcObj model
cmAudioFileWr git Audio file writer
cmMatrixBuf git Store and recall real values in matrix form.
cmSigGen git Generate periodic and noise signals.
cmDelay git Fixed length audio delay.
cmFIR git Finite impulse response filter.
cmFuncFilter git Apply a generic function to a windowed signal with a one sample hop size..
cmDhmm git Discrete observation HMM
cmConvolve git Convolve a signal with an impulse response.
cmBfcc git Generate Bark Frequency Cepstral Coefficients from STFT frames.
cmCepstrum git Generate Cepstral Coefficients from STFT frames.
cmOla git Generate a signal from an via overlap-add.
cmPhsToFrq git Given STFT phase spectrum frames return the instantaneous frequency.
cmPvAnl git Perform the phase-vocoder analysis stage.
cmPvSyn git Perform the phase-vocoder synthesis stage.
cmMidiSynth git Synthesis independent MIDI synthesizer control structure.
cmWtVoice git Wavetable oscillator implementation for use with cmMidiSyn.
cmWtVoiceBank git A bank of cmWtVoice oscillator for use with cmMidiSynth.
cmAudioFileBuf git Generate a signal by caching all or part of an audio file.
cmMDelay git Multi-tap audio delay with feedback.
cmAudioSegPlayer git Buffer and playback an arbitrary number of audio signals.
cmNmf git Non-negative matrix factorization implementation.
cmVectArray git Store and recall arrays of arbitrary length numeric vectors.
cmWhFilt git Spectral whitening filter.
cmFrqTrk git Track sinusoids from STFT frame data.
cmFbCtl git Perform acoustic feedback control by attenuating loud sinusoid signals.
cmExpander git Expander implementation for audio dynamics processing.
cmExpanderBank git Bank of audio dynamics expanders based on cmExpander.
cmSpecDist git Spectral distortion algorithm based on non-linear transform.
cmSpecDist git Spectral distortion 2 algorithm based on non-linear transform.
cmBinMtxFile git Write a binary matrix which can be read by readBinFile.m.
cmProcTest git Some obsolete test stub functions. See the cmtools project for a complete set of test and example functions.
cmAudioFileRd git Audio file reader based on cmAudioFile
cmShiftBuf git Audio shift buffer processor
cmWindowFunc git Fourier Transform window function generator.
cmSpecDelay git Spectral frame delay. A circular buffer for spectral (or other fixed length) vectors.
cmFilter git General purpose, LTI, Octave compatible, filter.
cmComplexDetect git Complex domain onset detection function.
cmComplexOnset git Complex onset detection function
cmMfcc git Mel Frequency Cepstral Coefficient (MFCC) measurement function.
cmSones git Sones measurement function.
cmAudioOffsetScale git Audio signal pre-processing normalizer.
cmSpecMeas git Measure a signals RMS, High-Frequency Content, Spectral Centroid, and Spectral Spread.
cmSigMeas git Measure a time domain signals zero crossing rate.
cmSRC git Sample rate converter
cmConstQ git Contant-Q transform.
cmTuneHpcp git Generate a tuned chromagram.
cmBeatHist git Generate a beat candidate histogram.
cmGmm git Gaussian Mixture Model containing N Gaussian PDF’s each of dimension D.
cmChmm git Continuous Hidden Markov Model
cmChord git HMM based chord recognizer.
model git Description
cmRbm git Restricted Bolzmann Machine object.
cmGmm git Gaussian Mixture Model containing N Gaussian PDF’s each of dimension D.
cmChmm git Continuous Hidden Markov Model

2.0.20 Improved real-time system.

rtsys git Description
cmUiRtSysMstr git Application side API for communicating with the UI audio master controls and meters.
cmRtSysMsg git rtSys message contants and data structures.
cmRtNet git rtSys networking component.
cmRtSys git Improved real-time audio processing engine.
cmUiDrvr git UI independent driver used by an rtSys application to communicate with the UI.
fluxo git Description
cmAutoGain git Automatically balance a set of audio signals by adjusting their level.
cmChCfg git Configure a ‘fluxo’ pickup channel.
cmPickup git ‘fluxo’ channel calibration and gain normalization program.
cmDspPgmPP git ‘fluxo’ ‘snap’ programs.
cmDspFx git Large collection of real-time audio processing dataflow class descriptions originally developed for ‘fluxo’.
cmDspPgm_Pickups0 git ‘fluxo’ with loop-record, echo, rectify, and pitch-shift.
cmDspPgm_AutoGain git ‘fluxo’ channel calibration program.
cmDspPgm_PickupFxFile git ‘fluxo’ noise shapers.
cmDspPgm_NoiseTails git ‘fluxo’ noise shapers.
cmDspPgm_NoiseTails2 git ‘fluxo’ noise shapers.
cmDspPgmPPMain git ‘fluxo’ implementation header.
cmDspNoteSelect git ‘fluxo’ gate based logic controller.
cmDspNetNoteSelect git ‘fluxo’ transmit gate information over the UDP network.
gutim git Description
cmDspPgmKrChain git Signal processing chain implementation for ‘GUTIM’.
cmDspKr git Spectral non-linear distortion effect.
cmDspKr2 git Spectral non-linear distortion effect.
cmDspTimeLine git Time line user interface unit.
cmDspScore git Musical score user interface unit.
cmDspMidiFilePlay git MIDI file player.
cmDspScFol git MIDI performance score follower.
cmDspScMod git Score driven parameter automation.
cmDspGSwitch git Route all inputs to one of a group of outputs.
cmDspScaleRange git Offset and scale a scalar value.
cmDspActiveMeas git Issue stored parameter values at specified score locations.
cmDspAmSync git Calculate MIDI to Audio latency offsets.
cmDspNanoMap git Control a MIDI synth.
cmDspPicadae git Control the Picadae piano mechanism.
cmDspRecdPlay git Record audio segments from a live perfromance and play them back at a later time
cmDspGoertzel git Goertzel tone detection filter
cmDspSyncRecd git Time align a MIDI and associated audio recording
cmDspTakeSeqBldr git User interface unit for creating a single sequence from multiple, score aligned, MIDI fragments.
cmDspTakeSeqRend git User interface unit for graphically rendering the MIDI sequences created by cmDspTakeSeqBldr.
cmDspReflectCalc git Estimate the time-of-flight of from an acoustic signal from a speaker to a microphone.
cmDspEchoCancel git Normalized least mean squares echo canceller.
cmDspPgmKr git Dataflow pgm interfaces for ‘GUTIM’.
cmDspKr git Dataflow process interface developed for GUTIM.
score git Description
cmScore git Object for managing musical score data.
cmXScore git Process a Music XML score in a variety of ways.
cmMidiScoreFollow git Score follow a MIDI files.
cmScoreProc git Programs for processing cmScore and peformane data.
cmScoreMatchGraphic git Implements the functionality of cmMidiScoreFollowMain().
seq git Description
cmTimeLine git Manage, save, and restore a time-line containing MIDI files, Audio files, Audio events, and arbitrary markers .
cmScoreProc git Programs for processing cmScore and peformane data.
cmTakeSeqBldr git Concatenate multiple overlapping MIDI performances into a single virtual performance by associating score information with the MIDI events.

2.0.25 Dataflow system classes.

snap git Description
cmDspPgmKrChain git Signal processing chain implementation for ‘GUTIM’.
cmDspBuiltIn git Dataflow built-in process interface.
cmDspUi git Dataflow UI interfaces.
cmDspKr git ‘snap’ audio effects performance analysis units.
cmDspFx git Large collection of real-time audio processing dataflow class descriptions originally developed for ‘fluxo’.
cmDspPgmKr git Dataflow pgm interfaces for ‘GUTIM’.
cmDspPgmKrTimeLineLite git ‘snap’ Performance analysis Simplified Time Line program.
cmDspKr git Dataflow process interface developed for GUTIM.
cmDspStore git ‘snap’ global variable interface used by units for getting and setting global variables.
cmDspPgm git ‘snap’ programs.
cmDspBuiltIn git Built-in ‘snap’ processor units.
cmDspValue git ‘snap’ variable value class.
cmDspCtx git Dataflow global context interface.
cmDspClass git ‘snap’ unit processor interface.
cmDspFx git ‘snap’ audio effects processor units.
cmDspPgmKr git ‘snap’ Performance analysis Time Line program.
cmDspPreset git ‘snap’ unit state store/recall implementation.
cmDspSys git Host application interface to the ‘snap’ data flow system.
cmDspPgm git Dataflow program instance interface.
cmDspPgmKrTimeLineLiteAf git ‘snap’ Performance analysis Simplified Time Line program.
cmDspNet git ‘snap’ distributed host UDP networking implementation.

2.0.26 Dataflow processesing units.

sunit git Description
cmDspPgmPP git ‘fluxo’ ‘snap’ programs.
cmDspKr git Spectral non-linear distortion effect.
cmDspKr2 git Spectral non-linear distortion effect.
cmDspTimeLine git Time line user interface unit.
cmDspScore git Musical score user interface unit.
cmDspMidiFilePlay git MIDI file player.
cmDspScFol git MIDI performance score follower.
cmDspScMod git Score driven parameter automation.
cmDspGSwitch git Route all inputs to one of a group of outputs.
cmDspScaleRange git Offset and scale a scalar value.
cmDspActiveMeas git Issue stored parameter values at specified score locations.
cmDspAmSync git Calculate MIDI to Audio latency offsets.
cmDspNanoMap git Control a MIDI synth.
cmDspPicadae git Control the Picadae piano mechanism.
cmDspRecdPlay git Record audio segments from a live perfromance and play them back at a later time
cmDspGoertzel git Goertzel tone detection filter
cmDspSyncRecd git Time align a MIDI and associated audio recording
cmDspTakeSeqBldr git User interface unit for creating a single sequence from multiple, score aligned, MIDI fragments.
cmDspTakeSeqRend git User interface unit for graphically rendering the MIDI sequences created by cmDspTakeSeqBldr.
cmDspReflectCalc git Estimate the time-of-flight of from an acoustic signal from a speaker to a microphone.
cmDspEchoCancel git Normalized least mean squares echo canceller.
cmDspPrinter git Console printing unit.
cmDspCounter git Counter unit.
cmDspPhasor git Ramp signal generator.
cmDspSigGen git Programmable periodic and noise signal generator.
cmDspMidiIn git MIDI input port.
cmDspMidiOut git MIDI output port.
cmDspAudioIn git Audio input port.
cmDspAudioOut git Audio output port.
cmDspAudioFileOut git Audio output port which is sent to an audio file.
cmDspScalar git User interface unit which represents a single scalar value.
cmDspText git User interface unit which allows text input.
cmDspMeter git User interface progress bar which displays the current value of a scalar variable.
cmDspLabel git User interface unit which displays read-only text.
cmDspButton git User interface sends a user defined value from a graphic button press.
cmDspCheckbox git Graphic checkbox user interface unit.
cmDspReorder git Collect inputs in any order and transmit them in a defined order.
cmDspFname git User interface file or directory name input unit.
cmDspMsgList git User interface list unit.
cmDspWavetable git Programmable wavetable unit.
cmDspSprintf git Printf like string formatting unit.
cmDspAMix git Audio mixer.
cmDspASplit git Audio splitter with individual gain control.
cmDspAMeter git Audio level meter.
cmDspTextFile git Create text files which can be read by the Octave function cmTextFile.m.
cmDspArray git Read in a symbol/value list from a resource and selectively transmit values.
cmDspPitchCvt git Convert between MIDI,scientific pitch, and pitch ratio values.
cmDspBinMtx git Create a file which can be read by the Octave function readBinFile.m.
cmDspShiftBuf git Real-time shift buffer.
cmDspNetSend git Transmit a value to a remote ‘snap’ host over the ‘snap’ UDP network.
cmDspRsrWr git Set a ‘snap’ resource value.
cmDspBinEnc git HRTF binaural encoder.
cmDsp2d git Two dimension graphic user interface controller.
cmDspDelay git Simple audio delay with feedback.
cmDspMtDelay git Multi-tap audio delay with feedback.
cmDspPShift git Time-domain pitch shifter.
cmDspLoopRecd git Loop recorder.
cmDspRectify git Full-wave rectifier.
cmDspGateDetect git Track the onset and offset of an incoming signal.
cmDspAutoGain git Normalize a set of audio input signals to acheive a consistent level.
cmDspEnvFollow git Generate a control signal from by analyzing the power envelope of an incoming audio signal.
cmDspXfader git Gate controlled fader bank.
cmDspChCfg git Configure a ‘fluxo’ channel.
cmDspChordDetect git Detect a predefined chord based on signal gates.
cmDspFader git Single channel gate controlled fader.
cmDspNoteSelect git ‘fluxo’ gate based logic controller.
cmDspNetNoteSelect git ‘fluxo’ transmit gate information over the UDP network.
cmDspCombFilt git Comb and Inverse comb filter.
cmDspScalarOp git Perform arithmetic functions on scalar values.
cmDspGroupSel git Select one group of audio channels from a set of audio channel groups.
cmDspNofM git Select N channels from a set of M channels based on their current gate states.
cmDspRingMod git Ring modulator.
cmDspMsgDelay git Delay an arbitrary value.
cmDspLine git Programmable line generator.
cmDspAdsr git ADSR envelope generator.
cmDspAdsr git Audio dynamics compressor.
cmDspBiquad git Programmable Biquad EQ filter.
cmDspDistDs git Guitar style distortion effect.
cmDspDbToLin git Convert decibel units to linear units.
cmDspNofM2 git Pass an N of M possible inputs to the output.
cmDsp1ofN git Pass 1 or N possible inputs to the output.
cmDsp1Up git Send ‘true’ on the selected channel and ‘false’ on the deselected channel.
cmDspGateToSym git Convert a ‘true’/‘false’ gate to an ‘on’/‘off’ symbol.
cmDspPortToSym git Send a pre-defined symbol every time a message arrives a given input port.
cmDspIntToSym git Send a pre-defined symbol every time a message arrives a given input port.
cmDspRouter git Route the input value to one of multiple output ports.
cmDspAvailCh git Track active an inactive processing channels.
cmDspPreset git Store and recall preset. Show a preset list user interface unit.
cmDspBcastSym git Broadcast a symbol/value to all units registered to listen for the symbol.
cmDspSegLine git Line segment generator.

2.0.27 Dataflow built-in programs

spgm git Description
cmDspPgmKrTksb git Audio/MIDI sequencer for analyzing the score vs. the performance from user selected MIDI fragments and generating related audio transforms.
cmDspPgm_TksbLIst git A simplified version of cmDspSysPgm_Tksb.
cmDspPgm_TimeLineLite git Simplified score vs. the performance and generating related audio transforms.
cmDspPgm_ReflecCalc git Acoustic time-of-flight measurement program.
cmDspPgm_SyncRecd git Generate MIDI / Audio synchronization data with cmDspSyncRecd.
cmDspPgm_MidiFilePlay git MIDI file player example program.
cmDspPgm_Test_Midi git MIDI input/output example program.
cmDspPgm_Test_Pedals git MIDI input/output example program.
cmDspPgm_Stereo_Through git Stereo audio through example program.
cmDspSysPgm_All_In_And_Out git Meter all the input channels and pass two channels to the output.
cmDspPgm_Stereo_Fx git Stereo audio effects example program.
cmDspPgm_PlaySine git Play a sine signal.
cmDspPgm_MultiOut git Play to multiple output channels example program.
cmDspPgm_MultiIn git Multiple audio inputs example program.
cmDspPgm_GateDetect git Gate detector example program.
cmDspPgm_Record git Record audio to an audio file.
cmDspPgm_FtRecord git Record streaming audio input to an audio file.
cmDspPgm_PitchShift git Pitch-shifter example program.
cmDspPgm_LoopRecd git Loop-recorder example program.
cmDspPgm_UiTest git User Interface example program.
cmDspPgm_Xfade git Cross fader example program.
cmDspPgm_Pgm6 git Stereo strectral non-linear distortion example.
cmDspPgm_Guitar git Similiar to Pgm6.
cmDspPgm_Pickups0 git ‘fluxo’ with loop-record, echo, rectify, and pitch-shift.
cmDspPgm_AutoGain git ‘fluxo’ channel calibration program.
cmDspPgm_PickupFxFile git ‘fluxo’ noise shapers.
cmDspPgm_NoiseTails git ‘fluxo’ noise shapers.
cmDspPgm_NoiseTails2 git ‘fluxo’ noise shapers.
cmDspPgm_CombFilt git Comb filter example program.
cmDspPgm_ScalarOp git Scalar operations example program.
cmDspPgm_RingMod git Ring modulation example program.
cmDspPgm_RingMod2 git Ring modulation example program.
cmDspPgm_MsgDelay git Message delay example program.
cmDspPgm_Adsr git ADSR envelope generator example program.
cmDspPgm_Adsr git Dynamics compressor example program.
cmDspPgm_BiQuadEq git Biquad EQ example program.
cmDspPgm_DistDs git Guitar distortion example program.
cmDspPgm_Seq git Message list ‘seq’ mode example program.
cmDspPgm_ThunkNet git UDP network receiver example program.
cmDspPgm_WhirlNet git UDP network sender example program.
cmDspPgm_NofM git Select NofM example program.
cmDspPgm_1ofM git Select 1 of N example program.
cmDspPgm_Router git Router example program.
cmDspPgm_Preset git Preset save/restore example program.
cmDspPgm_RsrcWr git Set a resource value example program.
cmDspPgm_1Up git 1Up example program.
cmDspPgm_PortToSym git PortToSym example program.
cmDspPgm_IntToSym git IntToSym example program.
cmDspPgm_Line git Line generator example program.
cmDspPgm_Array git Array and pitch converter example program.
cmDspPgm_AvailCh git AvailCh and XFader example program.
cmDspPgm_Goertzel git Goertzel detector example program.
cmDspPgm_TakeSeqBldr git Take sequence builder example program.
cmDspPgm_TwoD git Two dimensional controller example program.
cmDspPgm_BinEnc git HRTF binaural encoder example program.
cmDspPgm_TimeLine git Audio/MIDI sequencer for analyzing the score vs. the performance and generating related audio transforms.
cmDspPgm_TimeLineLite git Simplified score vs. the performance and generating related audio transforms.

3 File List

H File git C File git Description
cmApBuf.h git cmApBuf.c git Thread safe audio buffer class.
cmArray.h git Dynamic array container class.
cmAudDspLocal.h git Implementation of the audio DSP interface for local, in-memory, communication.
cmCsv.h git Comma seperated value file reader and writer.
cmAudioNrtDev.h git Audio device driver which generates the callbacks to run cmAudioPort in a non-real time mode.
cmAudioPort.h git Cross platform audio device interface.
cmAudioAggDev.h git Audio device driver for cmAudioPort which aggregates multiple hardware devices to appear as a single devices.
cmComplexTypes.h git Constants and functions used for working with complex values.
cmAudioSysMsg.h git Constrants and data structures used to communicate messages to and from cmAudioSys
cmAudioSys.h git cmAudioSys.c git This is the kernel of a real-time audio processing engine.
cmAudDspIF.h git Virtual interface to the audio DSP system.
cmAudioPortFile.h git This is an audio device driver for cmAudioPort which supports reading and writing audio files as though they are real-time devices.
cmAudioBuf.h git Obsolete audio buffer class. This class is superceded by cmApBuf.
cmAudDsp.h git Supports a serialized interface to an internal instance of cmAudioSys and cmDspSys.
cmAudioFileMgr.h git Manages a collection of audio files and maintains downsampled copies of their signals.
cmCtx.h git Global application context record.
cmAudioFile.h git Read and write AIFF and WAV audio files.
cmAudLabelFile.h git Read and write Audacity label files.
cmAudioFileDev.h git Implements cmAudioFileDev for reading and writing audio files under control of cmAudioPort.
cmData.h git Generic, introspective, data structure.
cmLib.h git Manage shared-libraries and query them for known symbols.
cmJson.h git cmJson.c git JSON reader and writer
cmKeyboard.h git Query and get keypresses directly from the console.
cmLex.h git cmLex.c git User configurable lexer for tokenizing text files.
cmLinkedHeap.h git Implements a block based memory heap manager.
cmExec.h git
cmDListTpl.h git Template ‘include’ code for using cmDList as a template.
cmErr.h git Format error messages and track the last error generated.
cmDevCfg.h git A class for managing persistent device configuration information.
cmDList.h git Dynamic generic array with user programmable indexing and sorting capablity.
cmDspPgmJsonToDot.h git Convert a JSON graph description to a DOT vector graphics file.
cmDspPgmKrChain.h git Signal processing chain implementation for ‘GUTIM’.
cmDspUi.h git Dataflow UI interfaces.
cmDspBuiltIn.h git cmDspBuiltIn.c git Dataflow built-in process interface.
cmDspPgmPP.h git ‘fluxo’ ‘snap’ programs.
cmDspFx.h git cmDspFx.c git Large collection of real-time audio processing dataflow class descriptions originally developed for ‘fluxo’.
cmDspPgmKrTksb.c git Audio/MIDI sequencer for analyzing the score vs. the performance from user selected MIDI fragments and generating related audio transforms.
cmDspPgmKr.h git cmDspPgmKr.c git Dataflow pgm interfaces for ‘GUTIM’.
cmDspPgmKrTimeLineLite.c git ‘snap’ Performance analysis Simplified Time Line program.
cmDspKr.h git cmDspKr.c git Dataflow process interface developed for GUTIM.
cmDspStore.h git ‘snap’ global variable interface used by units for getting and setting global variables.
cmDspValue.h git ‘snap’ variable value class.
cmDspCtx.h git Dataflow global context interface.
cmDspPgmPPMain.h git ‘fluxo’ implementation header.
cmDspClass.h git ‘snap’ unit processor interface.
cmDspPreset.h git ‘snap’ unit state store/recall implementation.
cmDspSys.h git Host application interface to the ‘snap’ data flow system.
cmDspPgm.h git cmDspPgm.c git Dataflow program instance interface.
cmDspPgmKrTimeLineLiteAf.c git ‘snap’ Performance analysis Simplified Time Line program.
cmDspNet.h git ‘snap’ distributed host UDP networking implementation.
cmFeatFile.h git Audio file acoustic feature analyzer and accompanying file reader.
cmFileSys.h git cmFileSys.c git A collection of file system utility functions.
cmFile.h git File abstraction class.
cmFloatTypes.h git Declare the types cmReal_t and cmSample_t and define some useful limits.
cmFrameFile.h git File reader and writer for time series data as used by cmFeatFile
cmGlobal.h git This is the globally included prefix file for all ‘cm’ files.
cmGnuPlot.h git Interface to GNU Plot.
cmMsgProtocol.h git Global constants and data structures for transmiting messages between threads and network nodes.
cmGrPage.h git Device independent plotting window with one or more plot views.
cmMidiFilePlay.h git Device indepenent MIDI file player.
cmMem.h git Implements a memory allocation manager interface.
cmMidiPort.h git Device independent MIDI port related code.
cmMath.h git Math utility functions
cmGr.h git Low level device independent API for descibing interactive graphics objects.
cmMain.c git Template ‘main.c’ for ‘libcm’ based program
cmMallocDebug.h git Implements an extended memory allocation and tracking manager.
cmGrPlot.h git Device indenpendent, multi-axis, interactive, plotting system based on cmGrPage, cmGrAxis and cmGr.
cmGrDevCtx.h git Device independent graphics context object used by cmGr.
cmGrPlotAudio.h git Override a cmGrPlotObj to make an efficient audio plot object.
cmHashTbl.h git Hash table for storing arbitary data blobs.
cmMidiFile.h git MIDI file reader and writer.
cmMidi.h git MIDI utility constants and functions.
cmMidiScoreFollow.h git Score follow a MIDI files.
cmOnset.h git Musical event onset detector.
cmPickup.h git ‘fluxo’ channel calibration and gain normalization program.
cmPrefs.h git Manage persistent application preferences.
cmProc3.h git Processor Library 3
cmPrefix.h git Global prefix header for the ‘cm’ library. Currently empty.
cmProc2.h git Processor Library 2
cmPgmOpts.h git Command line argument description and parsing API.
cmProc4.h git Processor Library 4
cmPP_NARG.h git Var-args argument counter.
cmProc5.h git Process Library 5
cmProc.h git Processor Library 1
cmProcObj.h git Base class for all ‘proc’ objects.
cmRptFile.h git The cmRptFile provides a cmRpt class which outputs to a file.
cmRtSysMsg.h git rtSys message contants and data structures.
cmRtNet.h git rtSys networking component.
cmRtSys.h git Improved real-time audio processing engine.
cmRpt.h git The cmRpt class provides console style output for all objects in the cm system.
cmProcTest.h git Some obsolete test stub functions. See the cmtools project for a complete set of test and example functions.
cmRbm.h git Restricted Bolzmann Machine object.
cmScore.h git Object for managing musical score data.
cmScoreProc.h git Programs for processing cmScore and peformane data.
cmScoreMatchGraphic.h git Implements the functionality of cmMidiScoreFollowMain().
cmSdb.h git Musical instrument sample database manager and synthetic sequence generator.
cmSerialize.h git An API for serializing data structures into byte streams and then deserializing them back into data structures.
cmStrStream.h git String stream text sink.
cmStack.h git Push-down stack data structure for binary blobs.
cmSerialPort.h git Serial port interface.
cmSvgWriter.h git SVG file writer.
cmSymTbl.h git cmSymTbl.c git Symbol table object.
cmSyncRecd.h git Generate time-alignment data between an audio and MIDI file. See cmDspSyncRecd_t.
cmTextTemplate.h git Generate text using templates with replaceable variables.
cmTime.h git Time cand clock related functions.
cmTaskMgr.h git Task manager for controlling and monitoring tasks running in independent thread.
cmThread.h git Threads and thread safe containers.
cmTagFile.h git Read a ‘ctags’ output file.
cmText.h git Text processing functions.
cmTimeLine.h git Manage, save, and restore a time-line containing MIDI files, Audio files, Audio events, and arbitrary markers .
cmTakeSeqBldr.h git Concatenate multiple overlapping MIDI performances into a single virtual performance by associating score information with the MIDI events.
cmUdpNet.h git UDP based network object.
cmUdpPort.h git UDP socket interface class.
cmUi.h git UI control manager for rtSys.
cmUiDrvr.h git UI independent driver used by an rtSys application to communicate with the UI.
cmUiRtSysMstr.h git Application side API for communicating with the UI audio master controls and meters.
cmVirtNet.h git Wrapper object for cmUdpNet to handle UDP network communications.
cmVectOpsDocOut.h git Math vector operations.
cmXScore.h git Process a Music XML score in a variety of ways.
cmXml.h git XML file reader.