LJ Archive

New Projects

Fresh from the Labs

John Knight

Issue #180, April 2009

Ultrastar Deluxe—Home Karaoke Game (www.ultrastardeluxe.org)

This project really caught my eye when browsing through SourceForge this month, and not being a big karaoke guy, this well-established project (more than 12 million users strong) has somehow passed me by all this time. For any others not in the know, Ultrastar Deluxe is “A free and open-source karaoke game inspired by the Singstar game available on the PlayStation. It allows up to six players to sing along with music using microphones in order to score points, depending on the pitch of the voice and the rhythm of singing.” Ultrastar Deluxe also runs on Linux, Windows and Mac OS X.

Ultrastar Deluxe brings you an amazing karaoke program with gorgeous graphics.

The most impressive feature I found was the ability to use pretty much any kind of video you want in the background, including MPEG, DivX, YouTube .flv—whatever you like. An extremely impressive and professional demonstration is available on YouTube (au.youtube.com/watch?v=uvBSeme34bE), where you can see the program in action with karaoke cues taking place on top of videos from artists such as the Foo Fighters and Tenacious D. Ultrastar isn't limited only to videos though. Standard gameplay generally takes place with an MP3 playing with a possible artist's picture in the background while the program takes information, such as timing cues and the like, from an accompanying text file. As the text file is raw ASCII and the format is well documented, it leaves the entire process open to fans syncing up their own lyrical cues to any track they like, from any band. The game also comes with an editor built in, which will save hours of headache-inducing raw text editing.

Although I've got it set up with only one song, you can see how clean and colorful the interface is.

The guys from Ultrastar have put up a great YouTube video of their program in action. Here's someone rockin' out to the Foo Fighters.

Installation

Installing Ultrastar can be a pain without someone holding your hand, but luckily there's a quick-start guide available that's well worth a look. The guide to installing it quickly under Ubuntu is very good, and it's probably the best guide for many other distributions too (if it doesn't work right away, or your distro doesn't use apt, at least the package names should help). I've chopped the Ubuntu guide down to the bare essentials that worked for me, but if you need more information, see the installation guide on-line (ultrastardeluxe.xtremeweb-hosting.net/wiki/doku.php?id=development:compile).

First, you need to satisfy Ultrastar's dependencies. Open a shell, and enter the following:

$ sudo apt-get install fp-compiler fp-units-base 
 ↪fp-units-misc fp-units-fcl fp-units-i386 fp-utils 
 ↪libsdl1.2-dev libsdl-image1.2-dev portaudio19-dev 
 ↪libsqlite3-dev libfreetype6-dev libavcodec-dev 
 ↪libavformat-dev libswscale-dev

You can download the source either by SVN or wget, but for the sake of space, we'll just run with SVN here. If you don't have SVN, grab it with the following command:

$ sudo apt-get install subversion

Open a terminal where you want to save the Ultrastar source, and enter this command:

$ svn co https://ultrastardx.svn.sourceforge.net/svnroot/
↪ultrastardx/trunk usdx-source

SVN will save the contents to the directory usdx-source. Enter that directory with this command:

$ cd usdx-source

And, compile it with these commands:

$ ./configure
$ make
$ sudo make install

You can run Ultrastar Deluxe now, but I found with the SVN download, there weren't any songs added along with it (hence, nothing to load up and sing along to). If you check the project's Web site, there are some free songs to download provided by the community. Download a song's zip file and extract the contents somewhere locally. Then, with root or superuser permission, copy the files to the folder /usr/local/share/ultrastardx/songs. Once those are in place, you should be good to go.

Usage

After all that, you now should be able to run the program with this command:

$ ultrastardx

Once you're in the game, you'll be presented with the following menu options: sing, party, tools and quit. If you want to jump right into the action, choose sing. Enter your player name, select your difficulty level, and then you'll be taken to your song selection. Here you will find what are quite frankly gorgeous graphics, and an interface that should be familiar with users of programs such as iTunes and the like. Left and right arrows scroll through available tracks, and Enter starts playing a track. If you look at the bottom of the screen, there's a guide to further controls for better navigation and setting up a playlist. Once the track is playing, a number of cues will guide you quite easily through things such as timing and pitch, and anyone mildly familiar with karaoke should have no problems here.

Under party mode, you can choose from a number of innovative playing modes, such as the classic one on one with Duell. Blind Mode removes pitch cues leaving you to sing purely by feel. Until 5000 mode is where each player races to get 5,000 points, and the first one there wins. Once you've played for a while, it's worth checking what's available under tools, as there are options to tweak microphone settings, change the graphics resolution and change the in-game theme, among many others.

If you aren't getting anything from your microphone, check that it's working properly back in desktop land. It's probably a good idea to try to record a small amount of audio under a basic recording program and play it back to make sure everything's in order and sounding decent. Anyone who has the Singstar microphone from the PlayStation game should be able to use this too, according to the instructions (I don't have either the original game or mic, so I can't verify this).

Back in the game, there are settings to tweak the number of channels you can use, including the number of players, and even a party option with up to 12 players with three teams, but I don't have nearly enough space to cover that here.

Honestly, checking out the rest of the Web site is well worth it, as there's a bundle of themes available, including one that will make Ultrastar resemble the Nintendo Wii (quite appropriate given you also can use a Wii controller). The links section of the Web site has instructions for a number of tools, such as the in-game editor and its syntax, plus there's a community board for requesting songs, exchanging help and so on.

Not only is Ultrastar Deluxe a great program for karaoke enthusiasts, it's also a great place for musicians to get their music out there to the public for free while having adoring teenagers singing along. Proprietary solutions may be better for getting famous songs on hand straightaway, but you would have to pay quite a premium for this, and the last time I tried karaoke, one of these machines was using a very lame midi soundtrack (which sounds awful when playing Metallica, trust me)!

If I were an enthusiast setting up at home and didn't mind scouting around for text files or spending some hours making your own, I'd use this program. If I were going into the karaoke business myself, I'd probably still use this program, given the amount of control you have and the ability to play original sound files. With the gorgeous graphics and well-thought-out interface, for karaoke, this is probably your best bet.

Editra—Advanced Text Editor (editra.org)

For those looking for an advanced text editor that runs across the main three platforms of Linux, Windows and Mac OS, without being too bulky, this might be for you. According to the Web site: “Editra is a general, extensible, multiplatform text editor with an implementation that focuses on creating a clean and easy-to-use interface with features that aid in code development. Currently, it supports syntax highlighting and a variety of other useful features for more than 60 programming languages.”

Editra brings a whole bunch of cool and sensible features into one snappy, multiplatform package.

Installation

I didn't run into any weird dependencies with this one, but it does require wxPython 2.8.3 or higher (which I already had installed). Although there are binary packages available only for Windows and Mac OS, there is a source package for Linux, and compiling Editra is pretty painless.

Head to the Web site, grab the latest tarball, and extract it. Open a terminal in the folder, and enter the following command either as root or sudo:

# python setup.py install

This built straight off for me, and it probably will give you little hassle, provided you have wx installed.

Usage

Once it had compiled, I entered the command:

$ editra

That worked straightaway, and it even prompted me about an available update. It didn't work, but that's beside the point! That's some cool coding for something this early on in the development cycle. If you're reading along and have made it this far, you obviously don't need me to tell you how to use a text editor. However, let me draw attention to the cool features that sets Editra apart from other editors.

First, it's very lightweight and snappy. There's no bulkiness to put you off, and it probably would run nicely on old systems. Second, opening up extra files splits each one into tabs, like Opera, Konqueror, Firefox and so on. Third, it color-codes sections of text, depending on the language and syntax used. It recognizes a large number of languages too. I threw the following file types at it, and it knew Python, C, Pascal—heck, it even handled my configuration file for the X Window System.

It also has the extremely useful ability to open other character sets that are non-UTF-8, and it even suggests which encoding to choose to view the text you need (handy when jumping between systems and foreign countries). What really impressed me was the ability to “fold” paragraphs of text. Next to the line numbers (another handy feature), it groups text into specific bodies that are collapsible and expandable with that little box with a minus sign in it, which turns into a plus sign when collapsed. It's very handy for wrapping your head around lots of intricate code and keeping things organized, with the bonus that it also encourages clean coding.

Editra has way more features available than what I've mentioned here, so check the Web site if you want to see the whole list. If you want an advanced text editor, you could do a lot worse than this. But, if you also want something that works across all of your systems—meaning you have to use only one interface—this might be the one.

John Knight is a 24-year-old, drumming- and climbing-obsessed maniac from the world's most isolated city—Perth, Western Australia. He can usually be found either buried in an Audacity screen or thrashing a kick-drum beyond recognition.

LJ Archive