Sie sind auf Seite 1von 15

SYLT Editor

version 0.1 July 2010

ITB CompuPhase

ii
CompuPhase is a registered trademark of ITB CompuPhase. Microsoft and Microsoft Windows are registered trademarks of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. wxWidgets is a trademark of the wxWidgets community.

Copyright c 2010, ITB CompuPhase, http://www.compuphase.com The logo for sylt editor is created by and copyright c Ken Saunders of www.MouseRunner.com, and licensed under the Creative Commons AttributionNonCommercial-ShareAlike 2.5 License. The information in this manual and the associated software are provided as is. There are no guarantees, explicit or implied, that the software and the manual are accurate. Requests for corrections and additions to the manual and the software can be directed to ITB CompuPhase at the above address.
Typeset with TEX in the Computer Modern and Palatino typefaces at a base size of 11 points.

iii

Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Features and limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 The user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Editing SYLT frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Editing by hand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Editing by ear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Converting between SYLT and LRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Command line programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 syltexport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 syltimport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 A: License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

iv

Features and limitations

Introduction
sylt is a technical acronym for synchronized lyrics or text. It is a data structure that contains general purpose text mixed with time-stamps related to that text. That data structure is embedded inside the audio track (typically an MP3 track) to which it related. The primary purpose of the sylt frame is to embed the lyrics of a song or hymn and display the words to sing at the appropriate times. Hence the name synchronized lyrics, the lyrics are synchronized to the music. To actually display the lyrics, the software (i.e. the media player) or device must support the sylt frame. For most media players, add-ins or plug-ins are available to add sylt support to the media player; sylt support for audio player hardware is varying. Technically, the sylt frame is part of an id3 tag and this tag contains a lot of general purpose data on an audio track, unrelated to lyrics or synchronization. A lot of software and hardware supports id3 tags however, support for the id3 tag does not imply support for the sylt frame. There are several alternatives to the sylt frame. Well known for karaoke are the .kar les, which are essentially MIDI les with embedded synchronized lyrics. More general purpose is a le format that is known only under its le extension: lrc; these are text les containing the time-stamps and lyrics. The drawback of lrc les is that the audio data and the lyrics (with time-stamps) are now in separate les, but have to be managed as a pair which may become cumbersome if several versions exist of the song or hymn. Like for sylt frames, add-ins or plugins are available for most media players to support lrc les, but support on audio player hardware is virtually non-existant. The sylt editor utility is primarily, as is in its name, an editor for sylt frames in MP3 tracks. It addition to this, it also converts lrc les to sylt frames and vice versa.

Features and limitations


This version of the sylt editor supports plain and extended LRC les for input (import) and exports extended LRC les. In addition to creating sylt frames, the sylteditor can also play back MP3 tracks with embedded syncronized lyrics and highlight the each row (with a line of text, or a word or syllable) at the corresponding time-stamp.

Features and limitations

The sylt frame always uses the the 8-bit ISO-8859-1 character set (known as extended-ascii or Latin-1). Unicode is not supported. The sylteditor only supports a single sylt frame per MP3 track. Although we have never seen tracks with multiple sylt frames, these may, technically, exist. Only time-stamps in milliseconds are supported. The id3 specication also lists MPEG frame sequence numbers as an alternative time-stamp base, but we are unaware of any program using frame numbers as time-stamps.

The user interface

The user interface


The user interface of the sylt editor is largely devoted to a table that contains the text and time-stamps for an MP3 track. This table is empty before opening an MP3 track (and it is also empty after opening a track that has no sylt frame). At the top of the the user-interface are the caption, the menu bar and the toolbar. The toolbar is concise, holding only the buttons for the main operations.

Some operations that relate to a particular row or cell of the table, are only available in a pop-up menu. To access this menu, right-click with the mouse on the cell or row in the table. Depending on the context, one of two possible menus is displayed. If you are editing a cell (meaning that there is a blinking text cursor in the cell), a right-click in that cell will show the cell edit menu, with common editing operations such as copy & paste to/from the clipboard, undo and, depending on the platform, special character insertion. If the cell is not being edited, a right-click will show the table pop-up menu, with operations to insert or remove rows, to clear time-stamps or to add an oset to all time-stamps starting from the cell that you clicked on. See gure 1 for an example of both pop-up menus. At the bottom of the application window of the sylt editor is a pair of buttons to play and pause an MP3 track, a slider to indicate the current position in the

The user interface

Figure 1: The pop-up menus that appear after a right-click on the table, which one appears depends on whether the table cell is being edited.

track and a time eld with the precise time-stamp of the current position. These controls are only enabled after opening an MP3 track. The slider may be used to quickly seek to a particular point in the MP3 track too, for example, for netuning a sequence of time-stamps in the middle of the track.

Editing by hand

Editing SYLT frames


There are two ways to enter the data for the sylt frame: you can type all the text (words, syllables, etc.) and their associated time-stamps by hand, or you can generate the time-stamps by playing the track and tapping the space bar at each word, syllable and/or phrase. In practice, you will probably combine the two.

Editing by hand
After opening an MP3 track, the sylt editor displays the sylt frame that it has found in the track in a table. If the track did not yet have a sylt frame, that table will be empty. The table has two columns. In the left column, type the time-stamps, in the format mm:ss.dd where mm stands for the number of minutes (since the start of the track), ss for the number of seconds and dd for the fractional part of a second. For a typical MP3 le, the sylt data is accurate to multiples of 26 milliseconds, so there is no purpose in entering more than two decimals. In the right column, enter any text associated with the time-stamp. When you enter text or a time-stamp at the bottom of the table, a new row will be appended automatically. When you wish to insert a row in the middle or at the top of the table, you need to click on the table with the right mouse button. From the popup menu that appears, you can select to insert a row above the row that you clicked on, or to delete the row that you clicked on. Music players often display a full line of text and highlight the active word or syllable with a marker (e.g. a small dot) above or below it. These programs, hence, need to know where in a stream of words/syllables a new line starts (or ends). It is a convention, with sylt data, that text that starts with a space character ( ) is a continuation of the previous line. Text that starts immediately at the left margin of the second columns of the table starts a new line. The sylt editor extends this convention by treating a dash or hyphen (-) and an underscore ( ) in the same way as a space character. When the lyrics text on a row starts with a dash or an underscore (or a space), no line break is added before the row. The underscore character is not saved in the sylt frame, it is only used as a visible indication of a line continuation. The space and dash characters are saved in the sylt frame.

Editing by ear

The example below shows how the line Oh! ill-fated Bridge of the Silvry Tay1 would be formatted with a timestamp for every word and the word Silvry split into syllables. The word Oh! starts a new line, as it is left-aligned. All other words/syllables do not cause a line break: either because they are indented with a space, or start with a dash or an underscore.

To force a line break on a line that starts with a dash or and underscore, insert a hash symbol (#) before the text.

Editing by ear
To edit a track by ear, it is easiest to rst enter the complete text (the lyrics) in the second column of the table. Depending on how detailed you want to have the lyrics synchronized, you can enter each syllable on a row, or each phrase. See the previous section (editing by hand) regarding the conventions about line continuations and line endings. Note that you need to open an MP3 track to be able to edit the table. After all text has been entered, select the top row in the table. Then, click on the play button (the button with the symbol) and listen to the audio. At the time that the musicians sing (or should sing) the phrase or syllable written on that row, tap on the space bar. The sylt editor puts the time-stamp in the rst column of the row, and moves on to the next row. Continue tapping on the space bar (at the appropriate times) until the track has nished.
1

From a poem on the Tay Bridge disaster by William McGonagall (1830-1902) although poetry by Mr. McGonagall is widely regarded to be uniformly bad, even by his own publisher, it is still in print a century after his death.

Converting between SYLT and LRC

Converting between SYLT and LRC


The sylt editor can import an lrc le and save this as a sylt frame. Alternatively, it can export a sylt frame to an LRC le. In this conversion, there are subtle dierences in the formats of these synchronized lyrics data structures. lrc les exist in two versions. The original version has a time-stamp for each line (or phrase), but no time-stamps for words or syllables inside a line/phrase. The enhanced lrc format adds time-stamps for syllables; it is, however, not as widely supported as the plain lrc format. The sylt editor utility imports both lrc and enhanced lrc les. It exports enhanced lrc les but if all time stamps occur at the start of a line, the enhanced and standard lrc le formats are identical. The sylt frame can tag a time-stamp on each syllable, but it lacks rules about lines of text, or line endings white-space and line endings are a convention, rather than a rule. When importing an lrc le, the sylt editor converts the line endings in the lrc according to this convention. When exporting an lrc le, it uses the heuristics as described in the section on editing by hand on page 5. Quite often, a track exists in a few versions with very minor dierences, such as the length of the (instrumental) intro. An existing lrc le may suit a given track ne, except for the duration of the intro meaning that all time-stamps have an oset. The sylt editor can adjust all time-stamps in a sylt frame in a single command (it can also adjust a sub-set of all time-stamps). Use the option Add an oset to next time-stamps in the table pop-up menu to perform this operation. See page 3 for a description of this menu.

Command line programs

Command line programs


The utility programs syltexport and syltimport allow to insert and extract sylt frames. Since these are command line programs, they are particularly suitable for scripting or batch procedures.

syltexport
The utility syltexport extracts the sylt frame and writes it to an lrc le. It uses the extended format for the lrc le, meaning that time-stamps may occur in the middle of a line (as well as at the start of a line). Usage: syltexport lename [lrc-le] The rst parameter of the utility is the name of the MP3 le to extract the sylt frame from. The second parameter, with the name of the destination le, is optional. If not present, syltexport will create a le with the same name as the MP3 le, but with the extension .lrc.

syltimport
The utility syltimport reads an lrc le and imports the data in the sylt frame of an MP3 track. Both the original and the extended formats of the lrc le are accepted. If the MP3 track already has a sylt frame, it is replaced. The utility creates a new ID3 tag for a track if the original ID3 track did not have an ID3 tag if so, the ID3 tag is created with version 2.4. Usage: syltimport lename [lrc-le] The rst parameter of the utility is the name of the MP3 le whose sylt frame must be updated. The second parameter, with the name of the lrc le to import from, is optional. If not present, syltimport will attempt to read a le with the same name as the MP3 le, but with the extension .lrc.

License

appendix a

License
This manual and the software programs consisting of all the les included in the software package labelled SYLT Editor and hereafter collectively referred to as the product, is copyright c 2010 ITB CompuPhase. The software product under this license is provided free of charge. You are granted a non-exclusive license to use the product for under the following conditions: YOU MAY: Use the product as many times as you like, for as long as you like. Copy and distribute copies of this program provided that you distribute the complete and unmodied product (including this copyright, license and disclaimer of warranty). YOU MAY NOT: Use the product for illegal purposes. Distribute altered versions of the product. Remove or conceal the copyright of the product. The product is and remains the property of ITB CompuPhase. Charge money or fees for the product, except to cover distribution costs. LIMITED WARRANTY: ITB CompuPhase cannot be held liable for any damage or loss of prots that results from the use of the product (or part thereof), or from the inability to use it.

10

License

Index

11

Index ! K L

- (dash), 5 # (hash), 6 (underscore), 5 Batch processing, 8 Cell edit menu, 3 Command line, 8 Conversions, 7, 8 Dash, 5 Delete row, 5 Export (LRC le), 7, 8 Hard line break, 6 Hyphen, See Dash

Karaoke, 1 License, 9 Line break, 6, see also Line endings Line endings, 5 LRC le, 1, 7, 8 McGonagall, William, 6 MIDI, 1 Pop-up menu, 3, 5 Right-click menu, See Pop-up menu Saunders, Ken, ii Special characters, 5, 6 syltexport, 8 syltimport, 8 Table pop-up menu, 3, 5, 7 Track position, 3 Underscore, 5

B C

M P R S

D E H I

T
ID3 tag, 1 Import (LRC le), 7, 8 Insert row, 5

Das könnte Ihnen auch gefallen