home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-03-26 | 160.2 KB | 3,807 lines |
- @BEGIN_FILE_ID.DIZ
- ===========================
- hier eine Zusammenstellung
- von haeufigen Fragen die
- Midi-Themen betreffen:
- ===========================
- @END_FILE_ID.DIZ
-
- =========================================================================
-
- Stand 7.8.94
-
- Diese Zusammenstellung erhebt keinen Anspruch auf Vollstaendigkeit!
- Es sind Texte aus dem Fido-Netz sowie sonstigen Quellen, die ich Wahl- und
- Wertungsfrei zusammengestellt habe. Sie soll dem MIDI-Einsteiger helfen.
- Vielen Dank an die Mithelfer in FIDO/MAUS/uucp/MIDILink/EMC............
-
- Ob die Aussagen der Texte richtig sind, kann ich im Einzelnen nicht
- nachvollziehen. Also:
- ALLES OHNE GEWAEHR !
-
- Die Fragen mit den Antworten sind durch ******** von den naechsten Fragen
- getrennt. Bei mehreren Antworten sind diese durch -------- getrennt.
- Diese Zusammenstellung enthaelt KEINE Steuerzeichen fuer Drucker.
-
- Viel Spass
- Harald Rossner 2:2490/4045.3 Fido-Home-BBS
- oder 2:2480/9999.47 TBUS-BBS (MIDILink-Home-BBS)
-
- Wuensche und Anregungen werden gerne entgegengenommen.
- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
- INHALT
- ======
- 1) Welche MIDI-Boxen gibt es ?
- 2) Was ist MIDILink ?
- 3) Wie ist das MIDI-Format aufgebaut ?
- 4) Welche Buecher oder Textquellen gibt es fuer MIDI ?
- 5) Info ueber Wert,Funktion und Namen der MIDI-Controller ?
- 6) Wie ist die Schaltung eines MIDI-Kabels fuer SoundBlaster/GUS ...-Karte?
- 7) Wie sieht ein MIDI-Kabel aus, wie ist die Belegung?
- 8) Wie ist die Belegung der Sounds bei GM/GS ?
- 9) Wie sind die Hersteller ID's bei SysEx ?
- 10) Aufbau des "MIDI Sample Dump" Format.
- 11) Aufbau des "MIDI Timecode" Format.
-
- *******************************************************************************
- Frage: Welche Musik- und Midi-orientierte Boxen gibt es?
- Antwort:
- ==========================================================================
- Musik und MIDI-orientierte Mailboxen
-
- Deutschland (internationale Vorwahl ++49)
- --------------------------------------------------------------------------
- Name Ort Telefon ggf. Fido-Node
- --------------------------------------------------------------------------
- Chocolate Hill Stuttgart 07158-60035 (2:2407/36)
- (MIDILink Musicians Network)
- --------------------------------------------------------------------------
- KEY-Box Dortmund 0231-7212191 (2:2444/5103.2)
- (Kontakt zur Zeitschrift Keyboards)
- --------------------------------------------------------------------------
- KEYS-BBS Muenchen 089-6518679 (2:2480/620)
- (MIDILink Musicians Network, Kontakt zur Zeitschrift
- Keys)
- --------------------------------------------------------------------------
- MES Leipzig 0341-4795879 (2:249/1080)
- -2519498 (2:249/1090)
- --------------------------------------------------------------------------
- MIDICOM BBS Oldenburg 0441-74563 (2:2426/2040)
- (MIDILink Musicians Network)
- --------------------------------------------------------------------------
- MIDIGITAL Box Offenbach 09396-2113
- --------------------------------------------------------------------------
- MusicBox Freising 08161-44871
- (Mac Telefinder BBS)
- --------------------------------------------------------------------------
- MUSIK-BOX Bremen 0421-5669337
- --------------------------------------------------------------------------
- Roland-Mailbox Norderstedt 040-526009-75
- (Kontakt zur Firma Roland)
- --------------------------------------------------------------------------
- Softarts-Box Berlin 030-6858041
- --------------------------------------------------------------------------
- SoundDiverBox Markt Schwaben 08121-49912
- (Kontakt zum Programmierer von Soundsurfer /
- Sounddiver)
- --------------------------------------------------------------------------
- TBUS-BBS Muenchen 089-293881 (2:2480/9999)
- (Usenet-Newsgroups zu Musik und MIDI)
- --------------------------------------------------------------------------
-
- Oesterreich (internationale Vorwahl ++43)
- --------------------------------------------------------------------------
- MIDI Point BBS 02235-87240 (2:310/65.60)
- --------------------------------------------------------------------------
-
- Diese Liste erhebt keinen Anspruch auf Vollstaendigkeit. Wer in diese
- Liste aufgenommen werden moechte kontaktiert Florian Anwander in der KEYS-
- BBS. Bitte immer die komplette Liste zwischen den beiden doppelt
- gestrichelten Linien weitergeben.
- ==========================================================================
- *******************************************************************************
-
-
- Frage: Was ist MIDILINK?
-
- Antwort:
- ======================================================================
- MIDILink Musician's Network - Linking Musical Professionals worldwide!
- ======================================================================
- Info fuer Musiker und MIDI-Anbieter, Deutsche Ausgabe (1. Quartal 94)
- ====================================================================
-
- Worum geht es?
- ==============
-
- [...]
- Der MIDILINK verbindet weltweit Musiker und MIDIaner aller Art, welche
- die MIDI-Technologie nutzen und/oder vorantreiben. Angefangen hat alles
- 1987 in den USA, als MIDI-Anwender ein Telekommunikationsnetz unter
- Gleichgesinnten aufbauten, um es speziell fuer ihren Erfahrungsaustausch
- und ihre Zusammenarbeit zu nutzen. Nachrichten (Fragen, Infos, News,
- Datenfiles, etc.) wurden in verschiedenen StAedten gesammelt und ueber
- Nacht automatisch per BBS's (Bulletin Board Systems) in andere StAedte
- weitergeleitet. Heute sind weltweit mehr als 20.000 Teilnehmer im MIDILINK
- verbunden. In zahlreichen fachspezifischen Konferenzen werden musikalische,
- technische und organisatorische Fragen rund um die MIDI-Technologie
- diskutiert und Erfahrungen auch in Form von Datenfiles und Programmen
- ausgetauscht. Mehr als 50 BBS's bilden dabei das weltweite Kommunikations-
- netz, auf welches jeder Teilnehmer durch Anwahl des ihm naechstgelegenen
- MIDILINK-BBS's leicht zugreifen kann.
-
- Anbieter von MIDI-Produkten haben inzwischen den MIDILINK auch als
- schnellen Draht zu ihren Kunden entdeckt, um Fragen zu Produkten und deren
- Anwendung auf direktem Wege zu beantworten. Einige Hersteller haben sich
- sogar mit einem eigenen BBS dem MIDILINK angeschlossen, um so seine
- Infrastruktur zu nutzen.
-
-
- Was bringt Ihnen das?
- =====================
-
- Als MIDILINK-Teilnehmer koennen Sie weltweit Erfahrungen mit Anwendern
- Aehnlichen Equipments austauschen, Fragen stellen, von Herstellern direkten
- Support bekommen, etc./pp. Dafuer stehen Ihnen fachspezifische Konferenzen
- fuer alle MIDI-relevanten Computer (z.B. IBM, Macintosh, Atari, Amiga)
- sowie entsprechende Anwendungsgebiete (z.B. SoundProgramming, Sampler,
- Recording, MultiMedia, Video, SoundCards, Komposition, Karriere, etc.) zur
- Verfuegung, und zahlreiche Hersteller (z.B. Kurzweil, Music Quest, Turtle
- Beach, Twelve Tone, Steinberg/Jones, uam.) bieten Ihnen einen direkten
- 24h-Service in ihren Factory-Support Konferenzen. Zudem koennen Sie auf
- die reichhaltige File-Sammlung der EMC ("European MIDI Connection")
- zugreifen und sich Demos, frei verfuegbare Programme, Patches, Sequenzer-
- Dateien etc. in ihren Computer laden.
-
- Als MIDI-Anbieter koennen Sie die MIDILINK-Infrastruktur dazu nutzen, ihren
- Kunden einen 24h Support-Service zu bieten und gezielt beim Fachpublikum
- fuerIhre Produkte zu werben. Unter Verweis Ihrer Kunden auf den MIDILINK
- koennen Sie sich dann den Aufbau einer entsprechenden eigenen Infrastruktur
- ersparen.
-
-
- [... Die Teilnahme kostet nichts (ausser Telefongebuehr) ...]
-
- +---------------------------------------------------------------------------+
- | "MIDILink Musician's Network" (MMN) & "European Midi Connection" (EMC) |
- | Fach-Konferenzen und File-Areas fuer ca. 20.000 MIDIaner weltweit |
- | Konferenzen & FileAreas verfuegbar bei den folgenden FidoNet-Boxen: |
- +---------------------------------------------------------------------------+
- |MUENCHEN: TBUS-BBS (2:2480/9999),+49-89-293881, SO Rudolf Stricker |
- |MUENCHEN: KEYS-BBS (2:2480/620) ,+49-89-6518679, SO Florian Anwander|
- |OLDENBURG:MIDICOM BBS (2:2426/2040),+49-441-74563, SO Oliver Ried |
- |STUTTGART:Chocolate Hill (2:2407/36), +49-7158-60035, SO Michael Lederer |
- +---------------------------------------------------------------------------+
-
-
- Und was erwartet Sie im Detail bei diesen deutschen MIDILINK-BBS's? Hier
- zunAechst eine Liste der Fachkonferenzen:
-
- ===============================================================
- =============== MIDILINK: Liste der MESSAGE-Areas =============
- ===============================================================
- =============== MIDI & MIDILink Musicians' Network (MMN) ======
- ===============================================================
- =======deutschsprachige Areas (in ganz Europa verfuegbar)======
- ===============================================================
- MIDILINK.MLG allgemeine Area des deutschsprachigen MIDILink
- MMUSIKER.MLG Uebers Musikhoeren und Musikmachen
- HARDSOFT.MLG MIDI Hard und Software; deutsches MIDILink
- RECORDING.MLG Aufnahme und Studiotechnik; deutsches MIDILink
- SNDCARDS.MLG Soundkarten fuer IBM-Kompatible
- MBAZAR.MLG Musiker Flohmarkt; deutsches MIDILink
- KEYS.MLG Diskussions- und Informationsforum, der Zeitschrift Keys
- ===============================================================
- =========englischsprachige Areas (weltweit verfuegbar)=========
- ===============================================================
- M_MAIN-BOARD general topics of MIDILink interntl.(english!)
- M_COLLAB Area for songwriters collaboration(english!)
- M_CAREERS Area for musicians carreers and education (english!)
- M_GENERICS generic MIDI questions (english!)
- M_PROGRAM conference on MIDI programming (english!)
- M_RECORDING about recording and studio engineering (english!)
- M_SAMPLING about sampler / sampling (english!)
- M_VIDSOUND about video and sound (english!)
- M_SOUNDCRD about pc-soundcards (english!)
- M_ST-ATARI ATARI and MIDI (english!)
- M_APPLE APPLE/MAC and MIDI (english!)
- M_COMMODORE AMIGA / C64 and MIDI (english!)
- M_IBM IBM-compatibles and MIDI (english!)
- M_KURZWEIL MMN-Factory support for KURZWEIL MUSICAL PRODUCTS(engl.)
- M_12TONE MMN-Factory support for TWELVE TONE SYSTEMS (english!)
- M_STEINBERG MMN-Factory support for STEINBERG (english!)
- M_TURTLEBEACH MMN-Factory support for TURTLE BEACH SYSTEMS (english!)
- M_MACKIE MMN-Factory support for MACKIE RECORDING GEAR (english!)
- M_VOYETRA MMN-Factory support from VOYETRA TECHNOLOGIES (english!)
- M_MQUEST MMN-Factory support from MUSIC QUEST INC (english!)
- M_KEY MMN-Factory support for KEY MEDIATOR (english!)
- M_PWRCHORD MMN-Factory support for POWERCHORDS (english!)
- M_COOLSHOES MMN-Factory support from COOL SHOES INC. (english!)
- M_JAMMER MMN-Factory support for SOUNDTREK's JAMMER (english!)
- M_TAP MMN-Factory support for MUSIC PRINTER PLUS (english!)
- M_TEACH MMN-Factory support from TEACH SERVICES LMP (english!)
- ===============================================================
- =============== MIDI & Musik aus dem UseNet ===================
- RMM.COMPOSE - Usenet conf on composers & composing
- RMM.GUITAR - Usenet conf on guitars & playing them
- RMM.GUITAR.TAB - Usenet conf on guitar tabs, chords & lyrics
- RMM.BASS - Usenet conf on basses & playing them
- RMM.PERCUSSION - Usenet conf on drums & percussions
- RMM.SYNTH - Usenet conf on synths & samplers
- ===============================================================
-
- [...Jede Box hat dann noch jede Menge musikorientierte Fido-Areas...]
-
- Die beiden wesentlichsten Elemente am MIDILink duerften die internationale
- Vernetzung sein, und die Tatsache, dass innerhalb des Netzes eine
- kommerzielle Nutzung zulaessig ist - das gilt aber definitiv nur fuers
- MIDILink nicht fuer Netmails ins oder aus dem FIDO (!!!).
-
- ******************************************************************************
-
-
- Frage: Wie ist das Midi-Format aufgebaut?
- Antwort:
-
- Physikalisch gesehen eine Stromschleife,
- Lowlevel-logisch 8N1, 31250 Bit/s (31,25 KBit/s)
-
- MIDI 1.0 Specification:
-
- Status Data Byte(s) Description
- D7----D0 D7----D0
- -------------------------------------------------------------------------
- Channel Voice Messages
- -------------------------------------------------------------------------
- 1000cccc 0nnnnnnn Note Off event.
- 0vvvvvvv This message is sent when a
- note is released (ended).
- (nnnnnnn) is the note number.
- (vvvvvvv) is the velocity.
-
- 1001cccc 0nnnnnnn Note On event.
- 0vvvvvvv This message is sent when a
- note is depressed (start).
- (nnnnnnn) is the note number.
- (vvvvvvv) is the velocity.
-
- 1010cccc 0nnnnnnn Polyphonic Key Pressure (After-touch).
- 0vvvvvvv This message is sent when the pressure
- (velocity) of a previously
- triggered note changes.
- (nnnnnnn) is the note number.
- (vvvvvvv) is the new velocity.
-
- 1011cccc 0ccccccc Control Change.
- 0vvvvvvv This message is sent when a controller
- value changes. Controllers include devices
- such as pedals and levers.
- Certain controller numbers are reserved
- for specific purposes. See Channel Mode Messages.
- (ccccccc) is the controller number.
- (vvvvvvv) is the new value.
-
- 1100cccc 0ppppppp Program Change.
- This message sent when the patch number changes.
- (ppppppp) is the new program number.
-
- 1101nnnn 0ccccccc Channel Pressure (After-touch).
- This message is sent when the channel pressure
- changes. Some velocity-sensing keyboards do not
- support polyphonic after-touch. Use this
- message to send the single greatest velocity
- (of all te current depressed keys).
- (ccccccc) is the channel number.
-
- 1110nnnn 0lllllll Pitch Wheel Change.
- 0mmmmmmm This message is sent to indicate a change in the
- pitch wheel. The pitch wheel is measured by a
- fourteen bit value. Center (no pitch change) is
- 2000H. Sensitivity is a function of the
- transmitter.
- (llllll) are the least significant 7 bits.
- (mmmmmm) are the most significant 7 bits.
- -------------------------------------------------------------------------
- Channel Mode Messages (See also Control Change, above)
- -------------------------------------------------------------------------
- 1011nnnn 0ccccccc Channel Mode Messages.
- 0vvvvvvv This the same code as the Control
- Change (above), but implements Mode
- control by using reserved controller
- numbers. The numbers are:
-
- Local Control.
- When Local Control is Off, all devices
- on a given channel will respond only to
- data received over MIDI. Played data, etc.
- will be ignored. Local Control On
- restores the functions of the normal
- controllers.
- c = 122, v = 0: Local Control Off
- c = 122, v = 127: Local Control On
-
- All Notes Off.
- When an All Notes Off is received,
- all oscillators will turn off.
- c = 123, v = 0: All Notes Off
-
- (See text for description of actual
- mode commands.)
- c = 124, v = 0: Omni Mode Off
- c = 125, v = 0: Omni Mode On
- c = 126, v = M: Mono Mode On (Poly Off)
- where M is the number of channels
- (Omni Off) or 0 (Omni On)
- c = 127, v = 0: Poly Mode On (Mono Off)
- (Note: These four messages also cause
- All Notes Off)
-
- -------------------------------------------------------------------------
- System Common Messages
- -------------------------------------------------------------------------
- 11110000 0iiiiiii System Exclusive.
- 0ddddddd This message makes up for all that MIDI
- .. doesn't support. (iiiiiii) is a seven
- .. bit Manufacturer's I.D. code. If the
- 0ddddddd synthesizer recognizes the I.D. code as
- 11110111 its own, it will listen to the rest of
- the message (ddddddd). Otherwise, the
- message will be ignored. System Exclusive
- is used to send bulk dumps such as patch
- parameters and other non-spec data.
- (Note: Real-Time messages ONLY may be
- interleaved with a System Exclusive.)
-
- 11110001 Undefined.
-
- 11110010 0lllllll Song Position Pointer.
- 0mmmmmmm This is an internal 14 bit register that
- holds the number of MIDI beats (1 beat=
- six MIDI clocks) since the start of
- the song. l is the LSB, m the MSB.
-
- 11110011 0sssssss Song Select.
- The Song Select specifies which sequence
- or song is to be played.
-
- 11110100 Undefined.
-
- 11110101 Undefined.
-
- 11110110 Tune Request.
- Upon receiving a Tune Request, all analog
- sythesizers should tune their oscillators.
-
- 11110111 End of Exclusive.
- Used to terminate a System Exclusive
- dump (see above).
-
- -------------------------------------------------------------------------
- System Real-Time Messages
- -------------------------------------------------------------------------
- 11111000 Timing Clock.
- Sent 24 times per quarter note when
- synchronization is required (see text).
-
- 11111001 Undefined.
-
- 11111010 Start.
- Start the current sequence playing.
- (This message will be followed with
- Timing Clocks).
-
- 11111011 Continue.
- Continue at the point the sequence was
- Stopped.
-
- 11111100 Stop.
- Stop the current sequence.
-
- 11111101 Undefined.
-
- 11111110 Active Sensing.
- Use of this message is optional. When
- initially sent, the receiver will expect
- to receive another Active Sensing message
- each 300ms (max), or it will be assume
- that the connection has been terminated.
- At termination, the receiver will turn off
- all voices and return to normal (non-
- active sensing) operation.
-
- 11111111 Reset.
- Reset all receivers in the system to
- power-up status. This should be used
- sparingly, preferably under manual
- control. In particular, it should not
- be sent on power-up.
-
- ----------------------------------------------------------------------------
- Weitere Infos:
-
- To get your copy of the 1.0 spec, send a $2 check to:
-
- International Midi Association
- 5316 West 57th Street
- Los Angeles, CA 90056
- (415) 321-MIDI
-
- Make your checks payable to the IMA. BYW, the 1.0 spec is technically
- identical to the .06 spec, but the description has been re-written.
- Since the spec has been offically approved, there shouldn't be any
- problem with posting this summary of the .06 spec:
-
-
- [This document is Dave Oppenheim's current version of the MIDI file
- specification, as sent to those who have participated in its
- development. The consensus seems to be to submit this to the MIDI
- Manufacturers' Association as version 1.0. I apologize for any loss of
- clarity that might have occurred in the conversion from a Microsoft Word
- document to this pure text file. I have removed some of the discussion
- about recent changes to the specification in order to keep the file size
- reasonable.--Doug Wyatt]
-
-
-
- Standard MIDI Files 0.06 March 1, 1988
- =============================================
-
- 0 Introduction
-
- This describes a proposed standard MIDI file format. MIDI files contain
- one or more MIDI streams, with time information for each event. Song,
- sequence, and track structures, tempo and time signature information,
- are all supported. Track names and other descriptive information may be
- stored with the MIDI data. This format supports multiple tracks and
- multiple sequences so that if the user of a program which supports
- multiple tracks intends to move a file to another one, this format can
- allow that to happen.
-
- This spec defines the 8-bit binary data stream used in the file. The
- data can be stored in a binary file, nibbleized, 7-bit-ized for
- efficient MIDI transmission, converted to Hex ASCII, or translated
- symbolically to a printable text file. This spec addresses what's in
- the 8-bit stream.
-
-
- 1 Sequences, Tracks, Chunks: File Block Structure
-
- Sequence files are made up of chunks. Each chunk has a 4-character type
- and a 32-bit length, which is the number of bytes in the chunk. On the
- Macintosh, data is passed either in the data fork of a file, or on the
- Clipboard. (The file type on the Macintosh for a file in this format
- will be "Midi".) On any other computer, the data is simply the contents
- of the file. This structure allows future chunk types to be designed
- which may easily be ignored if encountered by a program written before
- the chunk type is introduced. Your programs should expect alien chunks
- and treat them as if they weren't there.
-
- This proposal defines two types of chunks: a header chunk and a track
- chunk. A header chunk provides a minimal amount of information
- pertaining to the entire MIDI file. A track chunk contains a sequential
- stream of MIDI data which may contain information for up to 16 MIDI
- channels. The concepts of multiple tracks, multiple MIDI outputs,
- patterns, sequences, and songs may all be implemented using several
- track chunks.
-
- A MIDI file always starts with a header chunk, and is followed by one or
- more track chunks.
-
- MThd <length of header data>
- <header data>
- MTrk <length of track data>
- <track data>
- MTrk <length of track data>
- <track data>
- ...
-
- Track Data Format (MTrk chunk type)
-
- The MTrk chunk type is where actual song data is stored. It is simply a
- stream of MIDI events (and non-MIDI events), preceded by delta-time
- values.
-
- Some numbers in MTrk chunks are represented in a form called a variable-
- length quantity. These numbers are represented 7 bits per byte, most
- significant bits first. All bytes except the last have bit 7 set, and
- the last byte has bit 7 clear. If the number is between 0 and 127, it
- is thus represented exactly as one byte.
-
- Here are some examples of numbers represented as variable-length
- quantities:
-
- Number (hex) Representation (hex)
- 00000000 00
- 00000040 40
- 0000007F 7F
- 00000080 81 00
- 00002000 C0 00
- 00003FFF FF 7F
- 00004000 81 80 00
- 00100000 C0 80 00
- 001FFFFF FF FF 7F
- 00200000 81 80 80 00
- 08000000 C0 80 80 00
- 0FFFFFFF FF FF FF 7F
-
-
- The largest number which is allowed is 0FFFFFFF so that the variable-
- length representation must fit in 32 bits in a routine to write
- variable-length numbers. Theoretically, larger numbers are possible,
- but 2 x 108 96ths of a beat at a fast tempo of 500 beats per minute is
- four days, long enough for any delta-time!
-
- Here is the syntax of an MTrk chunk:
-
- <track data> = <MTrk event>+
-
- <MTrk event> = <delta-time> <event>
-
- <delta-time> is stored as a variable-length quantity. It represents the
- amount of time before the following event. If the first event in a
- track occurs at the very beginning of a track, or if two events occur
- simultaneously, a delta-time of zero is used. Delta-times are always
- present. (Not storing delta-times of 0 requires at least two bytes for
- any other value, and most delta-times aren't zero.) Delta-time is in
- some fraction of a beat (or a second, for recording a track with SMPTE
- times), as specified in the header chunk.
-
- <event> = <MIDI event> | <sysex event> | <meta-event>
-
- <MIDI event> is any MIDI channel message. Running status is used:
- status bytes may be omitted after the first byte. The first event in a
- file must specify status. Delta-time is not considered an event
- itself: it is an integral part of the specification. Notice that
- running status occurs across delta-times.
-
- <meta-event> specifies non-MIDI information useful to this format or to
- sequencers, with this syntax:
-
- FF <type> <length> <bytes>
-
- All meta-events begin with FF, then have an event type byte (which is
- always less than 128), and then have the length of the data stored as a
- variable-length quantity, and then the data itself. If there is no
- data, the length is 0. As with sysex events, running status is not
- allowed. As with chunks, future meta-events may be designed which may
- not be known to existing programs, so programs must properly ignore
- meta-events which they do not recognize, and indeed, should expect to
- see them. New for 0.06: programs must never ignore the length of a
- meta-event which they do recognize, and they shouldn't be surprised if
- it's bigger than they expected. If so, they must ignore everything past
- what they know about. However, they must not add anything of their own
- to the end of a meta-event.
-
- <sysex event> is used to specify a MIDI system exclusive message, or as
- an "escape" to specify any arbitrary bytes to be transmitted.
- Unfortunately, some synthesizer manufacturers specify that their system
- exclusive messages are to be transmitted as little packets. Each packet
- is only part of an entire syntactical system exclusive message, but the
- times they are transmitted at are important. Examples of this are the
- bytes sent in a CZ patch dump, or the FB-01's "system exclusive mode" in
- which microtonal data can be transmitted. To be able to handle
- situations like these, two forms of <sysex event> are provided:
-
- F0 <length> <bytes to be transmitted after F0>
- F7 <length> <all bytes to be transmitted>
-
- In both cases, <length> is stored as a variable-length quantity. It is
- equal to the number of bytes following it, not including itself or the
- message type (F0 or F7), but all the bytes which follow, including any
- F7 at the end which is intended to be transmitted. The first form, with
- the F0 code, is used for syntactically complete system exclusive
- messages, or the first packet an a series Q that is, messages in which
- the F0 should be transmitted. The second form is used for the remainder
- of the packets within a syntactic sysex message, which do not begin with
- F0. Of course, the F7 is not considered part of the system exclusive
- message. Of course, just as in MIDI, running status is not allowed, in
- this case because the length is stored as a variable-length quantity
- which may or may not start with bit 7 set.
-
- (New to 0.06) A syntactic system exclusive message must always end with
- an F7, even if the real-life device didn't send one, so that you know
- when you've reached the end of an entire sysex message without looking
- ahead to the next event in the MIDI file. This principle is repeated
- and illustrated in the paragraphs below.
-
- The vast majority of system exclusive messages will just use the F0
- format. For instance, the transmitted message F0 43 12 00 07 F7 would
- be stored in a MIDI file as F0 05 43 12 00 07 F7. As mentioned above,
- it is required to include the F7 at the end so that the reader of the
- MIDI file knows that it has read the entire message.
-
- For special situations when a single system exclusive message is split
- up, with parts of it being transmitted at different times, such as in a
- Casio CZ patch transfer, or the FB-01's "system exclusive mode", the F7
- form of sysex event is used for each packet except the first. None of
- the packets would end with an F7 except the last one, which must end
- with an F7. There also must not be any transmittable MIDI events in-
- between the packets of a multi-packet system exclusive message. Here is
- an example: suppose the bytes F0 43 12 00 were to be sent, followed by
- a 200-tick delay, followed by the bytes 43 12 00 43 12 00, followed by
- a 100-tick delay, followed by the bytes 43 12 00 F7, this would be in
- the MIDI File:
-
- F0 03 43 12 00
- 81 48 200-tick delta-time
- F7 06 43 12 00 43 12 00
- 64 100-tick delta-time
- F7 04 43 12 00 F7
-
- The F7 event may also be used as an "escape" to transmit any bytes
- whatsoever, including real-time bytes, song pointer, or MIDI Time Code,
- which are not permitted normally in this specification. No effort
- should be made to interpret the bytes used in this way. Since a system
- exclusive message is not being transmitted, it is not necessary or
- appropriate to end the F7 event with an F7 in this case.
-
-
- 2 Header Chunk
-
- The header chunk at the beginning of the file specifies some basic
- information about the data in the file. The data section contains three
- 16-bit words, stored high byte first (of course). Here's the syntax of
- the complete chunk:
-
- <chunk type> <length> <format> <ntrks> <division>
-
- As described above, <chunk type> is the four ASCII characters 'MThd';
- <length> is a 32-bit representation of the number 6 (high byte first).
- The first word, format, specifies the overall organization of the file.
- Only three values of format are specified:
-
- 0 the file contains a single multi-channel track
- 1 the file contains one or more simultaneous tracks (or MIDI
- outputs) of a sequence
- 2 the file contains one or more sequentially independent
- single-track patterns
-
- The next word, ntrks, is the number of track chunks in the file. The
- third word, division, is the division of a quarter-note represented by
- the delta-times in the file. (If division is negative, it represents
- the division of a second represented by the delta-times in the file, so
- that the track can represent events occurring in actual time instead of
- metrical time. It is represented in the following way: the upper byte
- is one of the four values -24, -25, -29, or -30, corresponding to the
- four standard SMPTE and MIDI time code formats, and represents the
- number of frames per second. The second byte (stored positive) is the
- resolution within a frame: typical values may be 4 (MIDI time code
- resolution), 8, 10, 80 (bit resolution), or 100. This system allows
- exact specification of time-code-based tracks, but also allows
- millisecond-based tracks by specifying 25 frames/sec and a resolution of
- 40 units per frame.)
-
- Format 0, that is, one multi-channel track, is the most interchangeable
- representation of data. One application of MIDI files is a simple
- single-track player in a program which needs to make synthesizers make
- sounds, but which is primarily concerned with something else such as
- mixers or sound effect boxes. It is very desirable to be able to
- produce such a format, even if your program is track-based, in order to
- work with these simple programs. On the other hand, perhaps someone
- will write a format conversion from format 1 to format 0 which might be
- so easy to use in some setting that it would save you the trouble of
- putting it into your program.
-
- Programs which support several simultaneous tracks should be able to
- save and read data in format 1, a vertically one-dimensional form, that
- is, as a collection of tracks. Programs which support several
- independent patterns should be able to save and read data in format 2, a
- horizontally one-dimensional form. Providing these minimum capabilities
- will ensure maximum interchangeability.
-
- MIDI files can express tempo and time signature, and they have been
- chosen to do so for transferring tempo maps from one device to another.
- For a format 0 file, the tempo will be scattered through the track and
- the tempo map reader should ignore the intervening events; for a format
- 1 file, the tempo map must (starting in 0.04) be stored as the first
- track. It is polite to a tempo map reader to offer your user the
- ability to make a format 0 file with just the tempo, unless you can use
- format 1.
-
- All MIDI files should specify tempo and time signature. If they don't,
- the time signature is assumed to be 4/4, and the tempo 120 beats per
- minute. In format 0, these meta-events should occur at least at the
- beginning of the single multi-channel track. In format 1, these meta-
- events should be contained in the first track. In format 2, each of the
- temporally independent patterns should contain at least initial time
- signature and tempo information.
-
- We may decide to define other format IDs to support other structures. A
- program reading an unfamiliar format ID should return an error to the
- user rather than trying to read further.
-
-
- 3 Meta-Events
-
- A few meta-events are defined herein. It is not required for every
- program to support every meta-event. Meta-events initially defined
- include:
-
- FF 00 02 ssss Sequence Number
- This optional event, which must occur at the beginning of a track,
- before any nonzero delta-times, and before any transmittable MIDI
- events, specifies the number of a sequence. The number in this track
- corresponds to the sequence number in the new Cue message discussed at
- the summer 1987 MMA meeting. In a format 2 MIDI file, it is used to
- identify each "pattern" so that a "song" sequence using the Cue message
- to refer to the patterns. If the ID numbers are omitted, the sequences'
- locations in order in the file are used as defaults. In a format 0 or 1
- MIDI file, which only contain one sequence, this number should be
- contained in the first (or only) track. If transfer of several
- multitrack sequences is required, this must be done as a group of format
- 1 files, each with a different sequence number.
-
- FF 01 len text Text Event
- Any amount of text describing anything. It is a good idea to put a text
- event right at the beginning of a track, with the name of the track, a
- description of its intended orchestration, and any other information
- which the user wants to put there. Text events may also occur at other
- times in a track, to be used as lyrics, or descriptions of cue points.
- The text in this event should be printable ASCII characters for maximum
- interchange. However, other character codes using the high-order bit
- may be used for interchange of files between different programs on the
- same computer which supports an extended character set. Programs on a
- computer which does not support non-ASCII characters should ignore those
- characters.
-
- (New for 0.06 ). Meta event types 01 through 0F are reserved for
- various types of text events, each of which meets the specification of
- text events(above) but is used for a different purpose:
-
- FF 02 len text Copyright Notice
- Contains a copyright notice as printable ASCII text. The notice should
- contain the characters (C), the year of the copyright, and the owner of
- the copyright. If several pieces of music are in the same MIDI file,
- all of the copyright notices should be placed together in this event so
- that it will be at the beginning of the file. This event should be the
- first event in the first track chunk, at time 0.
-
-
- FF 03 len text Sequence/Track Name
- If in a format 0 track, or the first track in a format 1 file, the name
- of the sequence. Otherwise, the name of the track.
-
- FF 04 len text Instrument Name
- A description of the type of instrumentation to be used in that track.
- May be used with the MIDI Prefix meta-event to specify which MIDI
- channel the description applies to, or the channel may be specified as
- text in the event itself.
-
- FF 05 len text Lyric
- A lyric to be sung. Generally, each syllable will be a separate lyric
- event which begins at the event's time.
-
- FF 06 len text Marker
- Normally in a format 0 track, or the first track in a format 1 file.
- The name of that point in the sequence, such as a rehearsal letter or
- section name ("First Verse", etc.).
-
-
- FF 07 len text Cue Point
- A description of something happening on a film or video screen or stage
- at that point in the musical score ("Car crashes into house", "curtain
- opens", "she slaps his face", etc.)
-
- FF 2F 00 End of Track
- This event is not optional. It is included so that an exact ending
- point may be specified for the track, so that it has an exact length,
- which is necessary for tracks which are looped or concatenated.
-
- FF 51 03 tttttt Set Tempo, in microseconds per MIDI quarter-note
- This event indicates a tempo change. Another way of putting
- "microseconds per quarter-note" is "24ths of a microsecond per MIDI
- clock". Representing tempos as time per beat instead of beat per time
- allows absolutely exact long-term synchronization with a time-based sync
- protocol such as SMPTE time code or MIDI time code. This amount of
- accuracy provided by this tempo resolution allows a four-minute piece at
- 120 beats per minute to be accurate within 500 usec at the end of the
- piece. Ideally, these events should only occur where MIDI clocks would
- be located Q this convention is intended to guarantee, or at least
- increase the likelihood, of compatibility with other synchronization
- devices so that a time signature/tempo map stored in this format may
- easily be transferred to another device.
-
- FF 54 05 hr mn se fr ff SMPTE Offset (New in 0.06 - SMPTE Format
- specification)
- This event, if present, designates the SMPTE time at which the track
- chunk is supposed to start. It should be present at the beginning of
- the track, that is, before any nonzero delta-times, and before any
- transmittable MIDI events. The hour must be encoded with the SMPTE
- format, just as it is in MIDI Time Code. In a format 1 file, the SMPTE
- Offset must be stored with the tempo map, and has no meaning in any of
- the other tracks. The ff field contains fractional frames, in 100ths of
- a frame, even in SMPTE-based tracks which specify a different frame
- subdivision for delta-times.
-
- FF 58 04 nn dd cc bb Time Signature
- The time signature is expressed as four numbers. nn and dd represent
- the numerator and denominator of the time signature as it would be
- notated. The denominator is a negative power of two: 2 represents a
- quarter-note, 3 represents an eighth-note, etc. The cc parameter
- expresses the number of MIDI clocks in a metronome click. The bb
- parameter expresses the number of notated 32nd-notes in a MIDI quarter-
- note (24 MIDI Clocks). This was added because there are already
- multiple programs which allow the user to specify that what MIDI thinks
- of as a quarter-note (24 clocks) is to be notated as, or related to in
- terms of, something else.
-
- Therefore, the complete event for 6/8 time, where the metronome clicks
- every three eighth-notes, but there are 24 clocks per quarter-note, 72
- to the bar, would be (in hex):
-
- FF 58 04 06 03 24 08
-
- That is, 6/8 time (8 is 2 to the 3rd power, so this is 06 03), 32 MIDI
- clocks per dotted-quarter (24 hex!), and eight notated 32nd-notes per
- MIDI quarter note.
-
- FF 59 02 sf mi Key Signature
- sf = -7: 7 flats
- sf = -1: 1 flat
- sf = 0: key of C
- sf = 1: 1 sharp
- sf = 7: 7 sharps
-
- mi = 0: major key
- mi = 1: minor key
-
- FF 7F len data Sequencer-Specific Meta-Event
-
- Special requirements for particular sequencers may use this
- event type: the first byte or bytes of data is a manufacturer ID.
- However, as this is an interchange format, growth of the spec proper is
- preferred to use of this event type. This type of event may be used by
- a sequencer which elects to use this as its only file format;
- sequencers with their established feature-specific formats should
- probably stick to the standard features when using this format.
-
- 4 Program Fragments and Example MIDI Files
-
- Here are some of the routines to read and write variable-length numbers
- in MIDI Files. These routines are in C, and use getc and putc, which
- read and write single 8-bit characters from/to the files infile and
- outfile.
-
- WriteVarLen (value)
- register long value;
- {
- register long buffer;
-
- buffer = value & 0x7f;
- while ((value >>= 7) > 0)
- {
- buffer <<= 8;
- buffer |= 0x80;
- buffer += (value & 0x7f);
- }
-
- while (TRUE)
- {
- putc(buffer,outfile);
- if (buffer & 0x80)
- buffer >>= 8;
- else
- break;
- }
- }
-
- doubleword ReadVarLen ()
- {
- register doubleword value;
- register byte c;
-
- if ((value = getc(infile)) & 0x80)
- {
- value &= 0x7f;
- do
- {
- value = (value << 7) + ((c = getc(infile)) & 0x7f);
- } while (c & 0x80);
- }
- return (value);
- }
-
- As an example, MIDI Files for the following excerpt are shown below.
- First, a format 0 file is shown, with all information intermingled;
- then, a format 1 file is shown with all data separated into four tracks:
- one for tempo and time signature, and three for the notes. A resolution
- of 96 "ticks" per quarter note is used. A time signature of 4/4 and a
- tempo of 120, though implied, are explicitly stated.
-
-
- The contents of the MIDI stream represented by this example are broken
- down here:
-
- Delta Time(decimal) Event Code (hex) Other Bytes (decimal)
- Comment
- 0 FF 58 04 04 02 24 08 4 bytes: 4/4 time, 24 MIDI
- clocks/click,
- 8 32nd notes/24 MIDI clocks
- 0 FF 51 03 500000 3 bytes: 500,000 5sec per quarter-note
- 0 C0 5 Ch. 1, Program Change 5
- 0 C0 5 Ch. 1, Program Change 5
- 0 C1 46 Ch. 2, Program Change 46
- 0 C2 70 Ch. 3, Program Change 70
- 0 92 48 96 Ch. 3 Note On C2, forte
- 0 92 60 96 Ch. 3 Note On C3, forte
- 96 91 67 64 Ch. 2 Note On G3, mezzo-forte
- 96 90 76 32 Ch. 1 Note On E4, piano
- 192 82 48 64 Ch. 3 Note Off C2, standard
- 0 82 60 64 Ch. 3 Note Off C3, standard
- 0 81 67 64 Ch. 2 Note Off G3, standard
- 0 80 76 64 Ch. 1 Note Off E4, standard
- 0 FF 2F 00 Track End
-
- The entire format 0 MIDI file contents in hex follow. First, the header
- chunk:
-
- 4D 54 68 64 MThd
- 00 00 00 06 chunk length
- 00 00 format 0
- 00 01 one track
- 00 60 96 per quarter-note
-
- Then, the track chunk. Its header, followed by the events (notice that
- running status is used in places):
-
- 4D 54 72 6B MTrk
- 00 00 00 3B chunk length (59)
-
- Delta-time Event Comments
- 00 FF 58 04 04 02 18 08 time signature
- 00 FF 51 03 07 A1 20 tempo
- 00 C0 05
- 00 C1 2E
- 00 C2 46
- 00 92 30 60
- 00 3C 60 running status
- 60 91 43 40
- 60 90 4C 20
- 81 40 82 30 40 two-byte delta-time
- 00 3C 40 running status
- 00 81 43 40
- 00 80 4C 40
- 00 FF 2F 00 end of track
-
- A format 1 representation of the file is slightly different. Its header
- chunk:
-
- 4D 54 68 64 MThd
- 00 00 00 06 chunk length
- 00 01 format 1
- 00 04 four tracks
- 00 60 96 per quarter-note
-
- First, the track chunk for the time signature/tempo track. Its header,
- followed by the events:
-
- 4D 54 72 6B MTrk
- 00 00 00 14 chunk length (20)
-
- Delta-time Event Comments
- 00 FF 58 04 04 02 18 08 time signature
- 00 FF 51 03 07 A1 20 tempo
- 83 00 FF 2F 00 end of track
-
- Then, the track chunk for the first music track. The MIDI convention
- for note on/off running status is used in this example:
-
- 4D 54 72 6B MTrk
- 00 00 00 10 chunk length (16)
-
- Delta-time Event Comments
- 00 C0 05
- 81 40 90 4C 20
- 81 40 4C 00 Running status: note on, vel = 0
- 00 FF 2F 00 end of track
-
- Then, the track chunk for the second music track:
-
- 4D 54 72 6B MTrk
- 00 00 00 0F chunk length (15)
-
- Delta-time Event Comments
- 00 C1 2E
- 60 91 43 40
- 82 20 43 00 running status
- 00 FF 2F 00 end of track
-
- Then, the track chunk for the third music track:
-
- 4D 54 72 6B MTrk
- 00 00 00 15 chunk length (21)
-
- Delta-time Event Comments
- 00 C2 46
- 00 92 30 60
- 00 3C 60 running status
- 83 00 30 00 two-byte delta-time, running status
- 00 3C 00 running status
- 00 FF 2F 00 end of track
-
- 5 MIDI Transmission of MIDI Files
-
- Since it is inconvenient to exchange disks between different computers,
- and since many computers which will use this format will have a MIDI
- interface anyway, MIDI seems like a perfect way to send these files from
- one computer to another. And, while we're going through all the trouble
- to make a way of sending MIDI Files, it would be nice if they could send
- any files (like sampled sound files, text files, etc.)
-
- Goals
- The transmission protocol for MIDI files should be reasonably efficient,
- should support fast transmission for computers which are capable of it,
- and slower transmission for less powerful ones. It should not be
- impossible to convert a MIDI File to or from an arbitrary internal
- representation on the fly as it is transmitted, but, as long as it is
- not too difficult, it is very desirable to use a generic method so that
- any file type could be accommodated.
-
- To make the protocol efficient, the MIDI transmission of these files
- will take groups of seven 8-bit bytes and transmit them as eight 7-bit
- MIDI data bytes. This is certainly in the spirit of the rest of this
- format (keep it small, because it's not that hard to do). To
- accommodate a wide range of transmission speeds, files will be
- transmitted in packets with acknowledge -- this allows data to be stored
- to disk as it is received. If the sender does not receive a response
- from a reader in a certain amount of time, it can assume an open-loop
- situation, and then just continue.
-
- The last edition of MIDI Files contained a specialized protocol for
- sending just MIDI Files. To meet a deadline, unfortunately I don't have
- time right now to propose a new generalized protocol. This will be done
- within the next couple of months. I would welcome any proposals anyone
- else has, and would direct your attention to the proposal from Ralph
- Muha of Kurzweil, available in a recent MMA bulletin, and also directly
- from him.
- --
- Michael S. Czeiszperger | "The only good composer is a dead composer"
- Systems Analyst | Snail: 2015 Neil Avenue (614)
- The Ohio State University | Columbus, OH 43210 292-
- ARPA:czei@accelerator.eng.ohio-state.edu PAN:CZEI
-
-
-
- *******************************************************************************
-
-
- Frage: Welche Buecher und Unterlagen gibt es ueber Midi?
-
- Antwort:
-
- Steve De Furia & Joe Scacciaferro, Anmerkung:"Dieses Buch ist scheinbar die
- "MIDI Programmer's Handbook" Bibel fuer MIDI"
- M&T Books
- ISBN 1-55851-068-0
-
- P.Gorges und A.Merck
- "Keyboards,MIDI,Homerecording"
- Muenchen, 1989, GC Carstensen Verlag
- ISBN 3-90802026-3-1
-
- [1] Siegfried Just: <MIDITALK - Standard MIDI-Files>. ST-Computer 12/90.
- Heim-Verlag, S. 144ff,
-
- [2] Michael Cxelperger: <Introducing Standard MIDI File>. Electronic Musican,
- April 1989, S. 50ff
-
- [3] <Standard-MIDI-File in C / Babylon entschlsselt>. 68000er ST-magazin
- 10/91 - 11/91. Markt & Technik.
-
- [4] Kai Schwirzke: <MIDI macht die Musik - Standard MIDI-File-Format>. c't -
- magazin fr computer technik 07/93, S.232ff Heise Verlag
-
-
-
- This is a bibliography on synthesizers, midi, computer and electronic music
- that I have collected from various sources. I have tried to bring some
- structure into it, but not all books will fit into a single subject.
- NOTE: I haven't read these books, and the comments are from other people.
- On some of them I lost the original commentor's name. Sorry about that. If
- you have additions or correction to this information, please mail me. The
- latest version of this file can be obtained by ftp from ftp.cs.ruu.nl
- [131.211.80.17] in MIDI/DOC/bibliography or by mail from
- mail-server@cs.ruu.nl (send a message with HELP in the body).
-
- There is a more scientifically-oriented bibliography available in the
- Computer Music Journal archives, on the ftp sites mitpress.mit.edu
- /pub/Computer-Music-Journal/EdNotes or ccrma-ftp.stanford.edu
- /pub/Publications/cmj/EdNotes. Some references in this file that belong in
- that category will be removed in the future.
-
- ------------------------------ MIDI ------------------------------
-
- The most-up-to-date printed specs for General MIDI, MIDI, and the MIDI
- file format can also be obtained for a few bucks from:
-
- International MIDI Association
- 23634 Emelita Street
- Woodland Hills, California 91367 USA
- ------------------------------------------------------------------------
- Title: Computer music in C / Phil Winsor & Gene DeLisa.
- Publisher: Blue Ridge Summit, PA : TAB Books (Windcrest label), c1991.
- Subjects: Computer sound processing.
- Computer composition.
- C (Computer program language)
- Midi programming
- ISBN: 0-8306-3637-4 (p) : $22.95
- It has a C source disk for the PC available for $25.
- ------------------------------------------------------------------------
- Title: Mind over MIDI / edited by Dominic Milano ; by the editors
- of Keyboard magazine.
- Publisher: Milwaukee, WI : H. Leonard Books, c1987.
- Series Name: The Keyboard magazine basic library
- Other Series Names: Keyboard synthesizer library.
- Subjects: MIDI (Standard)
- Computer sound processing.
- ISBN: 0-88188-551-7 (pbk.) : $12.95
-
- The book consists mostly of reprints of KEYBOARD magazine
- articles from the early-mid '80s plus several appendixes containing
- the MIDI 1.0 specification, a list of references, a glossary, etc.
- ------------------------------------------------------------------------
- Title: MIDI- und sound-buch zum Atari ST. English
- Title: MIDI and sound book for the Atari ST / Bernd Enders and
- Wolfgang Klemme.
- Publisher: Redwood City, Calif. : M & T Pub., c1989.
- Subjects: Computer music--Instruction and study.
- Computer sound processing.
- MIDI (Standard)
- Atari ST computers--Programming.
- ISBN: 1-55851-042-7 : $17.95
- ------------------------------------------------------------------------
- Atari ST Introduction to MIDI Programming
- Len Dorfman and Dennis Young
- ISBN 0-916439-77-1
-
- Bantam Books,Inc.
- 666 5th Avenue
- New York,New York
- 10103
- ------------------------------------------------------------------------
- Title: Music through MIDI : using MIDI to create your own
- electronic music system / Michael Boom.
- Publisher: Redmond, Wash. : Microsoft Press, c1987.
- Subjects: MIDI (Standard)
- Subjects: Musical instruments, Electronic.
- Subjects: Electronic music--Instruction and study.
- Subjects: Computer sound processing.
- ISBN: 1-55615-026-1 (pbk.) : $19.95
- ------------------------------------------------------------------------
- Title: The MIDI drummer : by a drummer for a drummer-- / by David
- Crigger.
- Publisher: Newbury Park, CA : Alexander Pub., c1987.
- Subjects: Electronic percussion instruments--Instruction and study.
- MIDI (Standard)
- ------------------------------------------------------------------------
- Title: MIDI for guitarists / by Bob Ward and Marty Cutler ;
- Publisher: London ; New York : Amsco Publications ; New York, NY, USA
- : Exclusive distributors Music Sales Corp., c1988.
- Subjects: Electric guitar--Instruction and study.
- MIDI (Standard)
- ISBN: 0-8256-1126-1 (U.S.)
- ------------------------------------------------------------------------
- Title: MIDI for musicians / by Craig Anderton.
- Publisher: New York : Amsco Publications, c1986.
- Subjects: MIDI (Standard)
- Computer sound processing.
- ISBN: 0-8256-1050-8 (pbk.)
- ISBN: 0-8256-2214-X (pbk. : cover)
- ------------------------------------------------------------------------
- Title: MIDI guitar : a complete applications directory for the
- modern guitarist / [by Rey Sanchez ; forward [sic] by
- Randy Bernsen].
- Publisher: Miami, FL : CPP/Belwin, c1988.
- Subjects: MIDI (Standard)
- Computer sound processing.
- Electric guitar.
- ISBN: 0-89898-544-7 : $15.95
- ------------------------------------------------------------------------
- Title: Midi guitar and synthesis : the basics of guitar synthesis
- / by Paul Youngblood.
- Publisher: Milwaukee, WI : H. Leonard Pub. Co., c1989.
- Subjects: MIDI (Standard)
- Computer sound processing.
- Electric guitar.
- ISBN: 0-88188-886-9 : $14.95
- ------------------------------------------------------------------------
- Title: The MIDI home studio / by Howard Massey.
- Publisher: London ; New York : Amsco Publications ; New York, NY, USA
- : Music Sales Corp. [distributor], c1988.
- ISBN: 0-8256-1127-X (U.S.)
- ------------------------------------------------------------------------
- Title: The MIDI manual / David Miles Huber.
- Publisher: Carmel, Ind., USA : Howard W. Sams, c1991.
- ISBN: 0-672-22757-6, 250pp.
- ------------------------------------------------------------------------
- Title: The MIDI programmer's handbook / Steve De Furia and Joe
- Scacciaferro, Ferro Technologies.
- Publisher: Redwood City, Calif. : M&T Pub., c1989.
- ISBN: 1-55851-068-0, 250 pp. Paperback. $24.95 Mix Bookshelf part # 3539C
-
- *** This book is now out of print ***
-
- New, advanced MIDI desk reference is perfect for programmers and MIDI power
- users. The heart of the book is a summary and explanation of every MIDI
- command, in hex, binary, decimal and English. Also features detailed
- discussion of software design concerns, synchronization formats, MTC,
- sample dump, MIDI files and system exclusive processing.
-
- It discusses writing software to handle MIDI information at the application
- level. In other words, they assume you have already written or otherwise
- obtained access to the necessary code to talk to your hardware to send and
- receive the MIDI data. This approach frees the entire discussion from
- being tied to any particular hardware or programming approach. Instead, it
- spends its time on that which is valuable to the experienced programmer.
- Issues such as MIDI file format, timing (SMPTE, MTC, etc), parsing MIDI
- data and processing it, MIDI sample dump standard, etc. are all handled in
- fine detail.
- ------------------------------------------------------------------------
- THE MIDI IMPLEMENTATION BOOK, Defuria & Scacciaferro
- Contains complete documentation of MIDI commands implemented by more than
- 200 instruments. This data has come directly from hardware manufacturers
- and allows you to find MIDI functions of specific instruments, compare
- features of similar instruments and choose equipment to meet specific
- applications. A standard, one-page implementation chart is used for each
- product. ISBN ISBN 0-88188-558-4, 1986, 216 pp. $19.95
-
- Mix Bookshelf, 1-800-233-9604 (US & Canada). Doesn't say who publishes
- it, and its terribly out-dated (1986), but they might have published
- another addition by now.
-
- The MIDI System Exclusive Book by Steve De Furia and Joe Scacciaferra,
- Third Earth Productions, Pompton Lakesm N.J. Distributed by Hal
- Leonard Books. ISBN ISBN 0-88188-586-x (1987)
-
- The MIDI Resource Book. Same guys. ISBN 0-88188-587-8
- ------------------------------------------------------------------------
- Title: MIDI programming for the Macintosh / Steve De Furia and Joe
- Scacciaferro.
- Publisher: Redwood City, CA : M&T Books, 1988.
- Subjects: MIDI (Standard)
- Computer sound processing.
- Macintosh (Computer)--Programming.
- ISBN: 1-55851-021-4 : $22.95
- ISBN: 1-55851-022-2 (book & disk) : $39.95
- ISBN: 1-55851-023-0 (disk) : $20.00
- ------------------------------------------------------------------------
- Title: C Programming for MIDI / Jim Conger.
- Publisher: Redwood City, Calif. : M&T Books, 1989.
- 501 Galveston Drive Redwood City, CA 94063
- Subjects: MIDI, C, sequencing
- This book shows how to use the basic features of an MPU-401 interface.
- Includes a disk with MS-DOS code.
- ------------------------------------------------------------------------
- Title: MIDI sequencing in C / Jim Conger.
- Publisher: Redwood City, Calif. : M&T Books, 1989.
- 501 Galveston Drive Redwood City, CA 94063
- Subjects: MIDI (Standard)
- C (Computer program language)
- Sequential processing (Computer science)
- ISBN: 1-55851-045-1 (book) : $24.95
- ISBN: 1-55851-047-8 (disk) : $20.00
- ISBN: 1-55851-046-X (set) : $39.95
- This book continues where the provious one lefts off.
- ------------------------------------------------------------------------
- Title: MIDI systems and control / Francis Rumsey.
- Publisher: London ; Boston : Focal Press, 1990.
- Subjects: MIDI (Standard)
- Computer sound processing.
- ISBN: 0-240-51300-2 : $14.95 (U.S.)
- ------------------------------------------------------------------------
- Title: MIDI, the ins, outs & thrus / by Jeff Rona ; edited by
- Ronny S. Schiff.
- Publisher: Milwaukee, Wis. : H. Leonard Books, c1987.
- Notes: "A complete guide to the understanding, use, and buying of
- MIDI instruments"--Cover.
- Subjects: MIDI (Standard)
- Computer sound processing.
- ISBN: 0-88188-560-6 (pbk.) : $12.95
- ------------------------------------------------------------------------
- Title: MIDI : a comprehensive introduction / Joseph Rothstein.
- Publisher: Madison, Wis. : A-R Editions, c1992.
- Subjects: MIDI (Standard)
- Series: The Computer music and digital audio series ; v. 7
- ISBN: 0-89579-258-3 : $39.95
- ------------------------------------------------------------------------
- Microsoft Press put out a book on midi programming. I
- think that this is rather a weak book, but it might serve
- as an introduction for non-computer folk.
- ------------------------------------------------------------------------
- Several other books are out that were written by musicians.
- They are interesting as a intro to using midi, but contain
- a dearth of info from my perspective. As a programmer, I
- have the wrong perspective to sort these out.
- ----------------------------------------------------------------------------
-
- Die offiziziellen Spezifikationen zu MIDI gibt es mittlerweile
- bei M3C Systemtechnik in Berlin (in Englisch). Die Dokumente sind vergleichbar
- den DIN Blaettern zu den einzelnen DIN Vorschriften. Sehr technisch ohne
- zusaetzliche Erlaeuterungen, englisch.
-
- M3C Systemtechnik
- GrossbeerenstraBe 51
- 10965 Berlin
-
- MIDI 1.0 Spec+Addenda...79.- DM
- General MIDI Spec...25.- DM
- Standard MIDI File Spec...25.- DM
- MIDI Machine Control Spec...58.- DM
- MIDI Show Control Spec...25.- DM
-
- Jeweils (etwa) DIN A4 , erster Titel geheftet, die anderen geklammert.
-
- ----------------------------------------------------------------------------
-
- Fast vergessen haette ich:
-
- ONLINE HELP (fuer ATARI - PC - MAC)
- MIDI Xplained
- Sprache Englisch (Zetterquist Software)
- Vertrieb Steinberg DM 69,--
-
- ----------------------------------------------------------------------------
-
- WEITERE INFOS IN ANDEREN MAILBOXEN:
-
- Wende Dich am besten an Alexander Weis(2:2464/112.108). Er hat eine
- hervorragende MIDI-Dokumentation geschrieben (MIDITALK). Da steht alles drin,
- was Du wissen musst!
- .........................................
-
- In der Maus S3, 0711 2368367 (bitte nicht von 21:10-21:35 Uhr, Netz) unter
- dem Namen MIDILIT.LZH, da sind neben Buechern ueber MIDI dann auch noch
- Quellen zu Synthesizer-Grundlagen und Computer-Musik allgemein dabei.
-
- Oder fuer die FTPler: ftp.cs.ruu.nl /pub/MIDI/DOC/bibliography
-
-
- *******************************************************************************
-
-
- Frage: Welche Funktion, Wert und Namen haben die MIDI-Controller ?
-
- Antwort:
-
- Hier die neueste Liste aus dem TSBB #18 vom Juli 92:
-
- Defined Continuous Controllers:
-
- 14-Bit Controllers (MSB/LSB):
- dec hex Function:
- 00/32 00/20 Bank Select
- 01/33 01/21 Modulation
- 02/34 02/22 Breath
- 03/35 03/23 (undefined) (formerly Aftertouch)
- 04/36 04/24 Foot Pedal
- 05/37 05/25 Portamento Time
- 06/38 06/26 Data Entry
- 07/39 07/27 Main Volume
- 08/40 08/28 Balance
- 09/41 09/29 (undefined)
- 10/42 0A/2A Pan
- 11/43 0B/2B Expression
- 12/44 0C/2C Effect Control 1
- 13/45 0D/2D Effect Control 2
- 14/46 0E/2E (undefined)
- 15/47 0F/2F (undefined)
- 16/48 10/30 General Purpose #1 (formerly Joystick X Axis)
- 17/49 11/31 General Purpose #2 (formerly Joystick Y Axis)
- 18/50 12/32 General Purpose #3
- 19/51 13/33 General Purpose #4
- 20/52 14/34 (undefined)
- 21/53 15/35 (undefined)
- 22/54 16/36 (undefined)
- 23/55 17/37 (undefined)
- 24/56 18/38 (undefined)
- 25/57 19/39 (undefined)
- 26/58 1A/3A (undefined)
- 27/59 1B/3B (undefined)
- 28/60 1C/3C (undefined)
- 29/61 1D/3D (undefined)
- 30/62 1E/3E (undefined)
- 31/63 1F/3F (undefined) (formerly Damp, Pitch Bend Sensitivity)
-
- 7-Bit Controllers (formerly switches):
- dec hex Function:
- 64 40 Damper/Sustain/Hold #1
- 65 41 Portamento On/Off
- 66 42 Sustenuto
- 67 43 Soft Pedal
- 68 44 Legato Footswitch
- 69 45 Hold #2
- 70 46 Sound Controller #1 (default: Sound Variation) (formerly Velocity
- Replace)
- 71 47 Sound Controller #2 (default: Timbre/Harmonic Intensity)
- 72 48 Sound Controller #3 (default: Release Time)
- 73 49 Sound Controller #4 (default: Attack Time)
- 74 4A Sound Controller #5 (default: Brightness)
- 75 4B Sound Controller #6 (default: undefined)
- 76 4C Sound Controller #7 (default: undefined)
- 77 4D Sound Controller #8 (default: undefined)
- 78 4E Sound Controller #9 (default: undefined)
- 79 4F Sound Controller #10 (default: undefined)
- 80 50 General Purpose #5
- 81 51 General Purpose #6
- 82 52 General Purpose #7
- 83 53 General Purpose #8
- 84 54 Portamento Control
- 85 55 (undefined)
- 86 56 (undefined)
- 87 57 (undefined)
- 88 58 (undefined)
- 89 59 (undefined)
- 90 5A (undefined)
- 91 5B Effect 1 Depth (formerly External Effects Depth)
- 92 5C Effect 2 Depth (formerly Tremolo Depth)
- 93 5D Effect 3 Depth (formerly Chorus Depth)
- 94 5E Effect 4 Depth (formerly Celeste Depth)
- 95 5F Effect 5 Depth (formerly Phaser Depth)
- 96 60 Data Increment
- 97 61 Data Decrement
- 98 62 Non-Registered Parameter LSB
- 99 63 Non-Registered Parameter MSB
- 100 64 Registered Parameter LSB
- 101 65 Registered Parameter MSB
- 102 66 *Mono Pitch (proposed; pending MMA & JMSC)
- 103 67 (undefined)
- 104 68 (undefined)
- 105 69 (undefined)
- 106 6A (undefined)
- 107 6B (undefined)
- 108 6C (undefined)
- 109 6D (undefined)
- 110 6E (undefined)
- 111 6F (undefined)
- 112 70 (undefined)
- 113 71 (undefined)
- 114 72 (undefined)
- 115 73 (undefined)
- 116 74 (undefined)
- 117 75 (undefined)
- 118 76 (undefined)
-
- Channel Mode Messages:
- dec hex Function:
- 119 77 *Mute Channel (proposed; pending JMSC)
- 120 78 All Sound Off
- 121 79 Reset All Controllers
- 122 7A Local Control On/Off
- 123 7B All Notes Off
- 124 7C Omni Mode Off
- 125 7D Omni Mode On
- 126 7E Mono Mode Off
- 127 7F Mono Mode On
-
- Registered Parameters (MSB/LSB):
- dec hex Function:
- 00/00 00/00 Pitch bend Sensitivity
- 00/01 00/01 Fine Tuning
- 00/02 00/02 Coarse Tuning
- 00/03 00/03 Tuning Program Select
- 00/04 00/04 Tuning Bank Select
- 127/127 7F/7F *Null Controller (proposed; pending MMA)
- ------------------------------------------------------------------------------
-
-
- Oder in anderer Form (schon etwas aelter... muss also nicht mehr stimmen):
-
- Table 3: Status Bytes 176-191; Control and Mode Changes (per channel)
- (adapted from "MIDI by the Numbers" by D. Valenti-Electronic Musician 2/88)
- ------------------------------------------------------------------------------
- 2nd Byte Value | Function | 3rd Byte
- Binary |Hex|Dec | | Value | Use
- - - - - -|- -|- - | - - - - - - - - - - - - - - - - - - - -|- - - - | - - - -
- 00000000= 00= 0 | Continuous controller #0 | 0-127 | MSB
- 00000001= 01= 1 | Modulation wheel | 0-127 | MSB
- 00000010= 02= 2 | Breath control | 0-127 | MSB
- 00000011= 03= 3 | Continuous controller #3 | 0-127 | MSB
- 00000100= 04= 4 | Foot controller | 0-127 | MSB
- 00000101= 05= 5 | Portamento time | 0-127 | MSB
- 00000110= 06= 6 | Data Entry | 0-127 | MSB
- 00000111= 07= 7 | Main Volume | 0-127 | MSB
- 00001000= 08= 8 | Continuous controller #8 | 0-127 | MSB
- 00001001= 09= 9 | Continuous controller #9 | 0-127 | MSB
- 00001010= 0A= 10 | Continuous controller #10 | 0-127 | MSB
- 00001011= 0B= 11 | Continuous controller #11 | 0-127 | MSB
- 00001100= 0C= 12 | Continuous controller #12 | 0-127 | MSB
- 00001101= 0D= 13 | Continuous controller #13 | 0-127 | MSB
- 00001110= 0E= 14 | Continuous controller #14 | 0-127 | MSB
- 00001111= 0F= 15 | Continuous controller #15 | 0-127 | MSB
- 00010000= 10= 16 | Continuous controller #16 | 0-127 | MSB
- 00010001= 11= 17 | Continuous controller #17 | 0-127 | MSB
- 00010010= 12= 18 | Continuous controller #18 | 0-127 | MSB
- 00010011= 13= 19 | Continuous controller #19 | 0-127 | MSB
- 00010100= 14= 20 | Continuous controller #20 | 0-127 | MSB
- 00010101= 15= 21 | Continuous controller #21 | 0-127 | MSB
- 00010110= 16= 22 | Continuous controller #22 | 0-127 | MSB
- 00010111= 17= 23 | Continuous controller #23 | 0-127 | MSB
- 00011000= 18= 24 | Continuous controller #24 | 0-127 | MSB
- 00011001= 19= 25 | Continuous controller #25 | 0-127 | MSB
- 00011010= 1A= 26 | Continuous controller #26 | 0-127 | MSB
- 00011011= 1B= 27 | Continuous controller #27 | 0-127 | MSB
- 00011100= 1C= 28 | Continuous controller #28 | 0-127 | MSB
- 00011101= 1D= 29 | Continuous controller #29 | 0-127 | MSB
- 00011110= 1E= 30 | Continuous controller #30 | 0-127 | MSB
- 00011111= 1F= 31 | Continuous controller #31 | 0-127 | MSB
- 00100000= 20= 32 | Continuous controller #0 | 0-127 | LSB
- 00100001= 21= 33 | Modulation wheel | 0-127 | LSB
- 00100010= 22= 34 | Breath control | 0-127 | LSB
- 00100011= 23= 35 | Continuous controller #3 | 0-127 | LSB
- 00100100= 24= 36 | Foot controller | 0-127 | LSB
- 00100101= 25= 37 | Portamento time | 0-127 | LSB
- 00100110= 26= 38 | Data entry | 0-127 | LSB
- 00100111= 27= 39 | Main volume | 0-127 | LSB
- 00101000= 28= 40 | Continuous controller #8 | 0-127 | LSB
- 00101001= 29= 41 | Continuous controller #9 | 0-127 | LSB
- 00101010= 2A= 42 | Continuous controller #10 | 0-127 | LSB
- 00101011= 2B= 43 | Continuous controller #11 | 0-127 | LSB
- 00101100= 2C= 44 | Continuous controller #12 | 0-127 | LSB
- 00101101= 2D= 45 | Continuous controller #13 | 0-127 | LSB
- 00101110= 2E= 46 | Continuous controller #14 | 0-127 | LSB
- 00101111= 2F= 47 | Continuous controller #15 | 0-127 | LSB
- 00110000= 30= 48 | Continuous controller #16 | 0-127 | LSB
- 00110001= 31= 49 | Continuous controller #17 | 0-127 | LSB
- 00110010= 32= 50 | Continuous controller #18 | 0-127 | LSB
- 00110011= 33= 51 | Continuous controller #19 | 0-127 | LSB
- 00110100= 34= 52 | Continuous controller #20 | 0-127 | LSB
- 00110101= 35= 53 | Continuous controller #21 | 0-127 | LSB
- 00110110= 36= 54 | Continuous controller #22 | 0-127 | LSB
- 00110111= 37= 55 | Continuous controller #23 | 0-127 | LSB
- 00111000= 38= 56 | Continuous controller #24 | 0-127 | LSB
- 00111001= 39= 57 | Continuous controller #25 | 0-127 | LSB
- 00111010= 3A= 58 | Continuous controller #26 | 0-127 | LSB
- 00111011= 3B= 59 | Continuous controller #27 | 0-127 | LSB
- 00111100= 3C= 60 | Continuous controller #28 | 0-127 | LSB
- 00111101= 3D= 61 | Continuous controller #29 | 0-127 | LSB
- 00111110= 3E= 62 | Continuous controller #30 | 0-127 | LSB
- 00111111= 3F= 63 | Continuous controller #31 | 0-127 | LSB
- 01000000= 40= 64 | Damper pedal on/off (Sustain) | 0=off | 127=on
- 01000001= 41= 65 | Portamento on/off | 0=off | 127=on
- 01000010= 42= 66 | Sustenuto on/off | 0=off | 127=on
- 01000011= 43= 67 | Soft pedal on/off | 0=off | 127=on
- 01000100= 44= 68 | Undefined on/off | 0=off | 127=on
- 01000101= 45= 69 | Undefined on/off | 0=off | 127=on
- 01000110= 46= 70 | Undefined on/off | 0=off | 127=on
- 01000111= 47= 71 | Undefined on/off | 0=off | 127=on
- 01001000= 48= 72 | Undefined on/off | 0=off | 127=on
- 01001001= 49= 73 | Undefined on/off | 0=off | 127=on
- 01001010= 4A= 74 | Undefined on/off | 0=off | 127=on
- 01001011= 4B= 75 | Undefined on/off | 0=off | 127=on
- 01001100= 4C= 76 | Undefined on/off | 0=off | 127=on
- 01001101= 4D= 77 | Undefined on/off | 0=off | 127=on
- 01001110= 4E= 78 | Undefined on/off | 0=off | 127=on
- 01001111= 4F= 79 | Undefined on/off | 0=off | 127=on
- 01010000= 50= 80 | Undefined on/off | 0=off | 127=on
- 01010001= 51= 81 | Undefined on/off | 0=off | 127=on
- 01010010= 52= 82 | Undefined on/off | 0=off | 127=on
- 01010011= 53= 83 | Undefined on/off | 0=off | 127=on
- 01010100= 54= 84 | Undefined on/off | 0=off | 127=on
- 01010101= 55= 85 | Undefined on/off | 0=off | 127=on
- 01010110= 56= 86 | Undefined on/off | 0=off | 127=on
- 01010111= 57= 87 | Undefined on/off | 0=off | 127=on
- 01011000= 58= 88 | Undefined on/off | 0=off | 127=on
- 01011001= 59= 89 | Undefined on/off | 0=off | 127=on
- 01011010= 5A= 90 | Undefined on/off | 0=off | 127=on
- 01011011= 5B= 91 | Undefined on/off | 0=off | 127=on
- 01011100= 5C= 92 | Undefined on/off | 0=off | 127=on
- 01011101= 5D= 93 | Undefined on/off | 0=off | 127=on
- 01011110= 5E= 94 | Undefined on/off | 0=off | 127=on
- 01011111= 5F= 95 | Undefined on/off | 0=off | 127=on
- -----------------
- 01100000= 60= 96 | Data entry +1 | 127
- 01100001= 61= 97 | Data entry -1 | 127
- 01100010= 62= 98 | Undefined | ?
- 01100011= 63= 99 | Undefined | ?
- 01100100= 64= 100 | Undefined | ?
- 01100101= 65= 101 | Undefined | ?
- 01100110= 66= 102 | Undefined | ?
- 01100111= 67= 103 | Undefined | ?
- 01100111= 67= 103 | Undefined | ?
- 01100111= 67= 103 | Undefined | ?
- 01100111= 67= 103 | Undefined | ?
- 01100111= 67= 103 | Undefined | ?
- 01101000= 68= 104 | Undefined | ?
- 01101001= 69= 105 | Undefined | ?
- 01101010= 6A= 106 | Undefined | ?
- 01101011= 6B= 107 | Undefined | ?
- 01101100= 6C= 108 | Undefined | ?
- 01101101= 6D= 109 | Undefined | ?
- 01101110= 6E= 110 | Undefined | ?
- 01101111= 6F= 111 | Undefined | ?
- 01110000= 70= 112 | Undefined | ?
- 01110001= 71= 113 | Undefined | ?
- 01110010= 72= 114 | Undefined | ?
- 01110011= 73= 115 | Undefined | ?
- 01110100= 74= 116 | Undefined | ?
- 01110101= 75= 117 | Undefined | ?
- 01110110= 76= 118 | Undefined | ?
- 01110111= 77= 119 | Undefined | ?
- 01111000= 78= 120 | Undefined | ?
- 01111001= 79= 121 | Undefined | ?
- 01111010= 7A= 122 | Local control on/off | 0=off 127=on
- 01111011= 7B= 123 | All notes off (!!) | 0
- 01111100= 7C= 124 | Omni mode off (includes all notes off) | 0
- 01111101= 7D= 125 | Omni mode on (includes all notes off) | 0
- 01111110= 7E= 126 | Poly mode on/off(includes all notes off)| **
- 01111111= 7F= 127 | Poly mode on(incl mono=off&all notes off)| 0
-
- **Note: This equals the number of channels, or zero if the number of channels
- equals the number of voices in the receiver.
-
-
- *******************************************************************************
-
-
- Frage: Wie ist die Beschaltung eines MIDI-Kabels fuer SoundBlaster/GUS ?
-
- Antwort:
- Vorschlag 1:
- ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- º Soundblaster - Card - Midi - Interface º
- ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
-
- ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
- ³ + 5 Volt ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ _____
- ³ O ³ ÚÄÄÄÄÄÄÄÄ¿ ³ ÃÄÄ|_____|ÄÄÄÄO + 5 Volt
- ³ ³ ÚÄÄÄijÄÄijÄÄÄÄ¿ ³ ³ ³ R5
- ³ ³ ÚÁÄ¿ ³ ÚÁÄ¿ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄ¿
- ³ ÚÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄ¿ ³ ³ ÚÄÄÅÄÄÅÄÄÅÄÄ¿ ³
- ³ ³ 14 13 12 11 10 09 08 ³ ³ ³ ³ 6 5 4 ³ Á
- ³ Ão IC 1 ³ ³ ³ ³ OC 1 ³ Gnd
- ³ ³ 01 02 03 04 05 06 07 ³ ³ ³ ³ 1 2 3 ³
- ³ ÀÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄÄÅÄÙ ³ ³ ÀÄÄÅÄÄÅÄÄÅÄÄÙ
- ÀÄÄÄÄÁÄÄÙ ÀÄÄÁÄÄÙ ³ Á ³ ³ ³ ³
- RXD 15 oÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Gnd ³ ³ ³ ³
- 14 o ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÀÄÄÄ¿
- 13 o ³ + 5 Volt ³ ³ ³
- TXD 12 oÄÄÄÙ O ³ ÃÄÄ|<ÄÄ´
- 11 o ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ D1 ³
- 10 o ³ | | | | | | | |
- +5V 9 oÄÄÄ´ R4| | R3| | R1| | R2| |
- 8 o ³ ÚÄÄÂÄÄÄÄÄÄ¿ |_| |_| |_| |_|
- 7 o ³ ³ Á ³ ³ ³ ³ ³
- 6 o ³ ³ Gnd O O O O O
- Gnd 5 oÄÂijÄÄÄÙ (2) (4) (5) (4) (5)
- 4 oÄÙ ³ Midi OUT Midi IN
- 3 o ³
- 2 o ³
- 1 oÄÄÄÙ
- Game-Port
-
- Stueckliste:
- ÄÄÄÄÄÄÄÄÄÄÄ
-
- R1 - R4 = 220 Ohm
- R5 = 4.7 kOhm
- D1 = 1 N 4148
- IC1 = 74LS00
- OC1 = CNY 17
-
- Mehr ist nicht zum Bau der Midi - Schnittstelle fuer
- die Soundblaster-Card noetig.
- Natuerlich fehlen in der Stueckliste jetzt noch die diversen Stecker und
- Sockel.
- Diese Schnittstelle laeuft seit geraumer Zeit bei Guido Schulze (2:245/32.2)
- und bei mir ohne Probleme. Die Stromversorgung fuer diese Schnittstelle
- kann man getrost vom Game-Port der SB-Card abnehmen.
- Diese Schaltung ist nach der Vorlage des Buches 'Midi auf dem PC XT/AT'
- aus dem Markt & Technik - Verlag entwickelt worden.
-
- Insgesamt kosten die Bauteile ca. 10 DM
-
- Viel Spass beim Basteln ....
-
- Ruediger Fuchs (2:245/32.0)
-
- --------------------------------------------------------------------------
- Vorschlag 2:
-
- Die folgende Schaltung funktioniert fuer meine Gravis Ultrasound.
- Ich ueber nehme keine Garantie, wenn nach dem Anschluss
- an deine Soundkarte sich bei dir die Festplatte verbiegt,
- deine Freunding schwanger wird oder sonst was passiert...
-
-
- 15 pin D connector
- 220R
- pin-1 +5v ----+--------------------------/\/\/\---------------\
- | \ 4
- | Gnd--2 MIDI OUT
- | |\ |\ 220R / 5
- pin-12 tr >---|------| o-----| o----------/\/\/\--------------/
- | 14|/ 13 12|/ 10
- | 220R
- +---------------------------/\/\/\-------------\
- | \ 4
- pin-15 rx <---|--------------------+ Gnd--2 MIDI THRU
- | |\ |\ | 220R / 5
- | +--| o-----| o---+-------/\/\/\------------/
- | | 1|/ 2 3|/ 4
- | |
- | +------+
- | 270R* | 220R
- +--/\/\/\--+ +------+----------/\/\/\--------\
- |B |C |A | \ 4
- +-|----------|----|-+ | MIDI IN
- | 8 6 2 | ----- / 5
- | | / \ IN914 or IN4148 +-/
- | 6N138** | --- |
- | | | |
- | 5 3 | | |
- +------------|----|-+ | |
- | |K | |
- pin-5 Gnd --------------+ +------+----------------------+
-
-
- Inverters are LS7404
- Leave pin 2 of the MIDI IN unconnected (Don't connect to ground)
-
- * this resistor was 5.6K in the original post, I used a the 6N138 optoisolator
- and found that this value was too high as not enough current was allowed
- to sink into the collector of the output transistor.
-
- **In the original post this was 6N135, I could not readily find this here
- (Australia) so I used 6N138 which I think is funcionally the same,
- one of the catalogues stated that this is a "high speed MIDI standard"
- device.
-
-
- Das ganze hat mich ca. 10,- DM gekostet, ein Gehaeuse hatte ich
- noch ueber.
-
- _______________________________________________________________________________
-
- Vorschlag 3:
-
- Da muss etwas Elektronik zwischen. Die Teile kann man aber in den Steckern
- unterbringen, weil es nur wenig Bauteile sind. Am Computer ist der 15pol Sub-D
- Stecker. Am Keyboard sind zwei 5pol DIN-Stecker. Der Computer ist links
- gezeichnet:
-
-
- Computer --> Keyboard:
-
-
- 150 Ohm
- Pin 12 O-----------[===]---------+----O Pin 5
- |
- 220pF ===
- |
- Pin 9 O-----------[===]---------+----O Pin 4
- 150 Ohm
-
-
- Computer <-- Keyboard:
-
- Cny 17
- ___
- Pin 4 O-------| |
- Pin 15 O--+----| |--------------+
- | |_*_|-----+--|<|---+------+------O Pin 5
- |~| | 1N4148 |
- |_| | === 220pF
- | 2,2k Ohm | |
- Pin 8 O--+ +----[===]------+------O Pin 4
- 220 Ohm
-
-
-
- Vie Spass beim Basteln. PS: Mach keinen Kurzschluss, das koennte die Soundarte
- nicht moegen.
-
- -------------------------------------------------------------------------------
-
- Vorschlag 4:
-
- DO IT YOURSELF: SOUND BLASTER MIDI INTERFACE
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- The following text explains how to build a MIDI interface for the
- Sound Blaster. The circuit is my own design, but works just like
- the commercially available interfaces that retails for $60-$90.
-
- Here is the list of parts necessary:
-
- Qty. Part
-
- 1 Sharp PC900 or HP 6N138 opto-isolator
- 1 DB15P (15 pin 'D' connector, male. like joystick connector)
-
- 3 220 ohm resistors (2 for input, 1 for EACH output you need)
- 1 3 conductor shielded cable (length is up to you)
- 2 Female 5 pin DIN connector (1 for input, 1 for each output you need)
- 1 PC board with pre-drilled holes (about 2" x 2" from Radio Shack)
- A few short lengths of hook-up wire
-
- All of these parts, except the first 2, are available from Radio Shack.
-
- Here is a diagram of the DB15P connector (looking at the solder side).
- gesehen von der Loetseite
- 1 5 8
- o o o o o o o o
- o o o o o o o
- 9 12 15
-
- Here is the 5 pin FEMALE DIN plug (solder side).
- 5 polige DIN-Buchse-/(-nstecker) von der Loetseite gesehen
- 2
- 5 o 4
- o o
- 3 o o 1
-
-
- This is the circuit for the MIDI INPUT.
-
-
- +-----> To pin 5 of 'D' connector
- |
- To pin 15 of 'D' connector <---+ | +-------+-----> To pin 9 of 'D' con.
- | | | |
- | 6 |5 |4 \
- +---------------+ / 220 ohm
- | PC900 | \ resistor
- | or | /
- | HP 6N138 | |
- +---------------+ +------> To pin 6 of PC 900
- |1 |2 |3
- | | |
- \ | +-----> No connection
- 220 ohm / |
- resistor \ |
- / +-----> To pin 5 of DIN connector
- |
- To pin 4 of DIN connector <----+
-
-
- Don't overlook the two 220 ohm resistors.
-
- Also, for cables longer than a few feet, connect pin 2 of the DIN to pin
- 5 of the 'D' connector.
-
-
- The output circuit is much simpler.
-
- 220 ohm resistor
- To pin 12 of 'D' connector <---------/\/\/\/\/---------> To pin 5 of DIN con.
-
- To pin 15 of 'D' connector <---------------------------> To pin 4 of DIN con.
-
- Also, for cables longer than a few feet, connect pin 2 of the DIN to pin
- 5 of the 'D' connector.
-
-
- This circuit has been built and tested by me, using Voyetra's SPJr, and
- a cheap-o Casio keyboard. The input and output do work as shown here, but I
- don't have any other MIDI devices to use to test using more than 1 output
- device. Theoretically, it should work fine, but it has not been tested.
-
- The chances of hurting anything by trying is slim and none.
-
- This circuit DOES work, but I make no guarantees, nor will I be
- held responsible for any damages you may cause from your use of
- this information.
-
- Diese Schaltung ist noch nicht ausprobiert.
-
- *******************************************************************************
-
- Frage: Wie sieht ein MIDI-Kabel aus und wie ist die Belegung?
-
- Antwort:
-
- Ein MIDI-Kabel besteht aus zwei 5-poligen DIN-Steckern (180 Grad) und soll
- nicht laenger als 15m sein. Das Kabel ist 2 adrig mit Abschirmung. (je
- dicker - je besser....). Will man mehr als 15m ueberbruecken so muss eine
- MIDI-THRU-BOX oder ein MIDI-LINE-DRIVER zwischengeschaltet werden.
-
- Belegung des Steckers auf die Loetseite gesehen:
- +--------+
- +---------- Abschirmung -----I-----+ I
- 2 I 2 +
- +-Signal ----+5 4 +------- Signal ----------+ 5 4
- I 3 1 3 + 1
- I I
- +-------------------------------------------------+
-
- 1 und 3 sind NICHT belegt. 2 geht nach 2, 4 nach 4 und 5 nach 5 des anderen
- Steckers.
-
- *******************************************************************************
-
-
- Frage: Wie ist die Belegung der Sounds bei GM/GS ?
-
- Antwort:
-
- **** Brief Overview of Proposed General MIDI Level 1 Spec ****
-
- The heart of General MIDI (GM) is the _Instrument Patch Map_, shown in
- Table 1 (see below). This is a list of 128 sounds, with corresponding
- MIDI program numbers. Most of these are imitative sounds, though the
- list includes synth sounds, ethnic instruments and a handful of sound
- effects.
- The sounds fall roughtly into sixteen families of eight variations
- each. Grouping sounds makes it easy to re-orchestrate a piece using
- similar sounds. The Instrument Map isn't the final word on musical
- instruments of the world, but it's pretty complete
- General MIDI also includes a _Percusssion Key Map_, show in Table 2
- (see below). This mapping derives from the Roland/Sequential mapping
- used on early drum machines. As with the Instrument Map, it doesn't
- cover every percussive instrument in the world, but it's more than
- adequate as a basic set.
- To avoid concerns with channels, GM restricts percussion to MIDI
- Channel 10. Theoretically, the lower nine channels are for the
- instruments, but the GM spec states that a sound module must respond
- to all sixteen MIDI channels, with dynamic voice allocation and a
- minimum of 24 voices.
- General MIDI doesn't mention sound quality of synthesis methods.
- Discussions are under way on standardizing sound parameters such as
- playable range and envelope times. This will ensure that an arrangement
- that relies on phrsing and balance can play back on a variety of
- modules.
- Other requirements for a GM sound module include response to velocity,
- mod wheel, aftertouch, sustain and expression pedal, main volume and
- pan, and the All Notes Off and Reset All Controllers messages. The
- module also must respond to both Pitch Bend and Pitch Bend Sensitivity
- (a MIDI registered parameter). The default pitch bend range is +-2
- semitones.
- Middle C (C3) corresponds to MIDI key 60, and master tuning must be
- adjustable. Finally, the MIDI Manufacturers Association (MMA) created a
- new Universal System Exclusive message to turn General MIDI on and off
- (for devices that might have "consumer" and "programmable" settings).
- Table 3 (see below) summarizes these requirements.
- General MIDI has room for future expansion, including additional drum
- and instrument assignments and more required controllers. Also under
- discussion is an "authorizing document" that would standardize things
- such as channel assignments (e.g., lead on 1, bass on 2, etc.) and setup
- information in a MIDI file.
-
- Copies of the Level 1 Specification documents for General MIDI ($5 each
- at last notice) are available from the Internation MIDI Association,
- 5316 West 57th Street Los Angeles, CA 90056, (213) 649-6434. The first
- issue of the Journal of the MMA (back issues, $15 each) contains an
- article by PassPort Designs and Stanley Junglieb about General MIDI.
-
-
- Roland's GS Standard
-
- When Warner New Media first proposed a General MIDI standard, most MMA
- members gave it little thought. As discussions proceeded, Roland
- listened and developed a sound module to meet the proposed
- specification. At the same NAMM show where the MMA ratified General MIDI
- Level 1, Roland showed their Sound Brush and Sound Canvas, a Standard
- MIDI File player and GM-compatible sound module.
- Some companies feel that General MIDI doesn't go far enough, so Roland
- created a superset of General MIDI Level 1, which they call GS Standard.
- It obeys all the protocols and sound maps of General MIDI and adds many
- extra controllers and sounds. Some of the controllers use Unregistered
- Parameter Numbers to give macro control over synth parameters such as
- envelope attack and decay rates.
- The new MIDI Bank Select message provides access to extra sounds
- (including variations on the stock sounds and a re-creation of the MT-32
- factory patches). The programs in each bank align with the original 128
- in General MIDI's Instrument Patch Map, with eight banks housing related
- families. The GS Standard includes a "fall back" system. If the Sound
- Canvas receives a request for a bank/program number combination that
- does not exist, it will reassign it to the master instrument in that
- family. A set of Roland System Exclusive messages allows reconfiguration
- and customization of the sound module.
- This means that a Roland GS Standard sound module will correctly play
- back any song designed for General MIDI. In addition, if the song's
- creator wants to create some extra nuance, they can include the GS
- Standard extensions in their sequence. None of these extensions are so
- radical as to make the song unplayable on a normal GM sound module.
- After all, compatibility is what MIDI - and especially General MIDI - is
- all about.
- Music authors interested in the GS Standard should contact Tom White
- at RolandCorp USA, 7200 Dominion Circle, Los Angeles, CA 90040, (213)
- 685-5141.
-
- **** TABLE 1 - General MIDI Instrument Patch Map ****
- (groups sounds into sixteen families, w/8 instruments in each family)
-
- Prog# Instrument Prog# Instrument
-
- (1-8 PIANO) (9-16 CHROM PERCUSSION)
- 1 Acoustic Grand 9 Celesta
- 2 Bright Acoustic 10 Glockenspiel
- 3 Electric Grand 11 Music Box
- 4 Honky-Tonk 12 Vibraphone
- 5 Electric Piano 1 13 Marimba
- 6 Electric Piano 2 14 Xylophone
- 7 Harpsichord 15 Tubular Bells
- 8 Clav 16 Dulcimer
-
- (17-24 ORGAN) (25-32 GUITAR)
- 17 Drawbar Organ 25 Acoustic Guitar(nylon)
- 18 Percussive Organ 26 Acoustic Guitar(steel)
- 19 Rock Organ 27 Electric Guitar(jazz)
- 20 Church Organ 28 Electric Guitar(clean)
- 21 Reed Organ 29 Electric Guitar(muted)
- 22 Accoridan 30 Overdriven Guitar
- 23 Harmonica 31 Distortion Guitar
- 24 Tango Accordian 32 Guitar Harmonics
-
- (33-40 BASS) (41-48 STRINGS)
- 33 Acoustic Bass 41 Violin
- 34 Electric Bass(finger) 42 Viola
- 35 Electric Bass(pick) 43 Cello
- 36 Fretless Bass 44 Contrabass
- 37 Slap Bass 1 45 Tremolo Strings
- 38 Slap Bass 2 46 Pizzicato Strings
- 39 Synth Bass 1 47 Orchestral Strings
- 40 Synth Bass 2 48 Timpani
-
- (49-56 ENSEMBLE) (57-64 BRASS)
- 49 String Ensemble 1 57 Trumpet
- 50 String Ensemble 2 58 Trombone
- 51 SynthStrings 1 59 Tuba
- 52 SynthStrings 2 60 Muted Trumpet
- 53 Choir Aahs 61 French Horn
- 54 Voice Oohs 62 Brass Section
- 55 Synth Voice 63 SynthBrass 1
- 56 Orchestra Hit 64 SynthBrass 2
-
- (65-72 REED) (73-80 PIPE)
- 65 Soprano Sax 73 Piccolo
- 66 Alto Sax 74 Flute
- 67 Tenor Sax 75 Recorder
- 68 Baritone Sax 76 Pan Flute
- 69 Oboe 77 Blown Bottle
- 70 English Horn 78 Skakuhachi
- 71 Bassoon 79 Whistle
- 72 Clarinet 80 Ocarina
-
- (81-88 SYNTH LEAD) (89-96 SYNTH PAD)
- 81 Lead 1 (square) 89 Pad 1 (new age)
- 82 Lead 2 (sawtooth) 90 Pad 2 (warm)
- 83 Lead 3 (calliope) 91 Pad 3 (polysynth)
- 84 Lead 4 (chiff) 92 Pad 4 (choir)
- 85 Lead 5 (charang) 93 Pad 5 (bowed)
- 86 Lead 6 (voice) 94 Pad 6 (metallic)
- 87 Lead 7 (fifths) 95 Pad 7 (halo)
- 88 Lead 8 (bass+lead) 96 Pad 8 (sweep)
-
- (97-104 SYNTH EFFECTS) (105-112 ETHNIC)
- 97 FX 1 (rain) 105 Sitar
- 98 FX 2 (soundtrack) 106 Banjo
- 99 FX 3 (crystal) 107 Shamisen
- 100 FX 4 (atmosphere) 108 Koto
- 101 FX 5 (brightness) 109 Kalimba
- 102 FX 6 (goblins) 110 Bagpipe
- 103 FX 7 (echoes) 111 Fiddle
- 104 FX 8 (sci-fi) 112 Shanai
-
- (113-120 PERCUSSIVE) (121-128 SOUND EFFECTS)
- 113 Tinkle Bell 121 Guitar Fret Noise
- 114 Agogo 122 Breath Noise
- 115 Steel Drums 123 Seashore
- 116 Woodblock 124 Bird Tweet
- 117 Taiko Drum 125 Telephone Ring
- 118 Melodic Tom 126 Helicopter
- 119 Synth Drum 127 Applause
- 120 Reverse Cymbal 128 Gunshot
-
-
- **** TABLE 2 - General MIDI Percussion Key Map ****
- (assigns drum sounds to note numbers. MIDI Channel 10 is for percussion)
-
- MIDI Drum Sound MIDI Drum Sound
- Key Key
-
- 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
-
-
- **** TABLE 3 - General MIDI minimum sound module specs ****
-
- Voices:
- A minimum of either 24 fully dynamically allocated voices
- available simultaneously for both melodic and percussive sounds or 16
- dynamically allocated voices for melody plus eight for percussion.
-
- Channels:
- General MIDI mode supports all sixteen MIDI channels. Each channel can
- play a variable number of voices (polyphony). Each channel can play a
- different instrument (timbre). Keybased Percussion is always on
- Channel 10.
-
- Instruments:
- A minimum of sixteen different timbres playing various instrument
- sounds. A minimum of 128 preset for Intruments (MIDI program numbers).
-
- Note on/Note off:
- Octabe Registration: Middle C(C3) = MIDI key 60. All Voices including
- percussion respond to velocity.
-
- Controllers:
- Controller # Description
- 1 Modulation
- 7 Main Volume
- 10 Pan
- 11 Expression
- 64 Sustain
- 121 Reset All Controllers
- 123 All Notes Off
-
- Registered Description
- Parameter #
- 0 Pitch Bend Sensitivity
- 1 Fine Tuning
- 2 Coarse Tuning
-
- Additional Channel Messages:
- Channel Pressure (Aftertouch)
- Pitch Bend
-
- Power-Up Defaults:
- Pitch Bend Amount = 0
- Pitch Bend Sensitivity = +-2 semitones
- Volume = 90
- All Other Controllers = reset
-
- (after Electronic Musician, 8/91 issue)
- -------------------------------------------------------------------------------
-
- Der General Midi (GM) Standard und seine Sounds mit Klangbeschreibung:
-
- 01-08 Piano
-
- Nr. Name Beschreibung
-
- O1 Acoustic Grand Piano normaler akustischer Fluegel
- 02 Bright Acoustic Piano hellerer Fluegelsound
- 03 Electric Grand Piano elektrischer Fluegel
- 04 Honky-tonk verstimmtes Honky-Tonk-Piano
- 05 Electric Piano 1 voller E-Piano-Sound
- 06 Electric Piano 2 brillanter E-Piano-Sound
- 07 Haxpsichord Cembalo
- 08 Clavi Clavinet
-
- 09-16 Chromatic Percussion - Gestimmte Percussion
-
- 09 Celesta Celesta
- 10 Glockenspiel Glockenspiel
- 11 Music Box Spieluhr
- 12 Vibraphone Vibraphon
- 13 Marimba Marimba
- 14 Xylophone Xylophon
- 15 Tubular Bells Roehrenglocken
- 16 Dulcimer Laute
-
- 17-25 Organ - Orgeln und Akkordeons
-
- 17 Drawbar Organ normaler Hammond-Sound
- 18 Percussive Organ perkussiver Hammond-Sound
- 19 Rock Organ rockiger, leicht angezerrter Hammond-Sound
- 20 Church Organ Kirchenorgel, volles Werk
- 21 Reed Organ Harmonium
- 22 Accordion Akkordeon
- 23 Harmonica Mundharmonika
- 24 Tango Accordion Musette-Akkordeon
-
- 25-32 Guitar - Gitarren
-
- 25 Acoustic Guitar (nylon) akustische Gitarre mit Nylonsaiten
- 26 Acoustic Guitar (steel) akustische Gitarre mit Stahlsaiten
- 27 Electric Guitar (jazz) Jazz-Gitarre
- 28 Electric Guitar (clean) normaler E-Gitarrensound
- 29 Electric Guitar (muted) E-Gitarre,abgedaempft
- 30 Overdrive Guitar verzerrte Gitarre (Roehrenverzerrung)
- 31 Distortion Guitar verzerrte Gitarre (Transistorverzerrung)
- 32 Guitar harmonics E-Gitarre,Flageolet-Toene
-
- 33-40 Bass - Baesse
-
- 33 Acoustic Bass gezupfter Kontrabass
- 34 Electric Bass (finger) gezupfter E-Bass
- 35 Electric Bass (pick) E-Bass mit Plektrum
- 36 Fretless Bass bundloser Bass
- 37 Slap Bass 1 E-Bass,mit dem Daumen gespielt
- 38 Slap Bass 2 E-Bass,mit dem Daumen gespielt
- 39 Synth Bass 1 metallischer Sequenzerbass
- 40 Synth Bass 2 analoger Sequenzerbass
-
- 41-48 Strings - Streichinstrumente
-
- 41 Violin Geige
- 42 Viola Bratsche
- 43 Cello Cello
- 44 Contrabass gestrichener Kontrabass
- 45 Tremolo Strings tremolierende Streicher
- 45 Pizzicato Strings Pizzicato-Streicher
- 47 Orchestral Harp Harfe
- 48 Timpani Pauken
-
- 49-56 Ensemble - Orchester und Ensembles
-
- 49 String-Ensemble 1 helle,staccato spielbare Streicher
- 50 String Ensemble Legato-Streicher
- 51 SynthStrings 1 Synthesizer-Strings
- 52 SynthStrings 2 Synthesizer-Strings mit Phaser
- 53 Choir Aahs Ah-Chor
- 54 Voice Oohs Ohh-Stimme
- 55 Synth Voice Synthesizer-Chor
- 56 Orchestra Hit Orchester-Abschlag
-
- 57-64 Brass - Blechblasinstrumente
-
- 57 Trumpet Trompete
- 58 Trombone Posaune
- 59 Tuba Tuba
- 60 Muted Trumpet gestopfte Trompete
- 61 French Horn Horn
- 62 Brass Section Blechblaeser
- 63 SynthBrass 1 Oberheim-Brass
- 64 SynthBrass 2 Prophet-Brass
-
- 65-72 Reed - Holzblasinstrumente
-
- 65 Soprano Sax Sopransaxophon
- 66 Alto Sax Altsaxophon
- 67 Tenor Sax Tenorsaxophon
- 68 Baritone Sax Baritonsaxophon
- 69 Oboe Oboe
- 70 English Hom Englischhorn
- 71 Bassoon Fagott
- 72 Clarinet Klarinette
-
- 73-80 Pipe - Floeten und Pfeifen
-
- 73 Piccolo Piccolofloete
- 74 Flute Querfloete
- 75 Recorder Blockfloete
- 76 Pan Flute Panfloete
- 77 Blown Bottle angeblasene Flasche
- 78 Shakuhachi asiatische Floete
- 79 Whistle Pfeifen
- 80 Ocarina Ocarina
-
- 81-88 Synth Lead - Synthesizer-Solosounds
-
- 81 Lead 1 (square) Synthesizer-Solosound (Rechteck)
- 82 Lead 2 (sawtooth) Synthesizer-Solosound (Saegezahn)
- 83 Lead 3 (calliope) Synthesizer-Solosound (panfloetenaehnlich)
- 84 Lead 4 (Chiff) Synthesizer-Solosound
- 85 Lead 5 (charang) Synthesizer-Solosound
- 86 Lead 6 (voice) Synthesizer-Solosound (Yo-Voice)
- 87 Lead 7 (fifths) Synthesizer-Solosound (Quinten)
- 88 Lead 8 (Bass + lead) Synthesizer-Solosound (Bass + Solo)
-
- 89-96 Synth Pad - Flaechensounds
-
- 89 Pad 1 (new age) sphaerischer Flaechensound
- 90 Pad 2 (warm) warmer Flaechensound
- 91 Pad 3 (polysynth) Synthesizer-Flaeche
- 92 Pad 4 (choir) Flaechensound: Chor
- 93 Pad 5 (bowed) Flaechensound (glasharfenartig)
- 94 Pad 6 (metallic) metallischer Flaechensound
- 95 Pad 7 (halo) Synthesizer-Flaeche
- 96 Pad 8 (sweep) Synthesizer-Flaeche
-
- 97-104 Synth Effects - Synthesizereffekte
-
- 97 FX 1 (rain) Effekt: Regen
- 98 FX 2 (soundtrack) Effekt: Soundtrack-Sound (D-50)
- 99 FX 3 (crystal) Effekt: Klirren
- 100 FX 4 (atmosphere) atmosphaerischer Sound
- 101 FX 5 (brightness) heller Digitalsound
- 102 FX 6 (goblins) Effekt: Gnome
- 103 FX 7 (echoes) Effekt: Echos
- 104 FX 8 (sci-fi) Effekt: Computersound
-
- 105-112 Ethnic - Ethnische Instrumente
-
- 105 Sitar Sitar
- 106 Banjo Banjo
- 107 Shamisen Shamisen
- 108 Koto harfenaehnliches Instrument
- 109 Kalimba Kalimba
- 110 Bag pipe Dudelsack
- 111 Fiddle Fiedel
- 112 Shanai Shanai
-
- 113-120 Percussive - Percussion-Instrumente
-
- 113 Tinkle Bell metallischer Gloeckchensound
- 114 Agogo Agogo-Bell
- 115 Steel Drums Oelfaesser
- 116 Woodbloek Holzblock
- 117 Taiko Drum paukenaehnlicher Drumsound
- 118 Melodic Tom gestimmtes Tom
- 119 Synth Drum Simmons-Tom
- 120 Reverse Cymbal Crash-Becken mit Rueckwaerts-Effekt
-
- 121-128 Sound Effects - Soundeffekte
-
- 121 Guitar Fret Noise Griffgeraeusche der Gitarre
- 122 Breath Noise Atemgeraeusch
- 123 Seashore Wellenrauschen
- 124 Bird Tweet Vogelzwitschern
- 125 Telephone Ring Telefonsignal
- 126 Helicopter Hubschrauber
- 127 Applause Applaus
- 128 Gunshot Gewehrschuss
-
- *******************************************************************************
-
- Frage: Wie sind die Hersteller ID's bei SysEx ?
-
- Antwort:
-
- >>>>>>>>>>>>>>>>>>>>>>>>>>>
- > SysEx - Hersteller ID's >
- >>>>>>>>>>>>>>>>>>>>>>>>>>>
-
- Amerikanische Hersteller
- ************************
-
- ID(hex) Hersteller
- ------- ----------
- 01 Sequential
- 02 IDP
- 03 Voyetra/Octave-Plateau
- 04 Moog
- 05 Passport Desings
- 06 Lexicon
- 07 Kurzweil
- 08 Fender
- 09 Gulbransen
- 0A AKG Acuostics
- 0B Voyce Music
- 0C Waveframe Corp.
- 0D ADA Signal Processors
- 0E Garfield Electronics (good morning monday)
- 0F Ensoniq
- 10 Oberheim
- 11 Apple
- 12 Grey Matter Response
- 13 Digidesign
- 14 Palm Tree Instruments
- 15 JL Cooper
- 16 Lowrey
- 17 Adams-Smith
- 18 Emu Systems
- 19 Harmony Systems
- 1A ART
- 1B Baldwin
- 1C Eventide
- 1D Inventronics
- 1F Clarity
- 00 00 01 Warner New Media
- 00 00 07 Digital Music Corp.
- 00 00 08 IOTA Systems
- 00 00 09 New England Digital
- 00 00 0A Artisyn
- 00 00 0B IVL Technologies
- 00 00 0C Southern Music Systems
- 00 00 0D Lake Butler Sound Company
- 00 00 0E Alesis
- 00 00 10 DOD Electronics
- 00 00 11 Studer - Editech
- 00 00 14 Jeff Tripp/Perfect Fretworks
- 00 00 15 KAT
- 00 00 16 Opcode
- 00 00 17 Rank Corp.
- 00 00 18 Spatial Sound / Anadi Inc.
- 00 00 19 KMX (Ken Yprilla)
- 00 00 1A Allen & Heath Brenell
- 00 00 1B Peavy Electronics
- 00 00 1C 360 Spectrum
- 00 00 1D Spectrum Design and Development
- 00 00 1E Marquis Musi
- 00 00 1F Zeta Systems
- 00 00 20 Axxes (Brian Parsonett)
- 00 00 21 Orban
- 00 00 24 KTI
- 00 00 25 Breakaway Technilogies
- 00 00 26 CAE
- 00 00 29 Rocktron Corp.
- 00 00 2A PianoDisc
- 00 00 2B Cannon Research Group
- 00 00 2D Rogers Instrument Corp.
- 00 00 2E Blue Sky Logic
- 00 00 2F Encore Electronics
- 00 00 30 Uptown
- 00 00 31 Voce
- 00 00 32 CTI Audio Inc.
- 00 00 33 S&S Research
- 00 00 34 Brotherbound Software Inc.
- 00 00 35 Allen Organ Co.
- 00 00 37 Music Quest
- 00 00 38 APHEX
- 00 00 39 Gallien Krueger
- 00 00 3A Big Brother..........
- 00 00 3C Hotz Instruments Technologies
- 00 00 3D ETA Lightning
- 00 00 3E NSI Corporation
- 00 00 3F Ad Lib Inc.
- 00 00 40 Richmond Sound Design
- 00 00 41 Microsoooooooooooooooft
- 00 00 42 Theo Software Toolworks (Anne Graham)
- 00 00 43 RJMG / Niche
- 00 00 44 Intonic
- 00 00 47 GT Electronics / Groove Tubes
- 00 00 4F InterMIDI Inc.
- 00 00 55 Lone Wolf
- 00 00 64 Musonix
-
-
- Europaeische Hersteller
- ***********************
-
- ID(hex) Hersteller
- ------- ----------
- 20 Passac
- 21 Siel (I)
- 22 Synthaxe (GB)
- 24 Hohner (D)
- 25 Twister
- 26 Solton
- 27 Jellinghaus (D)
- 28 Southworth Music Systems
- 29 PPG (D)
- 2A JEN
- 2B SSL Limited (GB)
- 2C Audio Vertrieb P.Struven
- 2F Elka / General Music
- 30 Dynacord (D)
- 33 Clavia Digital Instruments
- 34 Audio Architecture
- 35 General Music Corp.
- 39 Soundcraft Electronics
- 3B WERSI
- 3C Avab Electrinik AB (S)
- 3D Digigram
- 3E Waldorf Electronics GmbH (D)
- 3F Quasimidi
- 00 20 00 Dream
- 00 20 01 Strand Lightning
- 00 20 02 Amek Systems Ltd.
- 00 20 04 Dr. Bhm / Musican International
- 00 20 06 Trident Audio
- 00 20 07 Real World Studio
- 00 20 09 Yes Technoligy
- 00 20 0A Audiomatica
- 00 20 0B Bontempi / Farfisa
- 00 20 0C FBT Elettronica
- 00 20 0E LA Audio (Larking Audio)
- 00 20 0F Zero 88 Lighting Ltd.
- 00 20 10 Micon Audio Electronics GmbH
- 00 20 11 Forefront Technology
- 00 20 13 Kenton Electronics
- 00 20 15 ADB
- 00 20 16 Jim Marshall Procducts Ltd.
- 00 20 17 DDA
- 00 20 1F TC Electronics
-
-
- Japanische Hersteller
- *********************
-
- ID(hex) Hersteller
- ------- ----------
- 40 Kawai
- 41 Roland
- 42 Korg
- 43 Yamaha
- 44 Casio
- 46 Kamiya Studio
- 47 Akai
- 48 Japan Victor
- 49 Mesosha
- 4A Hoshino Gakki
- 4B Fujitsu Electric
- 4C Sony
- 4D Nisshin Onpa
- 4E TEAC
- 50 Matsushita Electric
- 51 Fostex
- 52 Zoom
- 53 Midori Electronics
- 54 Mtsushita Communication Industrial
- 55 Suzuki Musical Instrument Manufact.
-
-
- -------------------------------------------------------------------------------
-
- Das Ganze noch in anderer Form:
-
- Die 1-Byte-IDs haben die Werte $01 (1) bis $7F (127). Wenn das
- Manufacturer-Byte $00 (0) ist, folgen zwei weitere Bytes.
- Somit hat man 127 + 128*128 moegliche ID's.
-
- Hier die Liste, die in SoundDiver eingebaut ist:
-
- 01 Sequential
- 02 IDP
- 03 Voyetra/Octave-Plateau
- 04 Moog
- 05 Passport Designs
- 06 Lexicon
- 07 Kurzweil
- 08 Fender
- 09 Gulbransen
- 0A AKG
- 0B Voyce Music
- 0C Waveframe
- 0D ADA
- 0E Garfield
- 0F Ensoniq
- 10 Oberheim
- 11 Apple
- 12 Grey Matter Response
- 13 Digidesign
- 14 Palm Tree Instruments
- 15 JL Cooper
- 16 Lowrey
- 17 Adams-Smith
- 18 Emu
- 19 Harmony Systems
- 1A ART
- 1B Baldwin
- 1C Eventide
- 1D Inventronics
- 1E Key Concepts
- 1F Clarity
- 20 Passac
- 21 Siel
- 22 Synthaxe
- 23 Stepp
- 24 Hohner
- 25 Crumar
- 26 Solton
- 27 Jellinghaus
- 28 Southworth
- 29 PPG
- 2A JEN
- 2B SSL Limited
- 2C P. Strueven
- 2D Neve
- 2E Soundtracs
- 2F Elka/General Music
- 30 Dynacord
- 31 Intercontinental
- 32 Drawmer
- 33 t.c. electronic
- 34 Audio Architecture
- 35 General Music
- 36 Cheetah
- 37 C.T.M.
- 38 Simmons
- 39 Soundcraft
- 3A Steinberg
- 3B Wersi
- 3C Avab Electronik Ab
- 3D Digigram
- 3E Waldorf
- 3F Quasimidi
- 40 Kawai
- 41 Roland
- 42 Korg
- 43 Yamaha
- 44 Casio
- 45 Moridaira
- 46 Kamiya Studio
- 47 Akai
- 48 Japan Victor
- 49 Meisosha
- 4A Hoshino Gakki
- 4B Fujitsu
- 4C Sony
- 4D Nisshin Onpa
- 4E TEAC
- 4F System Product
- 50 Matsushita
- 51 Fostex
- 52 Zoom
- 53 Midori
- 54 Matsushita
- 55 Suzuki
- 7D Non-Commercial SysEx
- 7E Non-Real-Time SysEx
- 7F Real-Time SysEx
-
- Mb: *** 3-Byte
- 00 01 Warner New Media
- 00 02 Music Logic Systems
- 00 03 PAIA
- 00 04 Othertech
- 00 05 K-Muse
- 00 06 Stypher
- 00 07 Digital Music
- 00 08 IOTA Systems
- 00 09 New England Digital
- 00 0A Artisyn
- 00 0B IVL
- 00 0C Southern Music Systems
- 00 0D Lake Butler Sound
- 00 0E Alesis
- 00 0F Sound Creation
- 00 10 DOD/Digitech
- 00 11 Studer-Editech
- 00 12 Sonus
- 00 13 Temporal Acuity Prod.
- 00 14 Jeff Tripp/Perfect Fretworks
- 00 15 KAT
- 00 16 Opcode
- 00 17 Rane Corp.
- 00 18 Spatial Sound/Anadi Inc.
- 00 19 KMX
- 00 1A Allen & Heath Brenell
- 00 1B Peavey Electronics
- 00 1C 360 Systems
- 00 1D Spectrum Design and Dev.
- 00 1E Marquis Music
- 00 1F Zeta Systems
- 00 20 Axxes (Brian Parsonett)
- 00 21 Orban
- 00 22 Indian Valley Mnfg.
- 00 23 Triton
- 00 24 KTI
- 00 25 Breakaway Technologies
- 00 26 CAE
- 00 27 Harrison
- 00 28 Future Lab
- 00 29 Rocktron
- 00 2A PianoDisc
- 00 2B Cannon Research Group
- 00 2D Rogers Instrument Corp.
- 00 2E Blue Sky Logic
- 00 2F Encore Electronics
- 00 30 Uptown
- 00 31 Voce
- 00 33 S&S Research
- 00 34 Broderbund
- 00 35 Allen Organ Co.
- 00 37 Music Quest
- 00 38 APHEX
- 00 39 Gallien Krueger
- 00 3A IBM
- 00 3C Hotz
- 00 3D ETA Lighting
- 00 3E NSI
- 00 3F Ad Lib
- 00 40 Richmond Sound Design
- 00 41 Microsoft
- 00 42 The Software Toolworks
- 00 43 RJMG/Niche
- 00 44 Intone
- 00 47 GT Electronics/Groove Tubes
- 00 55 Lone Wolf
- 00 64 Musonix
- 20 00 Dream
- 20 01 Strand Lighting
- 20 02 Amek Systems, Ltd.
- 20 04 Dr. Boehm/Musican International
- 20 06 Trident Audio
- 20 07 Real World Studio
- 20 0A Audiomatica
- 20 0B Bontempi/Farfisa
- 20 10 Micon Audio
- 20 16 Marshall
-
-
- ******************************************************************************
-
- Frage: Wie ist der MIDI Sample Dump Standard ?
-
- Antwort:
-
- MIDI SAMPLE DUMP STANDARD
-
- 1) INTRODUCTION
-
- The MIDI SDS was adopted in January 1986 by the MIDI
- Manufacturers Association and the Japanese MIDI Standards Committee.
- The SDS defines the standard method for transfer of sound sample data
- between MIDI-equipped devices. Sample dumps may be accomplished with
- either an 'open loop' or 'closed loop' system. The open loop method
- simply involves the straight dump of all sample data from its source
- to the destination, with no timeouts, packet acknowledgements, or any
- other form of handshaking, much as in the manner of a sysex bulk dump,
- usually intiated at the source. The closed loop method allows the use
- of handshaking messages between the dump source and destination, and
- usually places the dump process under the control of the slave, to
- allow it time to process the incoming data as necessary. As with any
- standard, it can not be assumed that a device adheres to it unless the
- accompanying documentation specifically indicates it. Even then, it is
- best to check its conformity with non-critical data.
-
- 2) SPEC: SAMPLE DUMP FORMATS
-
- DUMP HEADER:
-
- F0 7E cc 01 ss ss ee ff ff ff gg gg gg hh hh hh ii ii ii jj F7
-
- where
-
- cc = channel number
- ss ss = sample number (LSB first)
- ee = sample format (number of significant bits; 8->28)
- ff ff ff = sample period (1/sample rate) in nanoseconds (LSB first)
- gg gg gg = sample length, in words
- hh hh hh = sustain loop start point (word number) (LSB first)
- ii ii ii = sustain loop end point (word number) (LSB first)
- jj = loop type (00:forwards only; 01:alternating)
-
- DATA PACKET:
-
- F0 7E cc 02 kk <120 bytes> mm F7
-
- where
-
- cc = channel number
- kk = running packet count (00->7F)
- mm = checksum (XOR of 7E, cc, 02, kk <120 bytes>)
-
- The total size of a data packet is 127 bytes. This is to avoid
- overflow of the MIDI input buffer of a device that may want to receive
- an entire packet before processing it.
- A data packet consists of its own header, a packet number, 120
- bytes of data, a checksum, and an EOX. The packet number begins at 00
- and increments with each new packet. It resets to 00 after it reaches
- 7F, and continues counting. The packet number is used by the receiver
- to distinguish between a new data packet, or a resend of a previous
- packet. The packet number is followed by 120 bytes of data, which form
- 60, 40, or 30 words (MSB first for multiword samples), depending on
- the length of a single data sample.
- Each data byte hold seven bits, with the msb in each byte set to
- 0, in order to conform to the requirements of MIDI data transmission.
- Information is left justified within the 7-bit bytes, and unused bits
- are filled with 0.
- Example: Assume a data point in the memory of a 16-bit sampler,
- with the value 87E5. In binary, that would be
-
- 1000 0111 1110 0101
-
- and would be encoded as the following MIDI data stream:
-
- 01000011 01111001 00100000
-
- The checksum is the running XOR of all the data after the SYSEX
- byte, up to but not including the checksum itself.
-
- 3) SPEC: SAMPLE DUMP MESSAGES
-
- DUMP REQUEST:
-
- F0 7E cc 03 ss ss F7
-
- where
-
- cc = channel number
- ss ss = sample number requested (LSB first)
-
- Upon receiving the request, the sampler checks the sample number
- to see if it is within legal range. If it is not, the request is
- ignored. If it is, the sample dump is started. One packet at a time is
- sent, under control of the handshaking messages outlined below.
-
- HANDSHAKING MESSAGES:
-
- For all below:
-
- cc = channel number
- pp = packet number
-
- Packet numbers are included in the handshaking messages to
- accomodate machines that have the intelligence to re-transmit specific
- packets after an entire dump is finished, or if synchronization is
- lost.
-
- ACK : F0 7E cc 7F pp F7
-
- Means last packet was recieved correctly (checksum OK, etc),
- please send next one. Packet number is packet being acknowledged as
- correct.
-
- NAK : F0 7E cc 7E pp F7
-
- Means last packet not received correctly, please send again.
- Packet number is packet being rejected.
-
- CANCEL : F0 7E cc 7D pp F7
-
- Means abort dump immediately. Packet number is packet on which
- abort occurs.
-
- WAIT : F0 7E cc 7C pp F7
-
- Means pause dump indefinitely, until next message is sent. Allows
- the unit recieving the dump to perform other functions (disk access,
- etc), before receiving the remainder of the dump. The next message it
- sends (eg ACK, ABORT) will determine if the dump continues or aborts.
-
- 4) DUMP PROCEDURE: MASTER (DUMP SOURCE)
-
- Once a dump has been requested, either via MIDI or through the
- front panel, the DUMP HEADER is sent. After sending the header, the
- master must time out for at least two seconds, to allow the receiver
- to decide if it will accept this sample (has enough memory, etc).
- If it receives a CANCEL, within this time, it should abort
- immediately. If it receives an CAK, it will start sending packets
- immediately. If it receives a WAIT, it pauses until another message is
- received, and then processes that mesage normally. If nothing is
- recieved within the timeout, an open loop is assumed, and the dump
- starts with the first packet.
- After sending each packet, the master should time out for at
- least 20 milliseconds and watch its MIDI In. If an ACK is received, it
- sends the next packet immediately. If it receives an NAK, and the
- packet number matches the number of the last packet sent, it resend
- that packet If the packet numbers don't match, and the device is
- incapable of sending packets out of order, the NAK will be ignored.
- If a WAIT is received, the master should watch its MIDI In port
- indefinitely for another ACK, NAK, or CANCEL message, which it should
- then process normally.
- If no messages are received within 20 milliseconds of the
- transmission of a packet, the master may assume an open loop
- configuration, and send the next packet.
- This process continues until there are less than 121 data bytes
- to send. The final packet will still consist of 120n bytes, regardless
- of how many significant bytes actually remain, and the unused bytes
- will be filled with zeroes. The receiver should handshake after
- receiving the last packet.
-
- 5) DUMP PROCEDURE: SLAVE (DUMP DESTINATION)
-
- When receiving a sample dump, a device should keep a running
- checksum during reception. If its checksum matches the checksum in the
- data packet, it will send an ACK and wait for the next packet. If it
- does not match, it will send an NAK containing the number of the
- packet that caused the error, and wait for the next packet. If, after
- sending an NAK, the packet number of the next packet doesn't match the
- previous packet number (the one that was NAK'd), and the unit is not
- capable of accepting packets out of order, the error is ignored and
- the dump continues as if the checksums had matched.
- If a receiver runs out of memory before the dumpo is completed,
- it should send a CANCEL to stop the dump.
-
- 6) SDS OVERVIEW
-
- SAMPLE DUMP DATA FORMAT: DUMP HEADER:
-
- Sysex
- ID: Universal Non-Real Time
- Channel Number
- Sub ID: Header
- Sample Number (2 bytes, LSB first)
- Sample Format
- Sample Period (3 bytes, LSB first)
- Sample Length (3 bytes, LSB first)
- Sustain Loop Start Point (3 bytes, LSB first)
- Sustain Loop End Point (3 bytes, LSB first)
- Loop Type
- Eox
-
- SAMPLE DUMP DATA FORMAT: DATA PACKET:
-
- Sysex
- ID: Universal Non-Real Time
- Channel Number
- Sub ID: Data Packet
- Packet Number
- Sample Data (120 bytes)
- Checksum
- Eox
-
- SAMPLE DUMP MESSAGES: DUMP REQUEST:
-
- Sysex
- ID: Universal Non-Real Time
- Channel Number
- Sub ID: Dump Request
- Sample Number (2 bytes, LSB first)
- Eox
-
- SAMPLE DUMP MESSAGES: HANDSHAKING FLAGS:
-
- Sysex
- ID: Universal Non-Real Time
- Channel Number
- Sub ID: ACK or NAK or CANCEL or WAIT
- Packet Number
- Eox
-
- *******************************************************************************
-
- Frage: Wie ist der MIDI Time Code aufgebaut?
-
- Antwort:
-
- Detailed Specification
- (Supplement to MIDI 1.0)
- 12 February 1987
-
- Justification For MIDI Time Code and Cueing
- --------------------------------------------
-
- The merit of implementing the MIDI Time Code proposal within the current
- MIDI specification is as follows:
-
- SMPTE has become the de facto timing reference standard in the
- professional audio world and in almost the entire video world. SMPTE is also
- seeing more and more use in the semi-professional audio area. We hope to
- combine this universal timing reference, SMPTE, with the de facto standard
- for controlling musical equipment, MIDI.
-
- Encoding SMPTE over MIDI allows a person to work with one timing
- reference throughout the entire system. For example, studio engineers are
- more familiar with the idea of telling a multitrack recorder to punch in and
- out of record mode at specific SMPTE times, as opposed to a specific beat in a
- specific bar. To force a musician or studio engineer to convert back and
- forth between a SMPTE time and a specific bar number is tedious and should not
- be necessary (one would have to take into account tempo and tempo changes,
- etc.).
-
- Also, some operations are referenced only as SMPTE times, as opposed to
- beats in a bar. For example, creating audio and sound effects for video
- requires that certain sounds and sequences be played at specific SMPTE times.
- There is no other easy way to do this with Song Position Pointers, etc., and
- even if there was, it would be an unnatural way for a video or recording
- engineer to work.
-
- MIDI Time Code is an absolute timing reference, whereas MIDI Clock and
- Song Position Pointer are relative timing references. In virtually all audio
- for film/video work, SMPTE is already being used as the main time base, and
- any musical passages which need to be recorded are usually done by getting a
- MIDI-based sequencer to start at a pre-determined SMPTE time code. In most
- cases, though, it is SMPTE which is the Master timing reference being used.
- In order for MIDI-based devices to operate on an absolute time code which is
- independent of tempo, MIDI Time Code must be used. Existing devices merely
- translate SMPTE into MIDI Clocks and Song Position Pointers based upon a given
- tempo. This is not absolute time, but relative time, and all of the SMPTE cue
- points will change if the tempo changes. The majority of sound effects work
- for film and video does not involve musical passages with tempos, rather it
- involves individual sound effect "events" which must occur at specific,
- absolute times, not relative to any "tempo".
-
-
- MIDI Time Code System Components
-
-
- SMPTE to MTC Converter
-
- This box would either convert longitudinal (audio-type) or vertical
- (video-type) SMPTE time code from a master timing device into MTC. The
- function could be integrated into video tape recorders (VTRs) or
- syncronization units that control audio tape recorders (ATRs). Alternately, a
- stand-alone box would do the conversion, or simply generate MTC directly.
- Note that conversion from MTC to SMPTE time code is not envisioned, as it is
- of little practical value.
-
-
- Cue List Manager
-
- This would be a device or computer program that would maintain a cue list
- of desired events, and send the list to the slaves. For performance, the
- manager might pass the Time Code from the SMPTE-MTC converter through to the
- slaves, or, in a stand-alone system it might generate Time Code itself. This
- "central controller" would presumably also contain all library functions for
- downloading sound programs, samples, sequences, patterns, and so on, to the
- slaves. A Cue List Manager would pre-load intelligent MTC peripherals (see
- below) with this data.
-
-
- MTC Sequencer
-
- To control existing equipment or any device which does not recognize MTC
- in an MTC system, this device would be needed. It would receive the cue list
- from the manager, and convert the cues into normal MIDI commands. At the
- specified SMPTE times, the sequencer would then send the MIDI commands to the
- specific devices. For example, for existing MIDI equipment it might provide
- MIDI messages such as Note On, Note Off, Song Select, Start, Stop, Program
- Changes, etc. Non-MIDI equipment (such as CD players, mixing consoles,
- lighting, sound effects cartridge units and ATRs) may also be controlled if
- such a device had relay controls.
-
-
- Intelligent MTC Peripheral
-
- In this category belong devices capable of receiving an MTC Cue List from
- the manager, and triggering themselves appropriately when the correct Time
- Code (SMPTE or MIDI) has been received. Above this minimum, the device might
- be able to change its programming in response to the Cue List, or prepare
- itself for ensuing events.
-
- For example, an intelligent MTC-equipped analog multitrack tape machine
- might read in a list of punch in/punch out cues from the Cue List Manager, and
- then alter then to internally compensate for its bias current rise and fall
- times. A sampling-based sound effects device might preload samples from its
- own disk drive into a RAM buffer, in anticipation of needing them for cues
- later on in the cue list.
-
- It should be mentioned that while these functions are separately
- described, actual devices may incorporate a mixture of these functions, suited
- to specific applications in their market.
-
-
- A MIDI Time Code System
-
- The MIDI Time Code format contains two parts: Time Code and Set Up. Time
- Code is relatively straightforward: hours, minutes, seconds and frame numbers
- (approximately 1/30 of a second) are encoded and distributed throughout the
- MIDI system so that all the units know exactly what time it is.
-
- Set Up, however, is where MTC gains its power. It is a format for
- informing MIDI devices of events to be performed at specific times.
- Ultimately, this aspect of MTC will lead to the creation of an entirely new
- class of production equipment. Before getting into the nuts and bolts of the
- spec itself, let's talk about some of the uses and features of forthcoming
- devices that have been envisioned.
-
- Set Up begins with the concept of a cue list. In video editing, for
- example, it is customary to transfer the video master source tapes, which may
- be on expensive, two-inch recorders, to less-expensive recorders. The editing
- team then works over this copy, making a list of all the segments that they
- want to piece together as they are defined by their SMPTE times.
-
- For example, the first scene starts at time A and ends at time B, the
- next scene starts at time C and ends at time D. A third scene may even lie
- between the first two. When done, they feed this cue list time information
- into the editing system of the master recorder(s) or just give the cue list to
- an editor who does the work manually. The editing system or editor then
- locates the desired segments and assembles them in the proper sequence.
-
-
- Now suppose that instead of one or two video recorders, we have twenty
- devices that will play a part in our audio/video or film production: special
- effects generators for fades and superimpositions, additional decks with
- background scenery, live cameras, MIDI sequencers, drum machines,
- synthesizers, samplers, DDLs, soundtrack decks, CDs, effects devices, and so
- on. As it stands now, each of these devices must be handled more or less
- separately, with painstaking and time-consuming assembly editing or multitrack
- overdubs. And when a change in the program occurs (which always happens),
- anywhere from just a few items to the whole system may need to be reprogrammed
- by hand.
-
-
- This is where MIDI Time Code comes in. It can potentially control all of
- these individual production elements so that they function together from a
- single cue list. The master controller which would handle this function is
- described as a Cue List Manager. On such a console, you would list what you
- want each device to do, and when to do it. The manager would then send the cue
- list to the various machines via the MTC Set Up protocol. Each unit would then
- react as programmed when the designated MIDI Time Code (or conventional SMPTE
- Time Code) appears. Changes? No problem. Simply edit the cue list using simple
- word-processing functions, then run the tape again.
-
-
- MTC thus integrates into a manageable system all of the diverse tools at
- our disposal. It would drastically reduce the time, money and frustration
- needed to produce a film or video.
-
-
- Having covered the basic aspects of a MIDI Time Code system, as well as
- examples of how an overall system might function, we will now take a look at
- the actual MIDI specification itself.
-
-
- MIDI Time Code
-
-
- For device synchronization, MIDI Time Code uses two basic types of
- messages, described as Quarter Frame and Full. There is also a third, optional
- message for encoding SMPTE user bits.
-
-
- Quarter Frame Messages
-
-
- Quarter Frame messages are used only while the system is running. They
- are rather like the PPQN or MIDI clocks to which we are accustomed. But there
- are several important ways in which Quarter Frame messages differ from the
- other systems.
-
-
- As their name implies, they have fine resolution. If we assume 30 frames
- per second, there will be 120 Quarter Frame messages per second. This
- corresponds to a maximum latency of 8.3 milliseconds (at 30 frames per
- second), with accuracy greater than this possible within the specific device
- (which may interpolate inbetween quarter frames to "bit" resolution). Quarter
- Frame messages serve a dual purpose: besides providing the basic timing pulse
- for the system, each message contains a unique nibble (four bits) defining a
- digit of a specific field of the current SMPTE time.
-
-
- Quarter frames messages should be thought of as groups of eight messages.
- One of these groups encodes the SMPTE time in hours, minutes, seconds, and
- frames. Since it takes eight quarter frames for a complete time code message,
- the complete SMPTE time is updated every two frames. Each quarter frame
- message contains two bytes. The first byte is F1, the Quarter Frame System
- Common byte. The second byte contains a nibble that represents the message
- number (0 through 7), and a nibble for one of the digits of a time field
- (hours, minutes, seconds or frames).
-
-
- Quarter Frame Messages (2 bytes):
-
-
- F1 <message>
-
-
- F1 = Currently unused and undefined System Common status byte
-
- <message> = 0nnn dddd
-
-
- dddd = 4 bits of binary data for this Message Type
-
- nnn = Message Type:
-
- 0 = Frame count LS nibble
-
- 1 = Frame count MS nibble
-
- 2 = Seconds count LS nibble
-
- 3 = Seconds count MS nibble
-
- 4 = Minutes count LS nibble
-
- 5 = Minutes count MS nibble
-
- 6 = Hours count LS nibble
-
- 7 = Hours count MS nibble and SMPTE Type
-
-
- After both the MS nibble and the LS nibble of the above counts are
- assembled, their bit fields are assigned as follows:
-
-
- FRAME COUNT: xxx yyyyy
-
-
- xxx = undefined and reserved for future use. Transmitter
-
- must set these bits to 0 and receiver should ignore!
-
- yyyyy = Frame number (0-29)
-
-
- SECONDS COUNT: xx yyyyyy
-
-
- xx = undefined and reserved for future use. Transmitter
-
- must set these bits to 0 and receiver should ignore!
-
- yyyyyy = Seconds Count (0-59)
-
-
- MINUTES COUNT: xx yyyyyy
-
-
- xx = undefined and reserved for future use. Transmitter
-
- must set these bits to 0 and receiver should ignore!
-
- yyyyyy = Minutes Count (0-59)
-
-
- HOURS COUNT: x yy zzzzz
-
-
- x = undefined and reserved for future use. Transmitter
-
- must set this bit to 0 and receiver should ignore!
-
-
- yy = Time Code Type:
-
- 0 = 24 Frames/Second
-
- 1 = 25 Frames/Second
-
- 2 = 30 Frames/Second (Drop-Frame)
-
- 3 = 30 Frames/Second (Non-Drop)
-
-
- zzzzz = Hours Count (0-23)
-
-
-
- When time code is running in the forward direction, the device producing
- the MIDI Time Code will send Quarter Frame messages at quarter frame intervals
- in the following order:
-
-
- F1 0X
-
- F1 1X
-
- F1 2X
-
- F1 3X
-
- F1 4X
-
- F1 5X
-
- F1 6X
-
- F1 7X
-
-
- after which the sequence repeats itself, at a rate of one complete 8-message
- sequence every 2 frames (8 quarter frames). When time code is running in
- reverse, the quarter frame messages are sent in reverse order, starting with
- F1 7X and ending with F1 0X. Again, at least 8 quarter frame messages must be
- sent. The arrival of the F1 0X and F1 4X messages always denote frame
- boundaries.
-
-
- Since 8 quarter frame messages are required to definitely establish the
- actual SMPTE time, timing lock cannot be achieved until the reader has read a
- full sequence of 8 messages, from first message to last. This will take from
- 2 to 4 frames to do, depending on when the reader comes on line.
-
-
- During fast forward, rewind or shuttle modes, the time code generator
- should stop sending quarter frame messages, and just send a Full Message once
- the final destination has been reached. The generator can then pause for any
- devices to shuttle to that point, and resume by sending quarter frame messages
- when play mode is resumed. Time is considered to be "running" upon receipt of
- the first quarter frame message after a Full Message.
-
-
- Do not send quarter frame messages continuously in a shuttle mode at high
- speed, since this unnecessarily clogs the MIDI data lines. If you must
- periodically update a device's time code during a long shuttle, then send a
- Full Message every so often.
-
-
- The quarter frame message F1 0X (Frame Count LS nibble) must be sent on a
- frame boundary. The frame number indicated by the frame count is the number
- of the frame which starts on that boundary. This follows the same convention
- as normal SMPTE longitudinal time code, where bit 00 of the 80-bit message
- arrives at the precise time that the frame it represents is actually starting.
- The SMPTE time will be incremented by 2 frames for each 8-message sequence,
- since an 8-message sequence will take 2 frames to send.
-
-
- Another way to look at it is: When the last quarter frame message (F1
- 7X) arrives and the time can be fully assembled, the information is now
- actually 2 frames old. A receiver of this time must keep an internal offset
- of +2 frames for displaying. This may seem unusual, but it is the way normal
- SMPTE is received and also makes backing up (running time code backwards) less
- confusing - when receiving the 8 quarter frame messages backwards, the F1 0X
- message still falls on the boundary of the frame it represents.
-
-
- Each quarter frame message number (0->7) indicates which of the 8 quarter
- frames of the 2-frame sequence we are on. For example, message 0 (F1 0X)
- indicates quarter frame 0 of frame #1 in the sequence, and message 4 (F1 4X)
- indicates quarter frame 1 of frame #2 in the sequence. If a reader receives
- these message numbers in descending sequence, then it knows that time code is
- being sent in the reverse direction. Also, a reader can come on line at any
- time and know exactly where it is in relation to the 2-frame sequence, down to
- a quarter frame accuracy.
-
-
- It is the responsibility of the time code reader to insure that MTC is
- being properly interpreted. This requires waiting a sufficient amount of time
- in order to achieve time code lock, and maintaining that lock until
- synchronization is dropped. Although each passing quarter frame message could
- be interpreted as a relative quarter frame count, the time code reader should
- always verify the actual complete time code after every 8-message sequence (2
- frames) in order to guarantee a proper lock.
-
-
- For example, let's assume the time is 01:37:52:16 (30 frames per second,
- non-drop). Since the time is sent from least to most significant digit, the
- first two Quarter Frame messages will contain the data 16 (frames), the second
- two will contain the data 52 (seconds), the third two will represent 37
- (minutes), and the final two encode the 1 (hours and SMPTE Type). The Quarter
- Frame Messages description defines how the binary data for each time field is
- spread across two nibbles. This scheme (as opposed to simple BCD) leaves some
- extra bits for encoding the SMPTE type (and for future use).
-
-
- Now, let's convert our example time of 01:37:52:16 into Quarter Frame
- format, putting in the correct hexadecimal conversions:
-
-
- F1 00
-
- F1 11 10H = 16 decimal
-
-
- F1 24
-
- F1 33 34H = 52 decimal
-
-
- F1 45
-
- F1 52 25H = 37 decimal
-
-
- F1 61
-
- F1 76 01H = 01 decimal (SMPTE Type is 30 frames/non-drop)
-
-
- (note: the value transmitted is "6" because the SMPTE Type (11 binary) is
- encoded in bits 5 and 6)
-
-
- For SMPTE Types of 24, 30 drop frame, and 30 non-drop frame, the frame
- number will always be even. For SMPTE Type of 25, the frame number may be
- even or odd, depending on which frame number the 8-message sequence had
- started. In this case, you can see where the MIDI Time Code frame number
- would alternate between even and odd every second.
-
-
- MIDI Time Code will take a very small percentage of the MIDI bandwidth.
- The fastest SMPTE time rate is 30 frames per second. The specification is to
- send 4 messages per frame - in other words, a 2-byte message (640
- microseconds) every 8.333 milliseconds. This takes 7.68 % of the MIDI
- bandwidth - a reasonably small amount. Also, in the typical MIDI Time Code
- systems we have imagined, it would be rare that normal MIDI and MIDI Time Code
- would share the same MIDI bus at the same time.
-
-
- Full Message
-
-
- Quarter Frame messages handle the basic running work of the system. But
- they are not suitable for use when equipment needs to be fast-forwarded or
- rewound, located or cued to a specific time, as sending them continuously at
- accelerated speeds would unnecessarily clog up or outrun the MIDI data lines.
- For these cases, Full Messages are used, which encode the complete time into a
- single message. After sending a Full Message, the time code generator can
- pause for any mechanical devices to shuttle (or "autolocate") to that point,
- and then resume running by sending quarter frame messages.
-
-
- Full Message - (10 bytes)
-
-
- F0 7F <chan> 01 <sub-ID 2> hr mn sc fr F7
-
-
- F0 7F = Real Time Universal System Exclusive Header
-
- <chan> = 7F (message intended for entire system)
-
- 01 = <sub-ID 1>, 'MIDI Time Code'
-
- <sub-ID 2> = 01, Full Time Code Message
-
- hr = hours and type: 0 yy zzzzz
-
- yy = type:
-
- 00 = 24 Frames/Second
-
- 01 = 25 Frames/Second
-
- 10 = 30 Frames/Second (drop frame)
-
- 11 = 30 Frames/Second (non-drop frame)
-
- zzzzz = Hours (00->23)
-
- mn = Minutes (00->59)
-
- sc = Seconds (00->59)
-
- fr = Frames (00->29)
-
- F7 = EOX
-
-
- Time is considered to be "running" upon receipt of the first Quarter
- Frame message after a Full Message.
-
-
- User Bits
-
-
- "User Bits" are 32 bits provided by SMPTE for special functions which
- vary with the application, and which can be programmed only from equipment
- especially designed for this purpose. Up to four characters or eight digits
- can be written. Examples of use are adding a date code or reel number to the
- tape. The User Bits tend not to change throughout a run of time code.
-
-
- User Bits Message - (15 bytes)
-
-
- F0 7F <chan> 01 <sub-ID 2> u1 u2 u3 u4 u5 u6 u7 u8 u9 F7
-
-
- F0 7F = Real Time Universal System Exclusive Header
-
- <chan> = 7F (message intended for entire system)
-
- 01 = <sub-ID 1>, MIDI TIme Code
-
- <sub-id 2> = 02, User Bits Message
-
- u1 = 0000aaaa
-
- u2 = 0000bbbb
-
- u3 = 0000cccc
-
- u4 = 0000dddd
-
- u5 = 0000eeee
-
- u6 = 0000ffff
-
- u7 = 0000gggg
-
- u8 = 0000hhhh
-
- u9 = 000000ii
-
- F7 = EOX
-
-
- These nibble fields decode in an 8-bit format: aaaabbbb ccccdddd
- eeeeffff gggghhhh ii. It forms 4 8-bit characters, and a 2 bit Format Code.
- u1 through u8 correspond to SMPTE Binary Groups 1 through 8. u9 are the two
- Binary Group Flag Bits, as defined by SMPTE.
-
-
- This message can be sent whenever the User Bits values must be
- transferred to any devices down the line. Note that the User Bits Message may
- be sent by the MIDI Time Code Converter at any time. It is not sensitive to
- any mode.
-
-
- MIDI Cueing uses Set-Up Messages to address individual units in a system.
- (A "unit" can be be a multitrack tape deck, a VTR, a special effects
- generator, MIDI sequencer, etc.)
-
-
- Of 128 possible event types, 19 are currently defined.
-
-
- Set-Up Messages (13 bytes plus any additional information):
-
-
- F0 7E <chan> 04 <sub-ID 2> hr mn sc fr ff sl sm <add. info> F7
-
-
- F0 7E = Non-Real Time Universal System Exclusive Header
-
- <chan> = Channel number
- 04 = <sub-ID 1>, MIDI Time Code
-
- <sub-ID 2> = Set-Up Type
- 00 = Special
- 01 = Punch In points
- 02 = Punch Out points
- 03 = Delete Punch In point
- 04 = Delete Punch Out point
- 05 = Event Start points
- 06 = Event Stop points
- 07 = Event Start points with additional info.
- 08 = Event Stop points with additional info.
- 09 = Delete Event Start point
- 0A = Delete Event Stop point
- 0B = Cue points
- 0C = Cue points with additional info
- 0D = Delete Cue point
- 0E = Event Name in additional info
-
- hr = hours and type: 0 yy zzzzz
-
- yy = type:
- 00 = 24 Frames/Second
- 01 = 25 Frames/Second
- 10 = 30 Frames/Second drop frame
- 11 = 30 Frames/Second non-drop frame
- zzzzz = Hours (00-23)
-
- mn = Minutes (00-59)
-
- sc = Seconds (00-59)
-
- fr = Frames (00-29)
-
- ff = Fractional Frames (00-99)
-
- sl, sm = Event Number (LSB first)
-
- <add. info.>
-
- F7 = EOX
-
-
- Description of Set-Up Types:
-
-
- 00 Special refers to the set-up information that affects a unit
- globally (as opposed to individual tracks, sounds, programs,
- sequences, etc.). In this case, the Special Type takes the
- place of the Event Number. Five are defined. Note that types
- 01 00 through 04 00 ignore the event time field.
-
-
- 00 00 Time Code Offset refers to a relative Time Code offset for
- each unit. For example, a piece of video and a piece of music that are
- supposed to go together may be created at different times, and more than
- likely have different absolute time code positions - therefore, one must be
- offset from the other so that they will match up. Just like there is one
- master time code for an entire system, each unit only
- needs one offset value per unit.
-
-
- 01 00 Enable Event List means for a unit to enable execution of
- events in its list if the appropriate MTC or SMPTE time occurs.
-
-
- 02 00 Disable Event List means for a unit to disable execution
- of its event list but not to erase it. This facilitates an MTC Event Manager
- in muting particular devices in order to concentrate on others in a complex
- system where many events occur simultaneously.
-
-
- 03 00 Clear Event List means for a unit to erase its entire
- event list.
-
-
- 04 00 System Stop refers to a time when the unit may shut down.
- This serves as a protection against Event Starts without matching Event Stops,
- tape machines running past the end of the reel, and so on.
-
-
- 05 00 Event List Request is sent by a master to an MTC
- peripheral. If the device ID (Channel Number) matches that of the peripheral,
- the peripheral responds by transmitting its entire cue list as a sequence of
- Set Up Messages, starting from the SMPTE time indicated in the Event List
- Request message.
-
-
- 01/02 Punch In and Punch Out refer to the enabling and disabling of
- record mode on a unit. The Event Number refers to the track to be recorded.
- Multiple punch in/punch out points (and any of the other event types below)
- may be specified by sending multiple Set-Up messages with different times.
-
-
- 03/04 Delete Punch In or Out deletes the matching point (time and
- event number) from the Cue List.
-
-
- 05/06 Event Start and Stop refer to the running or playback of an
- event, and imply that a large sequence of events or a continuous event is to
- be started or stopped. The event number refers to which event on the targeted
- slave is to be played. A single event (ie. playback of a specific sample, a
- fader movement on an automated console, etc.) may occur several times
- throughout a given list of cues. These events will be represented by the same
- event number, with different Start and Stop times.
-
-
- 07/08 Event Start and Stop with Additional Information refer to an
- event (as above) with additional parameters transmitted in the Set Up message
- between the Time and EOX. The additional parameters may take the form of an
- effects unit's internal parameters, the volume level of a sound effect, etc.
- See below for a description of additional information.
-
-
- 09/0A Delete Event Start/Stop means to delete the matching (event
- number and time) event (with or without additional information) from the Cue
- List.
-
-
- 0B Cue Point refers to individual event occurences, such as
- marking "hit" points for sound effects, reference points for editing, and so
- on. Each Cue number may be assigned to a specific reaction, such as a
- specific one-shot sound event (as opposed to a continuous event, which is
- handled by Start/Stop). A single cue may occur several times throughout a
- given list of cues. These events will be represented by the same event
- number, with different Start and Stop times.
-
-
- 0C Cue Point with Additional Information is exactly like Event
- Start/Stop with Additional Information, except that the event represents a Cue
- Point rather than a Start/Stop Point.
-
-
- 0D Delete Cue Point means to Delete the matching (event number
- and time) Cue Event with or without additional information from the Cue List.
-
-
- 0E Event Name in Additional Information. This merely assigns a
- name to a given event number. It is for human logging purposes. See
- Additional Information description.
-
-
- Event Time
-
-
- This is the SMPTE/MIDI Time Code time at which the given event is
- supposed to occur. Actual time is in 1/100th frame resoultion, for those
- units capable of handling bits or some other form of sub-frame resolution, and
- should otherwise be self-explanatory.
-
-
- Event Number
-
-
- This is a fourteen-bit value, enabling 16,384 of each of the above types
- to be individually addressed. "sl" is the 7 LS bits, and "sm" is the 7 MS
- bits.
-
-
- Additional Information description
-
-
- Additional information consists of a nibblized MIDI data stream, LS
- nibble first. The exception is Set-Up Type OE, where the additional
- information is nibblized ASCII, LS nibble first. An ASCII newline is
- accomplished by sending CR and LF in the ASCII. CR alone functions solely as a
- carriage return, and LF alone functions solely as a Line-Feed.
-
-
- For example, a MIDI Note On message such as 91 46 7F would be nibblized
- and sent as 01 09 06 04 0F 07. In this way, any device can decode any
- message regardless of who it was intended for. Device-specific messages
- should be sent as nibblized MIDI System Exclusive messages.
-
-
- Potential Problems
-
-
- There is a possible problem with MIDI merger boxes improperly handling
- the F1 message, since they do not currently know how many bytes are
- following. However, in typical MIDI Time Code systems, we do not anticipate
- applications where the MIDI Time Code must be merged with other MIDI signals
- occuring at the same time.
-
-
- Please note that there is plenty of room for additional set-up types,
- etc., to cover unanticipated situations and configurations.
-
-
- It is recommended that each MTC peripheral power up with its MIDI
- Manufacturer's System Exclusive ID number as its default channel/device ID.
- Obviously, it would be preferable to allow the user to change this number from
- the device's front panel, so that several peripherals from the same
- manufacturer may have unique IDs within the same MTC system.
-
-
- Signal Path Summary
-
-
- Data sent between the Master Time Code Source (which may be, for example,
- a Multitrack Tape Deck with a SMPTE Synchronizer) and the MIDI Time Code
- Converter is always SMPTE Time Code.
-
-
- Data sent from the MIDI Time Code Converter to the Master Control/Cue
- Sheet (note that this may be a MTC-equipped tape deck or mixing console as
- well as a cue-sheet) is always MIDI Time Code. The specific MIDI Time Code
- messages which are used depend on the current operating mode, as explained
- below:
-
-
- Play Mode: The Master Time Code Source (tape deck) is in normal PLAY
- MODE at normal or vari-speed rates. The MIDI Time Code
- Converter is transmitting Quarter Frame ("F1") messages to
- the Master Control/Cue Sheet. The frame messages are in
- ASCENDING order, starting with "F1 0X" and ending with "F1
- 7X". If the tape machine is capable of play mode in REVERSE,
- then the frame messages will be transmitted in REVERSE
- sequence, starting with "F1 7X" and ending with "F1 0X".
-
-
- Cue Mode: The Master Time Code Source is being "rocked", or "cued" by
- hand. The tape is still contacting the playback head so
- that the listener can cue, or preview the contents of the
- tape slowly. The MIDI Time Code Converter is transmitting
- FRAME ("F1") messages to the Master Control/Cue Sheet. If
- the tape is being played in the FORWARD direction, the frame
- messages are sent in ASCENDING order, starting with "F1 0X"
- and ending with "F1 7X". If the tape machine is played in
- the REVERSE direction, then the frame messages will be
- transmitted in REVERSE sequence, starting with "F1 7X" and
- ending with "F1 0X".
-
-
- Because the tape is being moved by hand in Cue Mode, the
- tape direction can change quickly and often. The order of
- the Frame Message sequence must change along with the tape
- direction.
-
-
- Fast-Forward/Rewind Mode: In this mode, the tape is in a
- high-speed wind or rewind, and is not touching the playback
- head. No "cueing" of the taped material is going on. Since
- this is a "search" mode, synchronization of the Master
- Control/Cue Sheet is not as important as in the Play or Cue
- Mode. Thus, in this mode, the MIDI Time Code Converter only
- needs to send a "Full Message" every so often to the Cue
- Sheet. This acts as a rough indicator of the Master's
- position. The SMPTE time indicated by the "Full Message"
- actually takes effect upon the reception of the next "F1"
- quarter frame message (when "Play Mode" has resumed).
-
-
- Shuttle Mode: This is just another expression for "Fast-Forward/Rewind
- Mode".
-
-
- References and Credits
-
-
- SMPTE 12M (ANSI V98.12M-1981).
-
-
- MIDI Time Code specification created by Chris Meyer and Evan Brooks of
- Digidesign. Thanks to Stanley Jungleib of Sequential for additional text.
- Also many thanks to all of the MMA and JMSC members for their suggestions and
- contributions to the spec.
-
-
- *********** Addition: MIDI bar numbers ********************
-
-
- F0 7F <dev-id> ni 01 aa aa F7
-
- FO 7F Universal real-time sys-ex header
- <dev-id> ID of target device (default=7f=all)
- ni sub ID #1 = Notation information (03)
- 01 sub ID #2 = Bar Marker Message
- aa aa bar number; LSB first
- [00 40] = not running
- [01 40] .. [00 00] = count in
- [01 00] .. [7E 3F] = bar number in song
- F7 End of sys-ex
-
- A maximum neg number indicates not running
- A maximum positive value indicates running (but no idea about bar number)
-
-
- F0 7F <dev-id> ni ts ln nn dd cc bb [nn dd ...] F7
-
- F0 7F Universal real-time sys-ex header
- <dev-id> ID of target machine (see above)
- ni SUB ID #1 = Notation info (03)
- ts SUB ID #2 = Time signature message
- 02=change now; 42=change next bar
- ln Number of data bytes following
- nn Numerator of time signature
- dd Denumiroator (neg. power of 2)
- cc Number of notated 32 notes in a MIDI quarter note
- [nn cc..] Additional pairs of num/denom (to define a
- compound time signature within the same bar)
- F7 End of sys-ex
-
-
- Gruss, Carsten
- * Origin: MAUS Koeln-Porz: 02203-962008 (2:2452/101.6)
-
- *******************************************************************************
-