Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#6568 - 25/01/2000 06:51 Lyrics
schofiel
carpal tunnel

Registered: 25/06/1999
Posts: 2993
Loc: Wareham, Dorset, UK
What I really want is a way to scan in a lyric sheet, OCR it, load it into emplode, attach it to the correct track, synchronise the individual words
of the lyric to the music. Then empeg could display the lyrics in the scrolling info window while the track plays so you can sing along

There will always be social situations where a guest does not know the words to the song you are all drunkenly carrolling to, so to fix this problem a small bouncing ball should be used to mark the position of the current word.

For perfection, it should be possible to output the lyric to a large scrolling LED display in the back window of the car, so that the occupants of the vehicle behind can join in (you might have to turn the volume up, though )


Whatever happened to Hugo's original "Silliest use of the serial port" competition? Was the winner ever announced? I feel we should all be told!

_________________________
One of the few remaining Mk1 owners... #00015

Top
#6569 - 25/01/2000 08:57 Re: Lyrics [Re: schofiel]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31565
Loc: Seattle, WA

Lyrics are supported in the ID3v2 specification, although I dunno about the time-index markers. Wouldn't that be cool, though? Having lyrics scrolling on the MP3 display? That would be so awesome.

Having thought about the whole lyrics-in-mp3s thing, though (completely separate from the Empeg itself), it seems to me that there are some inherent problems with it:

1) Until music companies publish the MP3s directly, it's up to fans to enter the lyrics properly. This means that everyone with a Jimi Hendrix collection would be singing "scuse me while I kiss this guy" because that's what the tag data would contain.

2) Even if you go by the lyric sheet, sometimes the words on the lyric sheets are typos or taken from unfinished copies of the song. I've seen plenty of errors in official lyric sheets. Even with bands which take great pains to get their lyric sheets right, errors still can slip through. For years, Rush denied that there was an error on the lyric sheet to "Permanent Waves" until a US fan showed them the typo on the American printing of the album (they had only proofread and approved the Canadian printing).

3) Someone would have to take the time to synch the time index markers with the lines in the song. Most folks who rip MP3s don't even bother to fill out the Year and Genre fields correctly, let alone take the time to enter lyrics and synch them up.

Of course, if I were entering the lyrics for my own collection, I'd take the time to do them all perfect and those problems wouldn't happen. I'm just saying these are the problems for the general public.



-- Tony Fabris -- Empeg #144 --
Caution: Do not look into laser with remaining good eye.
_________________________
Tony Fabris

Top
#6570 - 16/10/2001 09:18 Re: Lyrics [Re: tfabris]
CyberGlitch
journeyman

Registered: 04/10/2001
Posts: 99
Loc: VA, USA
Just got my empeg, and also thought this would be a great idea. Even if it's a few typo's or mis info here and there, somethings better than nothing. If I had the technical knowledge I could do this but my linux and programming knowledge is less then worthless. So I'll go back to sleep and keep dreaming until something like this is introduced to the empeg.

Blue MK2 20 Gig, Slowly getting filled to the brim.
_________________________
Blue MK2 20 Gig #090000956 4796 Songs Available at all times.

Top
#6571 - 16/10/2001 11:32 Re: Lyrics [Re: CyberGlitch]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Whoa... Resurrecting an OOOOOLD thread there. Tony Fabris probably only had 1500 posts when that one was posted. :)

Lyrics are something I would like to work on. The idea's been in my head for a couple months now, but I haven't had time to work on it. My plan is thus (roughly)

1. Hack up one of the overlay patches to allow for a scrolling lyrics area which doesn't intrude with
too much of the display (waiting for 2.0 to choose the exact area.)
2. Develop a daemon which reads the current FID and current track time from the flash (at one point in my kernel hacking I located where these are actually stored. I'll have to jog my memory soon.)
3. Have the daemon scroll its output to this overlay window.
4. Come up with a standard for storing time data in the lyrics (see below.)
5. Integrate it all and test it.

The simplest thing I can think of for #4 is a list of timecodes in one of the user-defined ID3 fields which just tells the daemon when each line in the corresponding lyrics field would be played.. Something like (these numbers are fabricated):

User Field     Lyrics Field
0:32 - 0:39      Ticking away, the moments that make up a dull day
0:42 - 0:49      You fritter and waste the hours in an offhand way

So when the player is at track time 0:32, the lyrics daemon would start scrolling the first line of the lyrics, and it would calculate how fast it needs to scroll to get to the word "day" by the time 0:39 is reached (relatively easy calculation). Then it would remain blank until 0:42 when the second line would scroll... etc. There are some bridges I haven't crossed yet in my analysis of this problem, but I'd love to hear some other ideas.

-Tony
MkII #554
_________________________
- Tony C
my empeg stuff

Top
#6572 - 16/10/2001 11:39 Re: Lyrics [Re: tonyc]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31565
Loc: Seattle, WA
A "standard" for storing scrolling lyrics, with timecodes, already exists for ID3V2 tags. So all you'd have to write is the daemon code and have it parse for the existing standardized format.

If I recall, the format was very close to what you just proposed, perhaps with more detail.

Also, you'd need to find an editor program which lets you add the lyrics to the file in a user-friendly way. Don't know if one exists or not. Anyone?

___________
Tony Fabris
_________________________
Tony Fabris

Top
#6573 - 16/10/2001 12:39 Re: Lyrics [Re: tfabris]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Yeah but I don't like their approach to storing timecodes in the synchronized text field. It's based on a single timecode for each block of text rather than starting and ending times, which are more convenient for scrolling. If you've got lyrics showing up on a karaoke screen, all you need is a starting time for that block of text, because you can leave the text up until the next one comes up. But for scrolling, you kinda need to know what time you want the last letter of that line to scroll by.

They also want you to store timestamps in MPEG frames or milliseconds. I think down to the second resolution is all you really need. With the method I'm suggesting, you put the lyrics in as flat text, maybe adjusting newlines properly, and then in a parellel field, you put the start and end times for each line. Though my method would not be "ID3v2 standard" I think it would be much more practical.

I also think it's more elegant to have the lyrics in plain text in the lyrics field rather than having all the goofy timecodes getting in the way when you try to read them. Putting the timecodes in a second field increases complexity a little bit (has to have same number of lines, etc.) but I like the separation of the two items personally.

As for a program to add the lyrics in a user friendly way, I agree that would be nice. I seriously doubt anyone's implemented an ID3v2 editor which provides a nice interface for constructing the SYLT frame.

This is proof that people who write these standards know nothing about actual implementation.

-Tony
MkII #554
_________________________
- Tony C
my empeg stuff

Top
#6574 - 16/10/2001 12:54 Re: Lyrics [Re: tonyc]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31565
Loc: Seattle, WA
This is proof that people who write these standards know nothing about actual implementation.

No, it only shows that they never expected devices with tiny 128x32 screens to be scrolling lyrics.

If you went to all the trouble of creating a lyric scroller, I think it would be silly to ignore the file standard just because you find it inelegant. If you don't follow the standard, then the only person who can make use of the software is you.

I'd love to see a future where I get my MP3s online and they include the lyrics already embedded in the file, directlly from the artist. Then all I'd have to do is stick them in the player and watch the lyrics go by...

Not that this is ever going to happen.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#6575 - 17/10/2001 02:12 Re: Lyrics [Re: tonyc]
tms13
old hand

Registered: 30/07/2001
Posts: 1115
Loc: Lochcarron and Edinburgh
In reply to:

I don't like their [ID3v2's] approach to storing timecodes in the synchronized text field. It's based on a single timecode for each block of text rather than starting and ending times, which are more convenient for scrolling.




It's a while since I looked in any depth at ID3, and the lyrics stuff was only of passing interest to me (I'm not sure I want a carload of bad singing...), but it seems to me that you could use the next timecode as the end marker, and add empty strings where gaps are needed. For example, using your extract from DSOM:

    Time Text

0:32 Ticking away, the moments that make up a dull day
0:39 blank
0:42 You fritter and waste the hours in an offhand way
0:49 blank


That would enable you to DTRT, wouldn't it?

--
Toby Speight - 040103385
_________________________
Toby Speight
030103016 (80GB Mk2a, blue)
030102806 (0GB Mk2a, blue)

Top
#6576 - 17/10/2001 13:49 Re: Lyrics [Re: tms13]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
That would enable you to DTRT, wouldn't it?

Quite possibly. That looks like a good approach.

-Tony
MkII #554
_________________________
- Tony C
my empeg stuff

Top
#6577 - 12/01/2002 19:49 Re: Lyrics [Re: tonyc]
papinist
member

Registered: 30/12/2001
Posts: 119
Loc: Italy
Ok, passed three months since last post... any good news?

I think showing lyrics is a good implementation, but not to make a 'karaoke car' full of drunken singers... I hope the microphone implementation for this would never come up!

I think at this like an advanced visual effect, in what you see the lyrics instead of some random drawings.

In my idea, it would be great if lyrics could show on top of some Visuals in background; and maybe instead of highlighting words, we can use the 'bouncing ball' seen in some karaoke systems... (or maybe not... I fear the above singers!)
_________________________
Stefano

Top
#6578 - 12/01/2002 20:19 Re: Lyrics [Re: papinist]
tonyc
carpal tunnel

Registered: 27/06/1999
Posts: 7058
Loc: Pittsburgh, PA
Well karaoke is thankfully not on my "to-do list"

I have done some basic work at getting this working. I need to work out a LOT of issues with the timing of the scrolling. The graphics library I'm using seems to be far too slow. Some people are working on a faster library, and Mark Lord has said he would get a memory-mapped display buffer in at some point.

Even with the graphics speed issues worked out, I would have to put a good bit of work into what I currently have. Right now it's just reading from a flat text file, I wouldn't release it until it was reading from the ID3 tag. I would also need to write two helper apps, one to convert from .LRC time-stamped lyric files, and another to take flat text lyrics and help the user add the timecodes.

I don't know if anyone else has worked on this, but that's about as far as I've gotten.
_________________________
- Tony C
my empeg stuff

Top
#6579 - 12/01/2002 20:31 Re: Lyrics [Re: tonyc]
papinist
member

Registered: 30/12/2001
Posts: 119
Loc: Italy
Many compliments for the prompt reply and for the work done until now! I am currently waiting for my empeg, I can wait a little more for the lyrics display

Keep on and good work!
_________________________
Stefano

Top
#6580 - 20/01/2002 20:49 Re: Lyrics [Re: tfabris]
TheAmigo
enthusiast

Registered: 14/09/2000
Posts: 363
The easiest[1] way I can think of to do timing is with a VR system. Just have someone sing along. The VR software can be reading the lyrics so it knows what to expect rather than needing a comprehensive, pre-learned dictionary. Then it matches up the timing of the playback with the singing. Prolly still better if it used the mic than trying to pick the singer out of the mp3 so the music doesn't confuse it.

[1]: sure, one you've got a very good VR implimentation, everything else is easy, right?
_________________________
--The Amigo

Top
#6581 - 21/01/2002 23:25 Re: Lyrics [Re: tonyc]
msaeger
carpal tunnel

Registered: 23/09/2000
Posts: 3608
Loc: Minnetonka, MN
I would be happy if it could just display the lyrics and I could scroll through it
_________________________

Matt

Top
#6582 - 03/03/2003 04:14 Re: Lyrics [Re: msaeger]
frog51
pooh-bah

Registered: 09/08/2000
Posts: 2091
Loc: Edinburgh, Scotland
Just bringing this thread up again, because I reckon it would be nice to have the lyric display functionality of emphatic encapsulated within the player software as another visual. I guess there may be some issues with bringing userland apps into the player app, but it would just make things a little cleaner maybe?
_________________________
Rory
MkIIa, blue lit buttons, memory upgrade, 1Tb in Subaru Forester STi
MkII, 240Gb in Mark Lord dock
MkII, 80Gb SSD in dock

Top