MIDI sound files are very freqently found on the Net. A MIDI file can be viewed as a digital musical score, able to drive a polyphonic synthetiser (there is also a MIDI protocol allowing connection of various electronic music instruments).
To reproduce musical sounds, a synthetiser needs some sound samples, either created from real intruments or created from scratch. The quality of these samples is very important for a good sound quality. A good samples bank size is counted in Megabytes.
The General MIDI standard defines 128 base intruments and 47 drums. Each instrument found in the MIDi file needs its own sound sample (also called patch).
One interesting property of a MIDI file is its very small size, a few dozen of Kilobytes for minutes of playing time (you can compare with the 10 Megabytes needed by a 1 minute stereo CD quality WAV sound file).
Sound synthesis from a MIDI file on a computer implies the presence of either a sound card with some synthesis functions or a software able to compute the sounds. Under VMS, the only supported sound cards are, on VAXstations 400 and Alpha 3000 workstations monophonic cards with an AMD chip only supporting 8 bits and 8 Khz of sample rate and rendering a rather low quality sound, and on more recent Alphas (from Alphastation 200) a stereo 16 bits 44 Khz sound card able to render a CD quality sound, but without synthesis capacities. A sofware synthetiser is needed.
Important note: the sound cards of the new Alpha Personal Workstations (PWS) will be supported before the end of 1999. Compaq Ensoniq AudioPCI cards are supported since MMOV 2.2
An excellent real-time synthetiser available on PCes and Unix systems. Timidity actually features 48 polyphonic voices dynamically allocated (and more are available on demand) and many MIDI functions (GM, GS and XG) are available in the last version 2.10.0 and is able to display lyrics when they are available inside the Midi file.
I've made the port of Timidity under OpenVMS with support of the 16 bits stereo cards (via Multimedia Services for OpenVMS) but also for the old 8 bits AMD cards, either on VAX or on Alpha. However, sound synthesis is very CPU bound and an Alpha is probably a better choice than a VAX, but simple MIDI files may be played in real time on VAXstations. There is also the ability to convert MIDi file into a WAV file.
Timidity makes use of Gravis Ultrasound compatible patches (Gravis is a maker of soundcards). The patch set I select is about 20 Mb in size, but the result is worth !!
The author of Timidity (Tuukka Toivonen) has made a Web page http://www.cgs.fi/~tt/, but he doesn't work anymore on Timidity.
Masanao Izumo is the new leader of Timidity, now called Timidity++, and has setup a Web page at Url http://www.goice.co.jp/member/mo/timidity/
Timidity++ version 2.10.0 is available on the DECwindows Archive at free.fr via http:
timidityxx-2100.zip file contains full sources, objects and executables for VAX VMS 6.2 and Alpha VMS 6.2
Original Timidity version 0.2i is available at the DECwindows Archive in the Audio page http://http://decwarch.free.fr/audio.html
Don't forget to download patch files (the sound samples) allowing instruments sound synthesis. The patches (about 20 Mb in total size) are split into a few archives you'll unpack in the same order.
From DECWindows archive via http:
You need Mutimedia Services for OpenVMS 2.0 for using the 16 bits sound card; the MMOV run-time licence is provided with the base OpenVMS Alpha licence (there is a pak to register into LMF and you also need to install MMOV from CD if it was not pre-installed with VMS on your system).
When using the 8 bits sound interface on Alpha or VAX, there is no need to install another software, the sound interface is directly driven via $QIO calls (with AST and flip flop buffers) and not via shared memory with a sound server like MMOV.
First, you may find useful to upper to 5 or 6 the priority of the process running Timidity (base priority is 4). Second, it is a good precaution to activate the anti-aliasing filter with "-a" option (it is a low-pass filter, with bandwidth related to the sample rate, applied to the patches when they are loaded into memory to avoid some weird sounds:
On VAX, the default parameters are mono, 8 bits and 8 Khz of sample rate. These parameters reduce the CPU eated and a VS 4000-60 can play in real time. The anti-aliasing is very useful at these low sample rates, patches are generally created with sample rates between 22.05 Khz and 44.1 Khz.
On Alpha with a 16 bits sound card, the default parameters are Stereo, 16 bits and 22.05 Khz of sample rate. If you have at least a 233 Mhz Alpha, you can select 32 Khz or even 44.1 Khz of sample rate and play in real time:
Note: the 16 bits sound cards are able to record and play at 32 Khz of sample rate, but MMOV$DECsound (and all MMOV applications) only knows 8 Khz, 11,025 Khz , 22,05 Khz and 44,1 Khz.
The internal loudspeaker of the workstation will quickly be underpowered when using a 16 bits sound card. It is worth to buy a pair of "Multimedia" amplified loudspeakers and plug them into the headphone output of the sound card. Choose shielded loudspeaker and verify that the input impedance of the integrated amplifier is at least 600 ohms. With such an equipment, you'll enjoy. For example, on my home DS10 6/466, I put a pair of 2 way loudspeakers with a 2x10W integrated amplifier.
Listening MIDI files is a very nice activity, but you'll quickly want to modify or even create MIDi files. Considering that, I've ported Jazz 2.6B under OpenVMS. Jazz is a software MIDI sequencer allowing creation and edition of MIDI files. Version 2.6B is distributed under "Gnu General Public Licence". Jazz makes use of WXwindows C++ graphic toolkit, by chance also available under OpenVMS. Jazz is also written in C++.
Jazz has a large number of functionalities, like a chord browser or a rythm generator allowing the creation of interesting drum scores. MIDI tracks are edited with the mouse (you can cut and paste chords from the browser) in a piano roll window.
Jazz 2.6B is available at CENA's DECwindows Archive via http:
jazz-v26b.zip file contains full sources, objects and executables for VAX VMS 6.1 and Alpha VMS 6.2
WXwindows V 1.67 library, mandatory for recompiling Jazz, is also available at DECWindows archive:
A Web page is also available for WXwindows
Jazz sequencer is easy of use to edit a MIDI file, however musical composition is very hard with such a tool. It is much more convenient to make use of musical notation on a score than writing MIDI events from hand. So, I've ported Rosegarden 2.1 under VMS.
Rosegarden combines a score editor and a MIDI sequencer. It allows WYSIWYG score writing (24 staffs maximum at the same time in various keys) and listening the result creating a MIDI file for the sequencer.
Editor and Sequencer are full applications and can be lauched independently. When you launch Rosegarden, you really launch a small application (the Top Box) giving you acces to on-line help pages, and allowing you to launch the editor and the sequencer.
The Rosegarden Editor allows work on 24 staffs (maximum). It has an arbitrary number of buffers and provides cut and paste functions between buffers, allowing the final "mix" of musical pieces. Compositions may be saved into the "Rose" format, an ASCII format specific to Rosegarden, but also exported into a MIDI file. The Editor is also able to create scores from an imported MIDI file (very inteersting !!).
Rosegarden Editor can also export into MusicTeX or PMX file formats, giving you a chance to print your scores provided you have TeX/LaTeX installed on your system.
The Sequencer allows viewing the content of MIDI tracks and editing of them (append, modification or deletion of MIDI events). It also allows listening od MIDI files, either driving directly the sound card, or via an external MIDI player software (on VMS we use this functionality with Timidity).
Rosegarden was written by C. Cannam (cannam@netcomuk.co.uk), A.J. Green and R.W. Bown. A Web page is available at url
http://www.bath.ac.uk/~masjpf/rose.htmlRosegarden is a mandatory software !! You can grab the VMS version (VAX and Alpha) at DECWindows archive:
rosegarden-21.zip file contains full sources, object and executables for VAX VMS 6.1 and Alpha VMS 6.2
You will need X11R5 versions of XAW and XMU for recompiling Rosegarden. Digital has never included XAW into DECwindows, you need a public domain implementation. You can find it at ulrs:
Thousands sites host MIDI files. You may use search engines to find them. With Altavista, a request like
"celtic music" +midi in normal search or "celtic music" AND midi in advanced search is convenient. Be aware you only can donwload midi files placed into the public domain.