f2e-spec icon indicating copy to clipboard operation
f2e-spec copied to clipboard

Introduce #START and #END

Open beamer159 opened this issue 10 years ago • 20 comments

A feature I would appreciate is an MP3 gap. Similar to how Video Gap starts the video past its beginning, some song files have non-music content that I would like to skip. It would be very useful to specify a track to start a certain amount into the song file.

beamer159 avatar Jan 28 '15 15:01 beamer159

does ultrastar itself have this feature? if yes then we happily implement it. if no, then it's better to not do it, because we want to keep compability with ultrastar itself.

nieknooijens avatar Jan 31 '15 15:01 nieknooijens

There's a #GAP:15500 parameter, which sets an offset between the lyrics and the music. Is this what you're looking for?

kiliankoe avatar May 07 '15 10:05 kiliankoe

Changing the #GAP value will change the time when the lyrics start appearing on the screen. What I am looking for is a parameter to change how far into a music file Performous will start playing that file.

For example, let's say that I have a music file that has a minute of non-music content at the beginning of it. It would be convenient if there was a #SOUNDGAP parameter I could set, which would start a minute into the sound file, thereby skipping the non-music content.

It just seems odd that Performous files have a parameter to set when lyrics appear (#GAP) and a parameter to set when a video starts playing (#VIDEOGAP), but not a parameter to set when a sound file starts playing.

beamer159 avatar May 07 '15 13:05 beamer159

can't you just press "enter" to skip instrumental stuff? otherwise you could cut the mp3 to the desired length with audacity, it even lets you insert a cool fade-in effect to mask the cut. http://sourceforge.net/projects/audacity/ (or apt-get install audacity)

nieknooijens avatar May 07 '15 14:05 nieknooijens

Yes, pressing Enter does allow me to manually skip the beginning to get to the lyrics. Ideally though, I would like to not have to do this because it can seem like a jarring step at a karaoke party. Therefore, I actually have been cutting my sound files to eliminate the content at the beginning of them. This seems like the best solution to my problem right now. Unfortunately, this is considerably more work than simply specifying a #SOUNDGAP value in the lyrics file.

beamer159 avatar May 07 '15 14:05 beamer159

The problem is not implementing it the problem is the sites who users use to get their songs from www.usdb.animux.de and ultrastar-es.org use a specific format for their text files. If we add the new parameter you personally have to fill in the mp3gap for all those files as no one gives them for you with a few songs it might not be a problem. But if you have a lot of songs like that it'll be a pain in the ass

Baklap4 avatar May 07 '15 14:05 Baklap4

I thought many of the parameters are optional. For example, many of my text files do not have a #VIDEOGAP parameter because it is not needed. However, for the songs that are not synced with the video, I included #VIDEOGAP. It seems like a #MP3GAP could also be an optional parameter. Text files on www.usbd.animux.de would not be affected by the change since the parameter they are missing is optional. However, for those who want to skip the beginning of, say, Paparazzi (https://www.youtube.com/watch?v=d2smz_1L2_0), they would be able to add the #MP3GAP parameter to that song's text file.

beamer159 avatar May 07 '15 15:05 beamer159

I could swear Ultrastar has a #START parameter, or is it only for video?

On Thursday, May 7, 2015, Arjan Spieard [email protected] wrote:

The problem is not implementing it the problem is the sites who users use to get their songs from www.usdb.animux.de and ultrastar-es.org use a specific format for their text files. If we add the new parameter you personally have to fill in the mp3gap for all those files as no one gives them for you with a few songs it might not be a problem. But if you have a lot of songs like that it'll be a pain in the ass

— Reply to this email directly or view it on GitHub https://github.com/performous/performous/issues/133#issuecomment-99895924 .

Gregorio Litenstein Goldzweig [image: glit_qr.png] Interno de Medicina Facultad de Medicina Clí­nica Alemana - Universidad del Desarrollo

Lord-Kamina avatar May 07 '15 15:05 Lord-Kamina

Good point. Looking around, the only documentation I can find on #START is here: http://www.ultrastarstuff.com/html/tutorialtxtfile.html. Unfortunately, the description is not helpful at all, so I do not know what it does, or if this tag is supported by Performous.

beamer159 avatar May 07 '15 15:05 beamer159

I know for sure I've got some songs that use that tag. Can't test them now since I'm at work but I could report later today.

On Thursday, May 7, 2015, beamer159 [email protected] wrote:

Good point. Looking around, the only documentation I can find on #START is here: http://www.ultrastarstuff.com/html/tutorialtxtfile.html. Unfortunately, the description is not helpful at all, so I do not know what it does, or if it is supported by Performous.

— Reply to this email directly or view it on GitHub https://github.com/performous/performous/issues/133#issuecomment-99920782 .

Gregorio Litenstein Goldzweig [image: glit_qr.png] Interno de Medicina Facultad de Medicina Clí­nica Alemana - Universidad del Desarrollo

Lord-Kamina avatar May 07 '15 16:05 Lord-Kamina

I added the #START parameter to a song file and played it in Performous: no change, the song played exactly the same. I then played the same song in Ultrastar Deluxe with the #START parameter: The song's sound file started playing 10 seconds in. This is the behavior I am looking for. That means that Ultrastar already has this feature. Does this imply that it should not be problematic to implement in Performous?

beamer159 avatar May 07 '15 19:05 beamer159

in USDX, there is a #START and a #FINISH file parameter. they "cut" from where to where a song file is played. See https://github.com/UltraStar-Deluxe/USDX/blob/master/src/base/USong.pas#L1093 for supported header parameters.

basisbit avatar Jun 30 '16 10:06 basisbit

I've added it to the "future" milestone. Will look into it next week

nieknooijens avatar Jun 30 '16 11:06 nieknooijens

Since USDX has a #START and #FINISH parameter i think we should look into this. It'll be as easy as to copy the lines for #VIDEOGAP and use the same logic for #START

Baklap4 avatar Mar 29 '18 20:03 Baklap4

so basically: #VIDEOGAP: shift video #GAP: shift lyrics #START:shift audio.

those names are confusing :confused:

nieknooijens avatar Mar 30 '18 06:03 nieknooijens

so basically: #VIDEOGAP: shift video #GAP: shift lyrics #START:shift audio.

Correct, and yeah they are however that's how usdx uses/implemented them so if we want to stay compatiable then we should aswell (as optional though as just a few files have them)

Baklap4 avatar Mar 30 '18 06:03 Baklap4

TODO

  • Add support for the START tag.
  • Add support for the END tag
  • Throw a warning to say that the mp3 is much longer than necessairy

All other tags are found here: https://github.com/UltraStar-Deluxe/USDX/blob/master/src/base/UFiles.pas#L137-L175

Baklap4 avatar Apr 03 '20 19:04 Baklap4

In official format every major game and tool developer agreed to use #START and #END tag. https://usdx.eu/format. I close this issue.

marwin89 avatar Nov 20 '23 18:11 marwin89

Might be good to keep this open or create a referenced issue from this so we do get to implement it :)

Baklap4 avatar Nov 20 '23 21:11 Baklap4

Might be good to keep this open or create a referenced issue from this so we do get to implement it :)

you're right, I didn't read closely "and thought you already implemented that. sorry 😅

marwin89 avatar Nov 21 '23 14:11 marwin89