© Copyright 2003 All Rights Reserved
The information on these pages is copyrighted by the author with all rights reserved. Reproduction of anything other than actual URL addresses without the author's permission is in violation of copyright laws.
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.
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.
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.
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.
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.
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.
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.
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.
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/.
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.
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.