synthpanel(1) synthpanel(1) NAME synthpanel - 16 channel MIDI control panel SYNOPSIS synthpanel [-nofork] DESCRIPTION synthpanel manages all 16 MIDI channels in a compact grid of 16 rows. It also provides an interface through which synthesizer preset banks may be added and selected for use with midisynth(1). On startup, synthpanel polls the internal software synthesizer for its configuration. Since MIDI includes minimal provisions for query, synthpanel is unable to poll external MIDI devices. You can also use synthpanel to monitor MIDI data played by soundplayer. MENUS Admin Menu Currently contains only the Exit command. MIDI Menu Commands related to MIDI events. Contains: Input Interfaces submenu Contains a menu item for each available, configured MIDI output port. Only one output port may be selected at a time. All Notes Off command Sends a GM All Notes Off message on all 16 channels via the current output port. Reset All Controllers command Sends a GM Reset All Controllers message on all 16 channels via the current output port. Restart Synthesizer command Causes midisynth to terminate immediately; a question dialog will ask if you wish to restart it. This is a brute-force technique, and should be reserved for emergency use. The previous two commands and the All Sound Off button are usually sufficient. Synth System Reset command Sends the equivalent of the standard MIDI System Reset message. This resets midisynth to its startup state and purges all loaded banks, presets and sample files. Options Menu Synth Startup Configuration... command Brings up the MIDISynth Startup Configuration Panel, allowing you to customize the startup configuration file for midisynth and save the result to your home directory as .midisynthrc. Changes made to the Panel settings and to this file will not affect the currently running synthesizer; use the above-described Restart Synthesizer command to restart with the new settings. Synth Runtime Parameters... command Brings up the Run Time Parameters Panel, allowing you to set the Main Transpose, Main Tune, Reverberation, and Chorus parameters for the internal synthesizer. These parameters are set via system exclusive MIDI events, and will not affect external MIDI devices. Reverberation choices simulate four rooms of varying size. Reverb decay time, tone, and effects mix ratio may be varied for each room type. General MIDI Preset Mode toggle. This sends a Universal System Exclusive MIDI message which toggles the General MIDI mode setting of any synthesizer which understands the message. Sounds Menus Commands for opening directories in order to view MIDI files, synthpreset(4) files, and sound files. MIDI Songs command Brings up a dirview(1) showing the contents of the directory /usr/share/data/music, which is where the sample MIDI data files are stored. Double-clicking on any MIDI file icon will bring up soundplayer(1), which will play the MIDI file via midisynth(1). Presets submenu Each menu item brings up a dirview(1) showing the contents of the various subdirectories under /usr/share/data/sounds/synth/presets, which is where the preset files used by the internal synthesizer are stored. The two commands are General MIDI (GM presets) and Golden Analog (example presets which attempt to immitate analog synthesizer sounds). Sound Files submenu Each menu item brings up a dirview(1) showing the contents of the various subdirectories under /usr/share/data/sounds/synth/soundfiles, which is where the sample soundfiles used by the internal synthesizer are stored. The four commands are General MIDI Sound Set (sounds for GM presets), General MIDI Percussion Map (sounds for percussion preset), Cycles (waveform sounds for LFOs), and Prosonus Sampler (additional demonstration sample sounds). Utilities Menu Commands for starting up other useful audio and/or MIDI applications. Audio Control Panel Invokes apanel(1) Synthesizer Editor Invokes the new syntheditor(1) tool MIDI Keyboard Invokes midikeys(1) SoundPlayer Invokes soundplayer(1) MAIN PANEL LAYOUT CHANNEL DISPLAY PANEL Each channel row contains: MIDI Input Activity Indicator The indicator flashes on receipt of any MIDI event except System Exclusive, Common and Real-Time events. The light does not hold for the duration of a note. Rather, it flashes briefly for each Note On and Note Off event. Channel Activator Button This determines whether the internal synthesizer generates sounds on a particular channel. Play Button (note# 60 or C4) Pressing this button will send a Note On event on the selected channel at maximum velocity (127). Releasing it sends the corresponding Note Off. The pitch cycles through four octaves of the note 'C', changing with each button press. Preset Icon Drop Pocket Dragging a synthpreset(4) file into this pocket will cause that preset to be loaded on the chosen channel. For the internal synthesizer, this operation can be done independent of the General MIDI mode and of the current preset bank: Any arbitrary preset from any directory may be used. Preset icons will not change presets on external MIDI devices unless you operate in General MIDI mode, in which case synthpanel attempts to extract a number from the beginning of a file name and transmit that number as a MIDI program change. See the section PRESET FILE NAMING CONVENTIONS in the synthpreset(4) man page for more information on this. Preset Number Typing a number between 1 and 128 in the text entry field following by the <return> key will cause synthpanel to send a program change event on the corresponding channel for that number. Note that this is very different than dropping presets in the pocket: The resulting preset will be the corresponding entry in the current preset bank. If that bank is a General MIDI bank, the preset will match the GM specification for that number. For example, preset #73 is the Flute preset. If the current bank is not a GM bank and does not contain a preset for the number entered, the resulting preset will be the lowest available value from the bank (usually preset 1). If no number is entered in the text entry field, and the <return> key is pressed, synthpanel will instruct midisynth to load the Default preset: One Sawtooth-wave oscillator with two detuned siblings, controlled by one amplitude envelope with a zero-second rise time one-second decay time, and no sustain. See the synthpreset(4) man page for details. Preset Name Label This label displays the name of the current preset. For synthpreset(4) files, this will be the value of the Name: string in the Information section, if present, otherwise synthpanel will create a name from the file name by clipping off the number prefix, if present, and the ".preset" suffix, if present. For other types of preset files, such as those found in preset bank files, the name is extracted from the appropriate data in the file. THE 'MORE' PANEL The More/Less Arrow Button expands the channel layout to include MIDI Pan, Volume and Expression indicators. Actual MIDI channel volume is calculated by multiplying the Volume and Expression and dividing by 16129 (127 squared). This follows the General MIDI Level 1 Specification. Standard practice dictates that the default level for the Volume should be 100 and should be 127 for the Expression. THE PRESET BANKS PANEL The Show/Hide Banks Arrow Button expands the main panel to include an additional panel with eight rows. Each row contains: Bank Number and Select Button Each button is labeled with the index number of this preset bank. Selecting a bank un-selects all other banks and causes all subsequent program change messages to use presets from this bank. Currently-selected presets will remain unchanged until a program change message is sent on that preset's channel (or a new preset is dropped into the Preset Drop Pocket). Bank Drop Pocket Dragging either a directory or a SoundFont2-compatible preset bank file into this pocket will either 1) tell the internal synthesizer to regard that directory as a holder of 128 + 1 General MIDI synthpreset(4) files or 2) tell the internal synthesizer to load the preset bank file into its bank library. This bank can then be selected via the select button if desired. If a directory is dropped in the slot, midisynth(1) will not load any of the preset files until the bank is selected and a program change event is sent. At that time the internal synth will attempt to locate a preset file which matches the requested program number. See the Preset Icon Drop Pocket description above for more information. The default preset bank is the directory /usr/share/data/sounds/synth/presets/GeneralMIDI_SoundSetLevel1. This is installed from the dmedia_eoe.data.synth image on the IRIX CDROM. See the midisynth(1) man page for information on how to change this and other default values. Bank Name Label The name of the preset bank file, or the last portion of the directory name. OPTIONS -help Print usage statement. -nofork Do not go into the background. By default, synthpanel forks itself to give control back to the shell. HARDWARE synthpanel works only on Iris Indigo R4000, Indigo2, Indy, O2, Octane, and Onyx/Challenge machines fitted with the SGI Audio Option (ASO) Board. WARNINGS Some synthpanel operations do not control external MIDI devices because the MIDI messages are system exclusive for the SGI software synthesizer: Main Gain(dB), Main Tune, Reverberation, Channel activate and preset name (those that does not start with numerical characters). A MIDI program change# is extracted from Synth Preset file names that begin with "XXX_", where XXX= number in range [1..128] The version of the Synthesizer Panel and Software Synthesizer shipped with IRIX 6.5 is incompatible with earlier versions of these products. Attempting to use the new 2.0 Panel with an earlier release of midisynth (or vice versa) will result in garbled communication and unpredictable results. BUGS There is currently no way to select GS preset variations via synthpanel, even though midisynth(1) will respond to BANK_SELECT MIDI messages and can load GS preset banks. SEE ALSO midisynth(1), midikeys(1), soundplayer(1), syntheditor(1), synthpreset(4) Page 5