From c791356879ce2a03e1f616591db0b6ee5b1d4b2c Mon Sep 17 00:00:00 2001 From: Einar Pehrson Date: Mon, 28 Apr 2003 01:10:54 +0000 Subject: [PATCH] Added two text files that probably make things a bit easier. --- MIDI Info.txt | 419 +++++++++++++++++++++++++++++++++++++ Methods of Key Classes.txt | 246 ++++++++++++++++++++++ 2 files changed, 665 insertions(+) create mode 100644 MIDI Info.txt create mode 100644 Methods of Key Classes.txt diff --git a/MIDI Info.txt b/MIDI Info.txt new file mode 100644 index 0000000..2c9ee6a --- /dev/null +++ b/MIDI Info.txt @@ -0,0 +1,419 @@ +http://www.ibiblio.org/emusic-l/info-docs-FAQs/MIDI-doc/ + +NOTE NUMBERS + +Octave|| C | C# | D | D# | E | F | F# | G | G# | A | A# | B +------------------------------------------------------------------------------ + 0 || 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 + 1 || 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 + 2 || 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 + 3 || 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 + 4 || 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 + 5 || 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 + 6 || 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 + 7 || 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 + 8 || 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 + 9 || 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 + 10 || 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | + +INSTRUMENTS (MIDISOFT) + +0 Acoustic Grand Piano +1 Bright Acoustic Piano +2 Electric Grand Piano +3 Honky-Tonk Piano +4 Rhodes Piano +5 Chorused Piano +6 Harpischord +7 Clavinet +8 Celesta +9 Glockenspiel +10 Music Box +11 Vibraphone +12 Marimba +13 Xylophone +14 Tubular Bells +15 Dulcimer +16 Hammond Organ +17 Percussive Organ +18 Rock Organ +19 Church Organ +20 Reed Organ +21 Accordion +22 Harmonica +23 Tango Accordion +24 Acoustic Nylon Guitar +25 Acoustic Steel Guitar +26 Electric Jazz Guitar +27 Electric Clean Guitar +28 Electric Muted Guitar +29 Overdriven Guitar +30 Distortion Guitar +31 Guitar Harmonics +32 Acoustic Bass +33 Electric Bass Fingered +34 Electric Bass Picked +35 Fretless Bass +36 Slap Bass 1 +37 Slap Bass 2 +38 Synth Bass 1 +39 Synth Bass 2 +40 Violin +41 Viola +42 Cello +43 Contrabass +44 Tremolo Strings +45 Pizzicato Strings +46 Orchestral Harp +47 Timpani +48 String Ensemble 1 +49 String Ensemble 2 +50 Synth Strings 1 +51 Synth Strings 2 +52 Choir Aahs +53 Voice Oohs +54 Synth Voice +55 Orchestral Hit +56 Trumpet +57 Trombone +58 Tuba +59 Muted Trumpet +60 French Horn +61 Brass Section +62 Synth Brass 1 +63 Synth Brass 2 +64 Soprano Sax +65 Alto Sax +66 Tenor Sax +67 Baritone Sax +68 Oboe +69 English Horn +70 Bassoon +71 Clarinet +72 Piccolo +73 Flute +74 Recorder +75 Pan Flute +76 Bottle Blow +77 Shakuhachi +78 Whistle +79 Ocarina +80 Synth Lead 1 Square Wave Lead +81 Synth Lead 2 Sawtooth Wave Lead +82 Synth Lead 3 Caliope Lead +83 Synth Lead 4 Chiff Lead +84 Synth Lead 5 Charang +85 Synth Lead 6 Solo Synth Voice +86 Synth Lead 7 Bright Saw Wave +87 Synth Lead 8 Brass and Lead +88 Synth Pad 1 Fantasia Pad +89 Synth Pad 2 Warm Pad +90 Synth Pad 3 Poly Synth Pad +91 Synth Pad 4 Space Voice Pad +92 Synth Pad 5 Bowed Glass Pad +93 Synth Pad 6 Metal Pad +94 Synth Pad 7 Halo Pad +95 Synth Pad 8 Sweep Pad +96 Synth SFX 1 Ice Rain +97 Synth SFX 2 Sound Track +98 Synth SFX 3 Crystal +99 Synth SFX 4 Atmosphere +100 Synth SFX 5 Brightness +101 Synth SFX 6 Goblin +102 Synth SFX 7 Echo Drops +103 Synth SFX 8 Star Theme +104 Sitar +105 Banjo +106 Shamisen +107 Koto +108 Kalimba +109 Bagpipe +110 Fiddle +111 Shanai +112 Tinkle Bells +113 Agogo +114 Steel Drums +115 Woodblock +116 Taiko Drum +117 Melodic Tom +118 Synth Drum +119 Reverse Cymbal +120 Guitar Fret Noise +121 Breath Noise +122 Seashore +123 Bird Tweet +124 Telephone Ring +125 Helicopter +126 Applause +127 Gunshot + +D35 Acoustic Bass Drum +D36 Bass Drum 1 +D37 Side Stick +D38 Acoustic Snare +D39 Hand Clap +D40 Electric Snare +D41 Low Floor Tom +D42 Closed High-Hat +D43 High Floor Tom +D44 Pedal High Hat +D45 Low Tom +D46 Open High Hat +D47 Low-Mid Tom +D48 High-Mid Tom +D49 Crash Cymbal 1 +D50 High Tom +D51 Ride Cymbal 1 +D52 Chinese Cymbal +D53 Ride Bell +D54 Tambourine +D55 Splash Cymbal +D56 Cowbell +D57 Crash Cymbal 2 +D58 Vibraslap +D59 Ride Cymbal 2 +D60 High Bongo +D61 Low Bongo +D62 Mute High Conga +D63 Open High Conga +D64 Low Conga +D65 High Timbale +D66 Low Timbale +D67 High Agogo +D68 Low Agogo +D69 Cabasa +D70 Maracas +D71 Short Whistle +D72 Long Whistle +D73 Short Guiro +D74 Long Guiro +D75 Claves +D76 High Wood Block +D77 Low Wood Block +D78 Mute Cuica +D79 Open Cuica +D80 Mute Triangle +D81 Open Triangle + +INSTRUMENTS (GENERAL MIDI) + +1. Acoustic Grand Piano 65. Soprano Sax +2. Bright Acoustic Piano 66. Alto Sax +3. Electric Grand Piano 67. Tenor Sax +4. Honky-tonk Piano 68. Baritone Sax +5. Electric Piano 1 69. Oboe +6. Electric Piano 2 70. English Horn +7. Harpsichord 71. Bassoon +8. Clavi 72. Clarinet +9. Celesta 73. Piccolo +10. Glockenspiel 74. Flute +11. Music Box 75. Recorder +12. Vibraphone 76. Pan Flute +13. Marimba 77. Blown Bottle +14. Xylophone 78. Shakuhachi +15. Tubular Bells 79. Whistle +16. Dulcimer 80. Ocarina +17. Drawbar Organ 81. Lead 1 (square) +18. Percussive Organ 82. Lead 2 (sawtooth) +19. Rock Organ 83. Lead 3 (calliope) +20. Church Organ 84. Lead 4 (chiff) +21. Reed Organ 85. Lead 5 (charang) +22. Accordion 86. Lead 6 (voice) +23. Harmonica 87. Lead 7 (fifths) +24. Tango Accordion 88. Lead 8 (bass + lead) +25. Acoustic Guitar (nylon) 89. Pad 1 (new age) +26. Acoustic Guitar (steel) 90. Pad 2 (warm) +27. Electric Guitar (jazz) 91. Pad 3 (polysynth) +28. Electric Guitar (clean) 92. Pad 4 (choir) +29. Electric Guitar (muted) 93. Pad 5 (bowed) +30. Overdriven Guitar 94. Pad 6 (metallic) +31. Distortion Guitar 95. Pad 7 (halo) +32. Guitar harmonics 96. Pad 8 (sweep) +33. Acoustic Bass 97. FX 1 (rain) +34. Electric Bass (finger) 98. FX 2 (soundtrack) +35. Electric Bass (pick) 99. FX 3 (crystal) +36. Fretless Bass 100. FX 4 (atmosphere) +37. Slap Bass 1 101. FX 5 (brightness) +38. Slap Bass 2 102. FX 6 (goblins) +39. Synth Bass 1 103. FX 7 (echoes) +40. Synth Bass 2 104. FX 8 (sci-fi) +41. Violin 105. Sitar +42. Viola 106. Banjo +43. Cello 107. Shamisen +44. Contrabass 108. Koto +45. Tremolo Strings 109. Kalimba +46. Pizzicato Strings 110. Bag pipe +47. Orchestral Harp 111. Fiddle +48. Timpani 112. Shanai +49. String Ensemble 1 113. Tinkle Bell +50. String Ensemble 2 114. Agogo +51. SynthStrings 1 115. Steel Drums +52. SynthStrings 2 116. Woodblock +53. Choir Aahs 117. Taiko Drum +54. Voice Oohs 118. Melodic Tom +55. Synth Voice 119. Synth Drum +56. Orchestra Hit 120. Reverse Cymbal +57. Trumpet 121. Guitar Fret Noise +58. Trombone 122. Breath Noise +59. Tuba 123. Seashore +60. Muted Trumpet 124. Bird Tweet +61. French Horn 125. Telephone Ring +62. Brass Section 126. Helicopter +63. SynthBrass 1 127. Applause +64. SynthBrass 2 128. Gunshot + +35 Acoustic Bass Drum 59 Ride Cymbal 2 +36 Bass Drum 1 60 Hi Bongo +37 Side Stick 61 Low Bongo +38 Acoustic Snare 62 Mute Hi Conga +39 Hand Clap 63 Open Hi Conga +40 Electric Snare 64 Low Conga +41 Low Floor Tom 65 High Timbale +42 Closed Hi Hat 66 Low Timbale +43 High Floor Tom 67 High Agogo +44 Pedal Hi-Hat 68 Low Agogo +45 Low Tom 69 Cabasa +46 Open Hi-Hat 70 Maracas +47 Low-Mid Tom 71 Short Whistle +48 Hi Mid Tom 72 Long Whistle +49 Crash Cymbal 1 73 Short Guiro +50 High Tom 74 Long Guiro +51 Ride Cymbal 1 75 Claves +52 Chinese Cymbal 76 Hi Wood Block +53 Ride Bell 77 Low Wood Block +54 Tambourine 78 Mute Cuica +55 Splash Cymbal 79 Open Cuica +56 Cowbell 80 Mute Triangle +57 Crash Cymbal 2 81 Open Triangle +58 Vibraslap + + public static final String[] instruments = { + "Acoustic Grand Piano", + "Bright Acoustic Piano", + "Electric Grand Piano", + "Honky-Tonk Piano", + "Rhodes Piano", + "Chorused Piano", + "Harpischord", + "Clavinet", + "Celesta", + "Glockenspiel", + "Music Box", + "Vibraphone", + "Marimba", + "Xylophone", + "Tubular Bells", + "Dulcimer", + "Hammond Organ", + "Percussive Organ", + "Rock Organ", + "Church Organ", + "Reed Organ", + "Accordion", + "Harmonica", + "Tango Accordion", + "Acoustic Nylon Guitar", + "Acoustic Steel Guitar", + "Electric Jazz Guitar", + "Electric Clean Guitar", + "Electric Muted Guitar", + "Overdriven Guitar", + "Distortion Guitar", + "Guitar Harmonics", + "Acoustic Bass", + "Electric Bass Fingered", + "Electric Bass Picked", + "Fretless Bass", + "Slap Bass 1", + "Slap Bass 2", + "Synth Bass 1", + "Synth Bass 2", + "Violin", + "Viola", + "Cello", + "Contrabass", + "Tremolo Strings", + "Pizzicato Strings", + "Orchestral Harp", + "Timpani", + "String Ensemble 1", + "String Ensemble 2", + "Synth Strings 1", + "Synth Strings 2", + "Choir Aahs", + "Voice Oohs", + "Synth Voice", + "Orchestral Hit", + "Trumpet", + "Trombone", + "Tuba", + "Muted Trumpet", + "French Horn", + "Brass Section", + "Synth Brass 1", + "Synth Brass 2", + "Soprano Sax", + "Alto Sax", + "Tenor Sax", + "Baritone Sax", + "Oboe", + "English Horn", + "Bassoon", + "Clarinet", + "Piccolo", + "Flute", + "Recorder", + "Pan Flute", + "Bottle Blow", + "Shakuhachi", + "Whistle", + "Ocarina", + "Synth Lead 1 Square Wave Lead", + "Synth Lead 2 Sawtooth Wave Lead", + "Synth Lead 3 Caliope Lead", + "Synth Lead 4 Chiff Lead", + "Synth Lead 5 Charang", + "Synth Lead 6 Solo Synth Voice", + "Synth Lead 7 Bright Saw Wave", + "Synth Lead 8 Brass and Lead", + "Synth Pad 1 Fantasia Pad", + "Synth Pad 2 Warm Pad", + "Synth Pad 3 Poly Synth Pad", + "Synth Pad 4 Space Voice Pad", + "Synth Pad 5 Bowed Glass Pad", + "Synth Pad 6 Metal Pad", + "Synth Pad 7 Halo Pad", + "Synth Pad 8 Sweep Pad", + "Synth SFX 1 Ice Rain", + "Synth SFX 2 Sound Track", + "Synth SFX 3 Crystal", + "Synth SFX 4 Atmosphere", + "Synth SFX 5 Brightness", + "Synth SFX 6 Goblin", + "Synth SFX 7 Echo Drops", + "Synth SFX 8 Star Theme", + "Sitar", + "Banjo", + "Shamisen", + "Koto", + "Kalimba", + "Bagpipe", + "Fiddle", + "Shanai", + "Tinkle Bells", + "Agogo", + "Steel Drums", + "Woodblock", + "Taiko Drum", + "Melodic Tom", + "Synth Drum", + "Reverse Cymbal", + "Guitar Fret Noise", + "Breath Noise", + "Seashore", + "Bird Tweet", + "Telephone Ring", + "Helicopter", + "Applause", + "Gunshot" + }; diff --git a/Methods of Key Classes.txt b/Methods of Key Classes.txt new file mode 100644 index 0000000..97fc6a0 --- /dev/null +++ b/Methods of Key Classes.txt @@ -0,0 +1,246 @@ +Synthesizer + +Instrument[] getAvailableInstruments() +Obtains a list of instruments that come with the synthesizer. +MidiChannel[] getChannels() +Obtains the set of MIDI channels controlled by this synthesizer. +Soundbank getDefaultSoundbank() +Obtains the default soundbank for the synthesizer, if one exists. +long getLatency() +Obtains the processing latency incurred by this synthesizer, expressed in microseconds. +Instrument[] getLoadedInstruments() +Obtains a list of the instruments that are currently loaded onto this Synthesizer. +int getMaxPolyphony() +Obtains the maximum number of notes that this synthesizer can sound simultaneously. +VoiceStatus[] getVoiceStatus() +Obtains the current status of the voices produced by this synthesizer. +boolean isSoundbankSupported(Soundbank soundbank) +Informs the caller whether this synthesizer is capable of loading instruments from the specified soundbank. +boolean loadAllInstruments(Soundbank soundbank) +Loads onto the Synthesizer all instruments contained in the specified Soundbank. +boolean loadInstrument(Instrument instrument) +Makes a particular instrument available for synthesis. +boolean loadInstruments(Soundbank soundbank, Patch[] patchList) +Loads the instruments referenced by the specified patches, from the specified Soundbank. +boolean remapInstrument(Instrument from, Instrument to) +Remaps an instrument. +void unloadAllInstruments(Soundbank soundbank) +Unloads all instruments contained in the specified Soundbank. +void unloadInstrument(Instrument instrument) +Unloads a particular instrument. +void unloadInstruments(Soundbank soundbank, Patch[] patchList) +Unloads the instruments referenced by the specified patches, from the MIDI sound bank specified. + + +Sequencer + +int[] addControllerEventListener(ControllerEventListener listener, int[] controllers) +Registers a controller event listener to receive notification whenever the sequencer processes a control-change event of the requested type or types. +boolean addMetaEventListener(MetaEventListener listener) +Registers a meta-event listener to receive notification whenever a meta-event is encountered in the sequence and processed by the sequencer. +Sequencer.SyncMode getMasterSyncMode() +Obtains the current master synchronization mode for this sequencer. +Sequencer.SyncMode[] getMasterSyncModes() +Obtains the set of master synchronization modes supported by this sequencer. +long getMicrosecondLength() +Obtains the length of the current sequence, expressed in microseconds. +long getMicrosecondPosition() +Obtains the current position in the sequence, expressed in microseconds. +Sequence getSequence() +Obtains the sequence on which the Sequencer is currently operating. +Sequencer.SyncMode getSlaveSyncMode() +Obtains the current slave synchronization mode for this sequencer. +Sequencer.SyncMode[] getSlaveSyncModes() +Obtains the set of slave synchronization modes supported by the sequencer. +float getTempoFactor() +Returns the current tempo factor for the sequencer. +float getTempoInBPM() +Obtains the current tempo, expressed in beats per minute. +float getTempoInMPQ() +Obtains the current tempo, expressed in microseconds per quarter note. +long getTickLength() +Obtains the length of the current sequence, expressed in MIDI ticks. +long getTickPosition() +Obtains the current position in the sequence, expressed in MIDI ticks. +boolean getTrackMute(int track) +Obtains the current mute state for a track. +boolean getTrackSolo(int track) +Obtains the current solo state for a track. +boolean isRecording() +Indicates whether the Sequencer is currently recording. +boolean isRunning() +Indicates whether the Sequencer is currently running. +void recordDisable(Track track) +Disables recording to the specified track. +void recordEnable(Track track, int channel) +Prepares the specified track for recording events received on a particular channel. +int[] removeControllerEventListener(ControllerEventListener listener, int[] controllers) +Removes a controller event listener's interest in one or more types of controller event. +void removeMetaEventListener(MetaEventListener listener) +Removes the specified meta-event listener from this sequencer's list of registered listeners, if in fact the listener is registered. +void setMasterSyncMode(Sequencer.SyncMode sync) +Sets the source of timing information used by this sequencer. +void setMicrosecondPosition(long microseconds) +Sets the current position in the sequence, expressed in microseconds +void setSequence(InputStream stream) +Sets the current sequence on which the sequencer operates. +void setSequence(Sequence sequence) +Sets the current sequence on which the sequencer operates. +void setSlaveSyncMode(Sequencer.SyncMode sync) +Sets the slave synchronization mode for the sequencer. +void setTempoFactor(float factor) +Scales the sequencer's actual playback tempo by the factor provided. +void setTempoInBPM(float bpm) +Sets the tempo in beats per minute. +void setTempoInMPQ(float mpq) +Sets the tempo in microseconds per quarter note. +void setTickPosition(long tick) +Sets the current sequencer position in MIDI ticks +void setTrackMute(int track, boolean mute) +Sets the mute state for a track. +void setTrackSolo(int track, boolean solo) +Sets the solo state for a track. +void start() +Starts playback of the MIDI data in the currently loaded sequence. +void startRecording() +Starts recording and playback of MIDI data. +void stop() +Stops recording, if active, and playback of the currently loaded sequence, if any. +void stopRecording() +Stops recording, if active. + + +MidiChannel + +void allNotesOff() +Turns off all notes that are currently sounding on this channel. +void allSoundOff() +Immediately turns off all sounding notes on this channel, ignoring the state of the Hold Pedal and the internal decay rate of the current Instrument. +void controlChange(int controller, int value) +Reacts to a change in the specified controller's value. +int getChannelPressure() +Obtains the channel's keyboard pressure. +int getController(int controller) +Obtains the current value of the specified controller. +boolean getMono() +Obtains the current mono/poly mode. +boolean getMute() +Obtains the current mute state for this channel. +boolean getOmni() +Obtains the current omni mode status. +int getPitchBend() +Obtains the upward of downward pitch offset for this channel. +int getPolyPressure(int noteNumber) +Obtains the pressure with which the specified key is being depressed. +int getProgram() +Obtains the current program number for this channel. +boolean getSolo() +Obtains the current solo state for this channel. +boolean localControl(boolean on) +Turns local control on or off. +void noteOff(int noteNumber) +Turns the specified note off. +void noteOff(int noteNumber, int velocity) +Turns the specified note off. +void noteOn(int noteNumber, int velocity) +Starts the specified note sounding. +void programChange(int program) +Changes a program (patch). +void programChange(int bank, int program) +Changes the program using bank and program (patch) numbers. +void resetAllControllers() +Resets all the implemented controllers to their default values. +void setChannelPressure(int pressure) +Reacts to a change in the keyboard pressure. +void setMono(boolean on) +Turns mono mode on or off. +void setMute(boolean mute) +Sets the mute state for this channel. +void setOmni(boolean on) +Turns omni mode on or off. +void setPitchBend(int bend) +Changes the pitch offset for all notes on this channel. +void setPolyPressure(int noteNumber, int pressure) +Reacts to a change in the specified note's key pressure. +void setSolo(boolean soloState) +Sets the solo state for this channel. + + +Sequence + +Track createTrack() +Creates a new, initially empty track as part of this sequence. +boolean deleteTrack(Track track) +Removes the specified track from the sequence. +float getDivisionType() +Obtains the timing division type for this sequence. +long getMicrosecondLength() +Obtains the duration of this sequence, expressed in microseconds. +Patch[] getPatchList() +Obtains a list of patches referenced in this sequence. +int getResolution() +Obtains the timing resolution for this sequence. +long getTickLength() +Obtains the duration of this sequence, expressed in MIDI ticks. +Track[] getTracks() +Obtains an array containing all the tracks in this sequence. + + +Track + +boolean add(MidiEvent event) +Adds a new event to the track. +MidiEvent get(int index) +Obtains the event at the specified index. +boolean remove(MidiEvent event) +Removes the specified event from the track. +int size() +Obtains the number of events in this track. +long ticks() +Obtains the length of the track, expressed in MIDI ticks. + + +MidiEvent + +MidiMessage getMessage() +Obtains the MIDI message contained in the event. +long getTick() +Obtains the time-stamp for the event, in MIDI ticks +void setTick(long tick) +Sets the time-stamp for the event, in MIDI ticks + + +MidiMessage + +abstract Object clone() +Creates a new object of the same class and with the same contents as this object. +int getLength() +Obtains the total length of the MIDI message in bytes. +byte[] getMessage() +Obtains the MIDI message data. +int getStatus() +Obtains the status byte for the MIDI message. +protected void setMessage(byte[] data, int length) +Sets the data for the MIDI message. + + +ShortMessage + +Object clone() +Creates a new object of the same class and with the same contents as this object. +int getChannel() +Obtains the MIDI channel associated with this event. +int getCommand() +Obtains the MIDI command associated with this event. +int getData1() +Obtains the first data byte in the message. +int getData2() +Obtains the second data byte in the message. +protected int getDataLength(int status) +Retrieves the number of data bytes associated with a particular status byte value. +void setMessage(int status) +Sets the parameters for a MIDI message that takes no data bytes. +void setMessage(int status, int data1, int data2) +Sets the parameters for a MIDI message that takes one or two data bytes. +void setMessage(int command, int channel, int data1, int data2) +Sets the short message parameters for a channel message which takes one or two data bytes. -- 2.39.2