Macaque is an application for conversion of SDIF files (generated by applications such as SPEAR orAudioSculpt) into sheet music. In contrast to older versions, Macaque has now been integrated with the MaxScore Editor into a patch called Macaque Environment. The modular environment (see screenshot below) permits greater flexibility in terms of music notation and audio recording.
You’ll find the patch in [Max folder]/packages/MaxScore/patchers/environments.
Figure: The Macaque Environment
Figure: Macaque has three panes two of which can be collapsed.
Macaque is using MaxScore to generate and display:
1. transcription of sinusoidal tracks
2. Display of the harmonic content of selected frames
3. Rhythm and pitch detection via segmentation of the sum-of-amplitude curve (modes are rhythm, fundamental, lowest pitch, salient pitch, centroid, centroid nearest neighbor, and chord). For segmentation you can set markers manually, automatically or import them from AudioSculpt.
Figure: Transcribed rhythm with salient pitches
Figure: Transcribed sinusoidal tracks
Macaque has three panes of which the top one sports four views titled Main, Curves, Speed, Preferences
The Main view shows the spectral display and a number of buttons which are more or less self-explanatory. The most interesting feature, though, is probably the ability to sync-play the SDIF with the transcribed score.
A graphical function editor, visible in Curves view, allows the time-dependent manipulation of various parameters such as amplitude, temporal trajectory, spectral stretching and transposition, while a separate tempo curve can be set in Speed view.
In Preferences a number of parameters can be set for which the following explanations can serve as a brief introduction:
Number of relevant tracks lets you reduce the track number that MIDIfication takes into consideration. Can speed up computation and has a certain impact on the result.
Pitch tolerance refers to the vertical granularity of the transcription. With a value of 100 cent, pitches that subsequently fall into this interval are considered to belong to the same MIDI track and are therefore sustained. If you want to transcribe a glissando make this value as small as possible, otherwise the glissando might only appear as a long sustained note.
MIDI Velocity Tolerance has an analog function: If within a MIDI track velocity raises beyond a certain value, create a separate note event, otherwise assume a sustained note.
Velocity (First value/average): Before assigning partial tracks to MIDI tracks Macaque first calculates the relevance (its rank) of a partial track by looking at its velocity. Depending on the nature of the sound (exponentially decaying or sustained), one would look either at the first velocity for a given partial track or at its average value.
Velocity 0 equals dB: This dB value constitutes a threshold under which no note-on event i created.
Attractor Size: Macaque is performing a partial tracking analysis of its own kind: Since the maximum number of MIDI tracks is 32, the algorithm tries to merges partial tracks with pitches that fall within the interval given by attractor size, provided that there is a gap in the MIDI track. Or splits a track if it contains leaps that are larger than Attractor Size.
Synthesis: Partial tracks are read and played back at the given time interval
MIDIfication with …: MIDI tracks are quantized according to the given time interval. The menu lets you set the subdivision of a beat whose tempo is given in the bottom right hand corner.
Filter out amplitudes below: Filter individual partials if they fall below a given threshold. This will be applied both to playback and MIDIfication
Quarter Tones: Notate non-tempered pitches if checked
Transcribe Dynamics: Add dynamic marking if checked; repeated dynamics will be filtered up to a rest or beginning of a new track.
Tempo: to be displayed in the score
Time Signature: to be displayed in the score
Spectral Display Label: Type of label to given to the pitches of the spectrum pane (center). Choose between Hz, MIDI cents and cent deviations.
Beat division scheme: Subdivisions of a beat considered by the MaxScore transcriber. See MaxScore help patch for further explanations.
Presets: There are 6 slots to which presets can be stored. They can also be written to and read from file via the Save and Open buttons.