Karaoke Starter Kit for iPhone

An iOS starter kit for playing multi-instrument MIDI files and displaying karaoke lyrics that are synced to the progress of the song. Includes a PDF tutorial on loading, parsing and playing MIDI files on iOS. View Pricing
scroll down for more

An iOS karaoke player with full screen or subtitle modes

This starter-kit provides a working app base for Karaoke like functionality, including play-along subtitles.

Making a karaoke app for the iPhone or iPad sounds like a simple project. However, If you look at the iPhone API, you will find very little native support for making that happen. Everything in this library had to be worked out from scratch, as there isn't much information publicly available on the subject.

This component is an objective-C library that wraps around CoreAudio and includes a comprehensive PDF guide about how to create MIDI based iOS apps.

What's included

  • Loading and parsing a MIDI file using CoreMidi: Showing you how to load a MIDI file using CoreMidi and then access the MIDI events (Note, Tempo, Time Signature, etc.) individually. This puts you in full control and gives you access to all the information the file contains. It also clearly explains how the MIDI file fits together and what the important MIDI messages mean.

  • Plenty of background information: The tutorial doesn't just explains how the example project works. It also gives lots of background information and useful tips for processing MIDI files. That includes: bitwise operations, hex and binary, general Midi, how the percussion track work and much more! The guide alone is over 5000 words long.

  • Writing a fully functional MIDI player: Step by step, the guide and code explains how to interpret the sequence of messages you retrieved from the MIDI file. The MIDI player uses multi-threading to play the sequence of MIDI messages in real-time. The MIDI clock class ensures that the MIDI file plays smoothly at the correct tempo. The MIDI player provides easy to use callback functions which give you access to all MIDI events in real-time. If you need events which aren't included, it's easy to extend the framework to support all existing MIDI messages.

  • Audio Manager provides multi-timbral playback: CoreAudio on the iPhone only comes with a mono-timbral sampler. This means that you can only play your MIDI notes using one instrument sound. The Audio Manager which is included in the tutorial makes it easy to play your MIDI file using up to 10 instruments using a custom SoundFont. Included is a step by step guide to setting up a complex audio graph. It also shows how to set up the instruments based on information provided in the MIDI file. Doing this provides a rich sound as demonstrated in the video.

  • Karaoke: How to write a karaoke module. This module manually parses the MIDI file to extract all the lyric events. The lyrics are then displayed on the screen and are colored red as the song advances. With a little polish, this starter kit could easily form the karaoke engine of your app saving you a lot of development time.

  • More than just a tutorial: The sample project, provided with the tutorial, provides a solid framework for your CoreMidi iOS project. You can use this project as a learning exercise to learn CoreAudio and CoreMidi or base your whole project on the code.

This component and included tutorial took over 120 hours to research and write. If you're planning to write a karaoke app for the iPhone it's guaranteed to save you a substantial amount of time.


14 day 14-day money-back guarantee


Application License

  • Perpetual license

  • 1 application

  • Can distribute binary products only

  • Commercial use

Need custom services for this product? Get a quote

Installation Instructions

When you've downloaded the sample project unzip the directory to the desired location.

  • The directory contains the Xcode sample project and a PDF document containing a detailed explanation of the code.
  • In order for the MIDI file to be played it's necessary to download a SoundFont file. The SoundFont provides the instrument sounds for the MIDI file. Due to it's size, the SoundFont file is not included with the sample project.
  • The SoundFont can be downloaded here. Once downloaded, place the SoundFont file in the "Resources" directory of the Xcode project and you're ready to go!