2003-2004
Patrick
Giasson
portions (c) 2003 Tony Cebzanov
using mp3tool (c) 2000-2002 Mark Lord
and using vbid3lib 2002 theFrogPrince
Latest changes are in BLUE
What it's all about?
SYLT Lyrics plugin is a plugin that enables winamp users to view,
edit and save songs lyrics directly into SYLT frames. I think it's the
first and only program that does so (beside command-prompt lrctool from
Tony Cebzanov)
Installation
Simply run the install (.exe) and specify your winamp folder.
If you have trouble starting the plugin (missing dll
error), be sure to install the Dependencies, and if it still fails, you
might give the vbrun6sp6 a try too. The links to all these felies is on
the homepage, under "download"
Usage
First, let's check the settings (Menu Options/Settings):
- File Format Priority
- Put the format in which you would like to save your timestamped
lyrics at the top of the list, using the arrow buttons. The order in
which the different formats appear also set the order in which they will
be looked for when you play a file. Lyrics3 is in the list, but is
currently not implemented. Do not put it first: Lyrics won't be
saved. Read from lyrics3 does work though, and is performed by the
library I use to read SYLT frames. The dashed line is the cut: The
sources listed above the cut are used, those under are not. Useful if
you don't want to use internet: Move the cut above "Sing365", "All The
Lyrics" and "lrcDB" and it won't try to connect.
- Erase other format when found
- If checked, the plugin will erase all the formats of lyrics it
founds, except the one at the top of the list, of course. This option is
useful if, for exemple, you have all your collection of lyrics saved to
lrc files and you want to transfer them to SYLT frames. Simply check
this option, then play all your songs, and press Ctrl-L then Ctrl-T.
This will enter "Edit Mode" and immediatly save lyrics to SYLT. Then, it
will erase the .lrc file.
Show in taskbar
Check this option if you want to see
the SYLT plugin in the taskbar. If you uncheck this option, you must
restart winamp to see the change.
- Hide Scrollbar if lyrics are sinced
- Hide the vertical scrollbar in "Sing mode" if
lyrics are timestaped. You can still move around with the mouse
wheel. If no timestamps are found, scrollbar will be
visible.
Snap to Act like a
Winamp Plugin
- With this option checked, the plugin will follow Winamp window.
Move the plugin around by dragging it as you want it in relation with
winamp, the move winamp and the plugin will follow. If you minimize or
restore winamp, the plugin will do the same. Finally,
with this option checked, the plugin won't show in the taskbar.
- Automatic Hide
- If checked, the lyrics plugin will only show if it finds lyrics.
If not, it will hide itself. Bring back the plugin, select it from the
winamp menu "SYLT Lyrics Plugin", or press Ctrl-Y in winamp.If you're in
the process of tagging a number of songs, you should not enable
"Automatic Mode" as the plugin will disappear each time a new song is
selected. This option is useful if you're listening to songs in winamp,
and dont want to see an empty window if there are no lyrics.
- Automatically adjust window width
- Use this option to make the plugin window adjust itself to the
lyrics it displays.
- Trim Lyrics Lines
- Use this option to make the plugin remove
the leading and trailing spaces and trailing punctuation.
- Mouse down for timestamp sync
- If checked, the timing of the insert timestamp
when mouse button is clicked is on the press of the mouse button.
Otherwise, it's on the release. The insertion is always done on mouse
release; this option only changes the timing.
- Start with Winamp
- If checked, the plugin will start whenever
winamp is launched. Otherwise, it'll wait for user input (Ctrl-Y or
winamp menu).
- Auto "Click-as-you-Sing"
- When in Edit Mode, the plugin will go into "Click-as-you-Sing"
mode automatically, depending of Winamp Status. If winamp is playing, it
will enter that mode and return to Normal Mode when winamp will stop.
You can bypass this all the time by pressing CTRL-D.
- Allow selecting when in "Click-as-you-Sing"
- When you are in the "Click-as-you-Sing" mode, timestamps are
inserted when you release the mouse button. If you select this option,
you can select text (by pressing the button and moving the mouse), and a
timestamp won't be inserted on release of the button. This way, you can
still correct typo when you timestamp a song, without leaving the
"Click-and-Sing" mode.
- Show Incorrect Timestamp Error Message
- If checked, the plugin will try to correct any bad timestamped
line and will add an error message on the lines these lines. Error that
it can catch are: timestamp larger than song running time, smaller than
0.
- Create backup
- This plugin is still in developpement, and if you're paranoid (or
careful ;-), you can check this. When asked to save, the plugin will
make a backup copy of the original mp3, untouched as
"OriginalName_SYLT_backup.mp3"
- Check for new version at startup
- If checked, the plugin will check once a week
for a new plugin version. If a new version is released, a popup will
inform the user. The popup will only reappear if another new version is
released. It's possible to check manually for a new version with the
menu "Help / Check for New Version"
- Allow saving even if not in edit mode
- Pressing Ctrl-S, or using the menu "Save" will
save the lyrics, even if the user wasn't in Edit Mode. It allow users on
dial-up connection to seek through a bunch of mp3, saving rapidly the
lyrics retrieved from the net to minimize online time, without going to
edit mode for each. I don't recommend turning this option On otherwise.
- Use lrcDB
- lrcDB is a central repository
for time-tagged song lyrics. To be able to retrieve lyrics from this
site, you must first register there, then select this option and then
enter you login/password in the following fields.
- AutoSave when lyrics found
- The lyrics found at lrcDB are already timestamped by other users:
You should not have edit them. Normally, the plugin only saves lyrics
when you "Enter Edit Mode" and then "Save". With this option, if the
lyrics retrieved from lrcDB are a perfect match (Exact Artist, Title AND
Album as id3 info in your mp3), the plugin assumes the lyrics are OK to
be saved and do so immediatly after getting them from the site.
- Use Proxy
- If you need to use a proxy, enter the settings here. This is
not thoroughly tested. There could be a lot of bugs introduced with this
option. Keep me informed of how it works for you
- Timestamp format
- This option is there for compatibility issue if you use other
programs which read timestamp. If it's not the case, simply let this
option to "Long". It will increase accuracy.
- Timestamp adjustment
- Use this field to "compensate" your reaction time in
"Click-as-you-Sing" mode. The time placed here will be added to playing
time when the timestamp is inserted. If you always click half a second
too late, type -0.5 here and that half second will be compensated.
Here is a typical workflow to put lyrics in mp3
Without Internet
- Open the mp3 in winamp
- Stop it, if it's already playing
- Enter "Edit Mode" by pressing Ctrl+L . If the popup "Open
Location" appears, it's because the plugin didn't was not selected.
Press cancel and then click on the plugin to select it, the try again.
- Paste the lyrics you previously found from the web, or type them
in. (As guideline, insert a blank line at the top, at bottom and between
verses. You'll use them to tag respectively the time [00:00], the time
at wish the silence between two verses begin and the time at which the
last lyrics finish. This will be helpful when you'll sing back and it
will help if you use emphatic for those with an empeg)
- Enter "Click-As-You-Sing Mode" by pressing Ctrl+D
- Click on the first line. Depending of the type of timestamp you
choose (short or long), you'll see either [00:00] or [00:00.000] appear.
Begin to understand what we'll do next?
- Press play in Winamp. Then as soon as you sing each line, click on
it. The time in the song at which you release the button will appear at
the beginning of the line.
- Empty lines should also be timestamped. Use this to indicate the
beginning of silences in the song. It's important to do so if you use
multiple timestamps per line: When sorting the lines in correct order,
the ones without timestamp are remove. If you don't timestamp empty
lines, all the lyrics will appear as a single long paragraph.
- Select menu "Reformat Lyrics" to recalculate
the "Token" timing (on the left). Press "Play" in winamp.
When
you're all done with timestamping your song, press Ctrl+T to save the
lyrics.
- Watch the "token" on the left part of the
window. It scrolls exactly like the real lyrics would do in "Sing Mode".
If you notice any lag/lead, adjust the time accordinly with CTRL-Up and
CTRL-Down. You can repeat those two steps as long as you're not entirly
satisfied by the timing. When you're all done with timestamping and
adjusting your song, press Ctrl+T to save the lyrics.
Return to
"Edit Mode" and listen to the song once again. Watch the "token" and the
left part of the window. It scrolls exactly like the real lyrics would
do in "Sing Mode". If you notice any lag/lead, adjust the time
accordinly with CTRL-A and CTRL-B. When you're done, save again. Note
that the timing of the token is updated only when you save the lyrics.
If you want to check if the adjustements you made are ok, save the
lyrics, then come back again in "Edit Mode"
- That's all! Lyrics are now saved and will come up every time the
song is played.
With Internet
To use this method, you must have at least one of the following
sources above the line (in the settings): lrcDB, AllTheLyrics, Sing365.
You can also use this method by pressing CTRL-I (Search on Internet)
- Open the mp3 in winamp
- Stop it, if it's already playing
- Wait for the lyrics to appear. It could take a while (up to 20
seconds on certain occasions). If the message "No Lyrics Found" appears
in the titlebar, then you'll have to use the "Without Internet" way of
doing things!
- If lyrics were retrieved from lrcDB and you selected "AutoSave
Lyrics" in the lrcDB settings, you're done! Otherwise, you just have to
save them to your mp3, by pressing CTRL+L CTRL+T.
- If lyrics were retrieved from another Internet source, they are not
timestamped. Enter "Edit Mode" by pressing Ctrl+L . If the popup "Open
Location" appears, it's because the plugin didn't was not selected.
Press cancel and then click on the plugin to select it, the try again.
- Continue from point 5 to 10 of above
- Submit the lyrics to lrcDB by pressing CTRL+U
You can now submit correction to lrcDB. The program automatically
determines if your submission will be a first time submission or a
correction request. The color dot next to the Submit menu will be green
on new submission and yellow on correction.
Here are a few keyboard shortcuts:
- CTRL+Y
- Show or hide the SYLT Lyrics Plugin
- CTRL+E
CTRL+L
- Switch to "Edit Mode" (where you type/paste lyrics and add
timestamps)
- CTRL+S
CTRL-T
- Save the lyrics and switch to Run mode (where the lyrics will scroll
with the music)
- Esc
- Quit "Edit Mode" and discard any changes made
- CTRL+D
- Enter/Leave "Click-As-You-Sing Mode". For this to work, you most be
in "Edit Mode" first (CTRL+L). Then, by pressing CTRL+D, the mouse
cursor switch from the I beam to an arrow cursor. When in
"Click-As-You-Sing Mode", a click on a line will insert current playing
time of the song. This is the way to timestamp your songs: Simply paste
lyrics (or wait the plugin to get them from you from internet) and then
press CTRL+D, press Play in winamp, and when each line begin, simply
click on it. A new feature for 1.1 is support for multiple tags on the
same line. This is useful to tag the chorus of a song. Each time you
click on the text of a line, a new timestamp will be inserted at the
beginning of the line. If you click directly on a timestamp, it's value
will be changed to current time.
- CTRL-Up
CTRL+A
- Add 250 milliseconda to the timestamp of the current line (the one
with the keyboard cursor).
1 sec will be added instead of 250 msec if you're using short timestamp.
You can do the same with the mouse by pressing the left button, clicking
with the right button and then releasing the left button. This must be
done directly on the timestamp you want to adjust. Otherwise, the first
one on the line will be adjusted.
- CTRL-Down
CTRL+B
- Subtract 250 milliseconds to the timestamp of the current line (the
one with the keyboard cursor).
1 sec will be substracted instead of 250 msec if you're using short
timestamp.
You can do the same with the mouse by pressing the right button,
clicking with the left button and then releasing the right button. This
must be done directly on the timestamp you want to adjust. Otherwise,
the first one on the line will be adjusted.
- Shift-CTRL-Up
Shift+CTRL+A
- Add 250 milliseconda to all timestamps. This is useful if the lyrics
retrieved from lrcDB are offset for the whole song (Not exact same song
version, different ripping settings). 1 sec will be added instead of
250 msec if you're using short timestamp.
- Shift-CTRL-Down
Shift+CTRL+B
- Subtract 250 milliseconds to all timestamps. This is useful if the
lyrics retrieved from lrcDB are offset for the whole song (Not exact
same song version, different ripping settings). 1 sec will be subtracted
instead of 250 msec if you're using short timestamp.
- CTRL+R
- Remove the timestamp of the current line, if there is only one on
the line. If there is more than one, you must first place the keyboard
cursor one to erase it. You can do the same with a middle mouse button
click on a timestamp.
- CTRL+Shift-R
- Remove all timestamps from the current file
- CTRL+M
- Show/Hide Menu Bar
- CTRL+I
- Try/Retry to get lyrics from Internet (lrcDB and Sing365)
- CTRL+U
- Submit the lyrics to lrcDB
- Insert
- Place a timestamp on the current line, as if
you had clicked on it.
- CTRL
- Toggle momentarly "Click-and-Sing, without
having to go by the menus twice.
Here are a few random tips:
To seek in a song to a desired lyrics, press the right mouse button
on it and then left-click. Winamp will seek (FF or RW) to that specific
line.
Known Issues
- VBR MP3
- VBR MP3 is a tricky format. This plugin handle it as well as winamp
can handle it: it uses data from winamp and if winamp has trouble
seeking in a VBR files, lyrics will be displayed (timestamped offset).
To minimize (or prevent) imprecision, do not seek (fast-forward,
rewind), or pause when timestamping a file. The same apply to listening:
if you seek through the song, lyrics can become unsync. To reset this,
simply stop and restart the song.
- Lyrics3
- Because it isn't recommended to use lyrics3 format to save lyrics to
mp3, it is implemented in this lyrics as a Read-Only to help translate
from that format. Maybe the write capability will come someday, but it
isn't a priority for now.
- Windows NT4, 2000 and XP
- If you're not the administrator, it's possible that the auto-startup
of the plugin won't work and you will get an error message saying that
the DLL could not initialize. There's not fix for this, as this plugin
rely on a wrapper to work. This wrapper need to write in the registry
and cannot do so if you don't have the privileges. The lyrics_plugin.exe
can still work, but you will have to start it manually after starting
winamp. Simply create a shortcut to it on your desktop or in the start
menu. Also, be sure to select "Show in taskbar", as there would be no
way to call the plugin back. Version 2.0 should be written in C++ and
will fix this problem.
- Winamp Info Editor
- Don't use winamp to update id3 tags in your mp3. I don't know why,
but Winamp erases the SYLT tag in the id3v2 every time it updates the
tags. Maybe it's the plugin's fault (maybe the tags created aren't
following the exact id3v2 specs, though I believe they do), but every
other tools I tried doesn't destroy the SYLT frame. There are a lot of
great tools to edit the tags. Tag & Rename, Tag Studio are a few
examples.
Files
The following files will be installed in winamp\plugins folder:
sylt_lyrics.dll - The plugin-caller, appearing in "General Plugins" in winamp
gen_sylt_lyrics.Plugin.dll - The wrapper used to interface VB plugins in winamp
\SYLT_Lyrics_Plugin\lyrics_plugin.exe - The plugin itself
\SYLT_Lyrics_Plugin\mp3tool.exe - Tool to fix VBR files (by Mark Lord)
\SYLT_Lyrics_Plugin\vbid3lib.dll - DLL used to read/write frames in mp3
\SYLT_Lyrics_Plugin\msflxgrd.ocx - VB control used to display scrolling lyrics
\SYLT_Lyrics_Plugin\mswinsock.ocx - VB control used to communicate over internet
\SYLT_Lyrics_Plugin\tabctl32.ocx - VB control used to display settings window
\SYLT_Lyrics_Plugin\readme.html - this file
Copying/Distributing
This program is a Freeware, feel free to use it as you want. You can
share it with friends, but please, don't take credit of it. As you
didn't pay for it, please don't complain: If you don't like it, don't
use it. Constructive comments and suggestions are always welcome! Source
code is available on request. I learnt a lot doing this project:
winsock, winamp plugin/interface and I'm willing to give back.
Thanks
Thanks Tony Cebzanov for your help in this project. Without your code
from lrctool, this couldn't have been possible.
Thanks Mark Lord for mp3tool. It saves me a lot of trouble!!
Thanks to "The Frog Prince" for the VB version of id3lib,
vbid3lib.dll
Release Notes
Version 1.3.0 (Stable)
Date: 2004-10-16
- Fix bug with corrections to lrcDB (Reported by TonyF)
- Check for new version: Once a week, popup only once for each
version. Manual check via help menu
- Changed "Hide Scrollbar" to "Hide scrollbar if lyrics are
synced" (NicoB1981's request)
- Added support for USLT frame in id3v2 (NicoB1981's request)
- Added new Option "Allow saving even if not in Edit Mode" for Dial-Up
users (RJ-45's Request)
- Changed a few shortcut keys to more standard ones (Save, Edit, Add,
Subtract)
- Fixed AllTheLyrics not working anymore
- Fixed bug to greatly improve Leo's Lyrics
- Added Insert timestamp Timing on Mouse Down (Wfaulk's request)
- Fixed "Remove Timestamp" not working on last line
- Added support for EvilLyrics (Waterman981's reques)t
- Added option "Start with Winamp" (SE_Sport_Driver's request)
Version 1.2.1 (Stable)
Date: 2004-08-24
- Added confirmation popup before submitting corrections to lrcDB
- Changed keyboard Shortcuts to adjust timestamps: Ctrl-Up and
Ctrl-Down (instead of Ctrl-A and Ctrl-B)
- Pressing Ctrl key enable "Click-and-Sing" momentarly in Edit-Mode
- Insert key now add timestamp (like click in Click-and-Sing)
- Fix titlebar weirdness when switching to/from Edit-Mode
- New option "Trim Lyrics Lines" removes " " , "," and "." from
beginning and end of lines
- Improved multi-monitor support
- Warning message when in Edit-Mode and playing song change
- Error message when file is Read-Only
- Changed method of determining that winamp is exiting
Enjoy!
Patrick Giasson
Last update: 2004-08-24