Tunebook

# Introduction

Tunebook is a viewer for music expressed in the ABC format. ABC is a simple text-based notation for music and many thousands of tunes are freely available in this format on the Web. ABC is also supported by many music applications. See http://abc.sourceforge.net/ for more details on the ABC format.

# The Tune List

The home view of Tunebook is a list of all the tunes in the Tunebook database. Each tune shows its (main) title, time signature and key. You can filter this list by typing into the search bar at the top of the list (if the search bar is scrolled out of view, simply tap on the status bar at the top of the screen to scroll it into view). Tunebook will treat each word you type as a separate search term and search for any tune which contains all the words in its title. You can also search for tunes in a particular key by typing the name of the key, such as "A" or "Edor". Tunebook assumes that any single character word you type is a key name, so that typing "A" gives you tunes in A, not all tunes with the letter A in the title. You can also search for tunes with particular key signatures. For example, to find all tunes in 7/8, type "7/8" into the search bar.

# Viewing Tunes

To view a tune, click on its entry in the tune list. This will display the sheet music of the tune. Use landscape mode and tap the screen once to hide the navigation bar to see as much of the music as possible. Scroll by dragging, or pinch to zoom in or out.

To play the tune in a nasty tinny way, click on the play button in the bottom toolbar. To change the voice, volume or playback speed, click on the intrument button at the bottom left. This displays an overlay with a choice of not-so-hyper-realistic instruments, a volume slider and a speed slider.

To email the tune to your friends, click on the email button in the bottom toolbar.

To edit the ABC of the tune, click on the "Edit" button at the top right. This displays a text editor which allows you to edit the ABC source of the tune. You can switch back and forth between the sheet music and ABC views until you're happy with your changes. When finished, press the "Done" button to save your changes.

# Importing Tunes

There are three ways to import tunes into Tunebook: You can browse for ABC files on the Internet, you can connect to Tunebook from a Web browser and use a form to upload files into it, or you can enter new tunes in a text ediitor.

To browse for tunes, press the "Gear Wheel" button at the top right of the main screen, then choose "Import Tunes". This will display a Web browser which allows you to wander the Web in search of ABC files. You can enter a URL into the address bar at the top, or you can press the "Bonjour" button at the top right which will allow you to find local Web sites published on Bonjour. This is useful if your ABC files are on your local computer and you have a Web server to access them. If you click on a link to an ABC file (a file with the extension ".abc"), Tunebook will ask you if you want to import the tunes in it. If the page you're viewing actually is an ABC file, then click on the "Import" button at the bottom right to import it.

If you are a user of thesession.org, Tunebook will attempt to import tunes from tune display pages - just navigate to a tune and press "Import". There's no need to open the "ABC" tab in the web page.

If you have tune files on your computer, but no Web server to serve them from, you'll need to upload the files from your computer into Tunebook. To upload tunes to Tunebook, choose "Share Tunes". This will start a Web server to which you can connect using a Web browser on your computer. The address to type into your Web browser is displayed on the screen and the server is also published on Bonjour so you can browse to it if you have a Bonjour-enabled browser. When you connect, you should see a form which allows you to upload ABC files into Tunebook. Simply follow the instructions to upload files.

FInally, you can create new tunes by choosing "Add New Tune" from the main menu. This allows you to type or paste ABC. If you can get your ABC on the clipboard, say, from an email, you can paste it here, and Tunebook will add all the tunes it finds.

# Limitations

Be aware that the Internet abounds with dodgy ABC files which may cause problems. Some of these date from the days when the ABC specification was less well-defined. Most ABC files created for traditional music are fine, but many automatically-generated ones can confuse software. Particular problems you may run across are files which contain blank lines where they shouldn't, and files which are in the wrong character encoding. Tunebook tries to be lenient with these, but problems still arise. In particular some versions of the ABC specification say that a blank line is permitted after the tune header but before the tune body, but much ABC software, Tunebook included, does not permit this. The symptom of this is that the tune will display with just a title and no body.

Tunebook currently only displays single-page ABC files. Again, those monster automatically-generated ABC files may cause problems.

Tunebook does not handle tunes with multiple titles and will only index a tune under the first title found. This will be corrected in a future update.

# The Future

Future updates to Tunebook may (or may not) include: playlists for organizing tunes, Bluetooth support for sharing tunes.

# License and Acknowledgements

Tunebook is assembled from a variety of Open Source software licensed under the GPL as well as a lot of hard work. The sheet music display is based on the well-known abc2ps application. Playback uses abc2midi and the fluidsynth synthesizer. Voices are adapted from the Fluid soundfonts. Download the source code.