Recipes for Music on your PC

This is an article on how to create, find and play Karaoke tunes on a PC.

I've started a mailing list for discussion of locating public domain tunes and using open source and freeware programs to share them. See http://groups.yahoo.com/group/pdsongs if you'd like to join in.

Setting up your PC

Before you get started, you'll probably need an unzip utility (or some kind of software to decompress compressed files) and a virus scanner to use on the files you download. You may also want a good text editor. If you don't already have them, here are a few suggestions on where to find some of them:

Here are the programs, you'll need to download in order to set up your machine to create and play karaoke files.

  1. Download and install Ghostscript and Ghostview from the Ghostscript web site, http://www.cs.wisc.edu/~ghost/index.html
  2. You'll need a Karoake player such as Van Basco or Timidity++. See the other useful programs section for links and some software suggestions.
  3. Download the latest abcm2ps file in order to display ABC notation files as sheet music in Postscript
  4. Download abc2midi and midi2abc. They convert ABC files to MIDI or Karaoke MIDI format and back again.

Once downloaded, copy the abcm2ps and abc2midi, midi2abc related files into the same directory. This is where you can use the unzip (or your decompression software) and virus protection programs.

Calling Command Line Programs

Many of the abc programs were designed to be run from a command line. While I feel very at home using a command line to run programs, many people don't. It also takes multiple steps to create a midi file or sheet music from your abc file. It's often convenient to use scripts or shortcuts to remember and invoke the commands for you even if you like working with the command line. While on Windows, I often use batch files to do this. You can also run the commands through a programmer's editor such as SciTE if you prefer to avoid working directly with command line programs.

Creating batch files

Here are some sample batch files I use on Windows. Create them using your favorite text editor or in the text editor recommended above and store them in the same directory that you placed the abcm2ps, abc2midi, midi2abc programs. Be sure to change the paths in the batch files to match the locations of the programs you've downloaded and installed on your machine.

makekar.bat
-----------
abc2midi %1 %2 -o music.kar
c:\progra~1\vanbas~1\vmidi music.kar

makeps.bat
----------
abcm2ps %1 -e %2 -O music.ps
C:\gstools\gsview\gsview32.exe music.ps

makeabc.bat
-----------
midi2abc %1 -o music.abc

I'm not going to attempt to add scripts for other operating systems and scripting language/software combinations. However, you should be able to use a similar concept (with different scripting language and software paths/names) to get this to work on machines that do not run Windows.

Using SciTE

For a technique that works on multiple operating systems, you can use a cross-platform programmer's editor and invoke the appropraite programs from it. My cross-platform editor of preference is SciTE and I've included some information on how I set up the process to call abc programs on my Scite Tips page.

Finding music

You can search for Karaoke and MIDI files to play at the Van Basco site.

You can run a search for available ABC files at http://ecf-guest.mit.edu/~jc/cgi/abc/findtune. If you find a tune you like, save it as a text file on your computer and make sure the file has the .abc extension.

You can also use the SciTE text editor recommended above or any other text editor to create your own music in ABC notation format. You create the files using ABC notation and then you can convert them with the tools you've just downloaded to MIDI (.mid) or Karaoke MIDI (.kar) files.

Playing ABC notation files

You can play a song by running the batch file and typing the filename and song number on the command line in the directory where you've placed your batch files. Here's an example using the Windows batch files I created.

To play a song:
makekar song.abc 1
To create the notation for a song in postscript:
makeps song.abc 1
To turn a midi file into abc notation:
makeabc music.kar
and the notation will be output to music.abc

You can also use the SciTE editor with ABC customizations to create and play songs in ABC Notation.

ABC notation

If you'd like more information on the ABC notation format and other ABC programs available, the main ABC site is http://www.walshaw.plus.com/abc/.

Other useful programs

Creating your own music recordings

If you'd like to turn you midi composition accomplishments into a CD, there are a few more steps you can add to the process.

Once you have your music in wave file format, use the programs that came with your CD writer to create an audio CD with a CD-R disk. You'll find some alternative CD writer software suggestions (both Open Source and freeware) on my Switching to Open Source page.

More on Karaoke

There's a Karaoke game which lets you test your pitch alone or against others. It's based on a popular video game, however, there are several Open Source versions freely available. Windows users can find UltraStar Deluxe and UltraStar at Sourceforge. There's now a port to POSIX systems. If you're on another operating system, look for for Performous. It's the latest version of UltraStar NG. There's now a Windows port for it too.

You can use the techniques described above to create music for the game. Start with a Karaoke midi file or create a .kar file using ABC notation and abc2midi. Convert the Karaoke midi file to Ogg Vorbis or MP3 using Audacity. There is a conversion program called MidiKar2UltraStar which can be used to convert the Karaoke midi file to a lyrics file in the appropriate format. You'll need to download Java to run it though. Once you have the Ogg Vorbis or MP3 file and a lyrics file, you're ready to play. There's some built-in functionality in UltraStar to convert midi files to lyrics files, but I don't know if it does the job quite as well as the standalone tool. If you're creating your Ogg Vorbis or MP3 music file directly from the kar file, you shouldn't have to worry about synchronizing lyrics to the music either.

I haven't had much luck getting Ultrastar Deluxe to work with my hardware and music equipment when checking tones. Would be interested to hear if anyone has better luck or suggestions on how to get this part of the game working. You can contact me through the pdsongs mailing list.


To a list with more music applications.

To a list of public domain sheet music sites.

To an article with tips on customizing SciTE for use with ABC notation.

To the main page.

Validate XHTML
# To make your visit count, load this image.#



The information on these pages is copyrighted by the authors with all rights reserved. Reproduction of anything without the authors' permission is in violation of copyright laws.
All original material is copyrighted:
(c) Copyright 2003 by Laura Michaels
All Rights Reserved