Friday, February 4, 2011: Converting StepMania Stepcharts to Tap Studio « from the old blog archive »

Tap Studio 3 is a nice game, but is full of off-synced tapcharts.

This is mainly because of the way the tapcharts are made: It plays the song, the user records the tapchart as the song plays. When the song finishes, you get a tapchart ready to play. In Tap Studio 3, it has a basic UI for editing taps, but you can't be sure that it syncs well with the song, and it fells unresponsive too.

Few days ago, I tried making my own taps, but each song took me a lot of time, because when I record, there will be an error in some point in the song (missing taps, extra taps, offbeat taps).

StepMania is Much Better At Making Notecharts!

Making stepcharts in StepMania is much more fun. You can record notes into your stepchart, or you can choose to add notes one by one. It has a lot of tools that you can use to fine-tune and sync your stepchart.

Also, most of the already available simfiles on the Internet are pretty time-accurate.

So I made a small Python script to convert my .sm files to be playable on Tap Studio, so I can play them anywhere.

Prerequisites

To be able to convert .sm files for playing in Tap Studio, you need:

  • A Mac.
  • A jailbroken iDevice, with an SSH server installed.
  • Tap Studio (either version 2 or version 3 will do).
  • sm2tap.

Converting Stepcharts

Song Initialization

First, you need to have the song you want to convert in your device.

Then, you need to initialize a song. Open Tap Studio, then go to your song library and pick a song you want. After that, press Record. After the song starts, record only one note and save it.

Copying the Song to Your Mac

Then, SSH to your device, or run a terminal on your device as mobile user, and then issue this command:

find Applications -name '*.tapd'

This should list all the tapfiles you have and the locations where they reside in. Copy the tap file you just created (the one with the song name) to your Mac.

Converting StepMania Notes to Tap Studio Notes

On your Mac, you need to convert the .tapd file into an XML file.

Open a Terminal, and then type in

plutil -convert xml1

then press space, then drag the .tapd file into the terminal window, and then press Enter. You will see that the .tapd file will be slightly bigger.

After that, type in:

python

Press space, and drag these files into the terminal window in order:

  1. My convert.py file.
  2. The .sm file.
  3. The .tapd file.

Then go back to terminal and press enter. You should see a list of available step types that can be converted. Type in the name of the step type and press enter. Your .tapd file should be a lot bigger by now.

Finally, to convert it back into binary format,

plutil -convert binary1

then press space, then drag the .tapd file into the terminal window, and then press Enter. The size of the .tapd file will be reduced.

Copying the Modified Notes Back to Device

Copy this file back into your device. You can now play your simfile on your device!

Enjoy!