Bug XBMC doesn't read Ultrastar .txt Karaoke files
#1
Before submitting this as a bug to trac I would like some confirmation from others.
I read on http://wiki.xbmc.org/index.php?title=HOW...or_Karaoke that XBMC supports the Ultrastar txt file-format for karaoke files. This sounds easier than compiling a working Ultrastar Deluxe on OpenElec. The source at xbmc/music/karaoke/karaokelyricstextustar.cpp seems to support this theory.
Practically I couldn't get it to work. MP3+CDG works fine after enabling Karaoke in Music Settings but when selecting the .mp3 with .txt it just plays it like every ordinary song.
Maybe someone (using Ultrastar) could test these steps:
  • Enable Karaoke in Music settings
  • Scan a song with (ultrastar) lyrics txt into the library
  • start the song

You can find legal test files here:
http://sourceforge.net/projects/ultrasta...les/Songs/
Keep in mind that you should have to rename the .txt file to the same as the .mp3 file.

I'm using XBMC 12.1 on OpenElec 3.0 Generic.
The files are named like this:
Code:
openelec:~/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar) # ls -l
total 5028
-rwxr--r--    1 root     root       5132584 Mar 30 19:17 Wise Guys - Mensch, wo bist du.mp3
-rwxr--r--    1 root     root          8367 Mar 30 18:55 Wise Guys - Mensch, wo bist du.txt
And the debug log after starting the song shows this:
Code:
19:18:34 T:3015911168   DEBUG: LIRC: Update - NEW at 4787318:160 0 KEY_OK devinput (KEY_OK)
19:18:34 T:3015911168   DEBUG: OnKey: 11 (0b) pressed, action is Select
19:18:34 T:3015911168   DEBUG: CAnnouncementManager - Announcement: OnClear from xbmc
19:18:34 T:3015911168   DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnClear
19:18:34 T:3015911168   DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
19:18:34 T:3015911168   DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers(/storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3)
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: system rules
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: matches rule: system rules
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtv
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: hdhomerun/myth/mms/udp
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: lastfm/shout
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtmp
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtsp
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: streams
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvd
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvdimage
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: sdp/asf
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: nsv
19:18:34 T:3015911168   DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: radio
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: matched 0 rules with players
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: adding audiodefaultplayer (3)
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: for video=0, audio=1
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: adding player: PAPlayer (3)
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: for video=1, audio=1
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: adding player: DVDPlayer (1)
19:18:34 T:3015911168   DEBUG: CPlayerCoreFactory::GetPlayers: added 2 players
19:18:34 T:3015911168   DEBUG: CFileCache::Open - opening </storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3> using cache
19:18:34 T:2702990144  NOTICE: Thread CFileCache start, auto delete: false
19:18:34 T:2702990144   DEBUG: Process, request seek on source to 5067048
19:18:34 T:3015911168   DEBUG: Seek - waiting for position 5132456.
19:18:34 T:2702990144    INFO: CFileCache::Process - Hit eof.
19:18:34 T:2702990144   DEBUG: Process, request seek on source to 0
19:18:35 T:3015911168    INFO: AudioDecoder: File is queued
19:18:35 T:3015911168    INFO: CSoftAE::MakeStream - AE_FMT_S32NE, 44100, FL,FR
19:18:35 T:3015695168   DEBUG: CSoftAE::Run - Sink restart flagged
19:18:35 T:3015695168    INFO: CSoftAE::InternalOpenSink - keeping old sink with : AE_FMT_FLOAT, FL,FR, 44100hz
19:18:35 T:3015695168   DEBUG: CSoftAE::InternalOpenSink - Using speaker layout: 2.0
19:18:35 T:3015695168   DEBUG: CSoftAE::InternalOpenSink - Internal Buffer Size: 17664
19:18:35 T:3015695168   DEBUG: AERemap: Downmix normalization is disabled
19:18:35 T:3015695168   DEBUG: CSoftAEStream::CSoftAEStream - Converting from AE_FMT_S32NE to AE_FMT_FLOAT
19:18:35 T:3015911168   DEBUG: AudioDecoder::GetReplayGain - Final Replaygain applied: 1.000000, Track/Album Gain 89.000000, Peak 0.000000
19:18:35 T:3015911168    INFO: PAPlayer::PrepareStream - Ready
19:18:35 T:2728274752  NOTICE: Thread PAPlayer start, auto delete: false
19:18:35 T:2728274752   DEBUG: PAPlayer::Process - Playback started
19:18:35 T:3015911168   DEBUG: ADDON: Dll Initializing - projectM
19:18:35 T:3015911168   DEBUG: Calling TransferSettings for: projectM
19:18:35 T:2959747904   DEBUG: JSONRPC: Incoming request: {"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}
19:18:35 T:2959747904   DEBUG: JSONRPC: Calling player.getactiveplayers
19:18:35 T:3015695168   DEBUG: CSoftAE::Run - Sink restart flagged
19:18:35 T:3015695168    INFO: CSoftAE::InternalOpenSink - keeping old sink with : AE_FMT_FLOAT, FL,FR, 44100hz
19:18:35 T:3015695168   DEBUG: CSoftAE::InternalOpenSink - Using speaker layout: 2.0
19:18:35 T:3015695168   DEBUG: CSoftAE::InternalOpenSink - Internal Buffer Size: 17664
19:18:35 T:3015911168   DEBUG: Visualisation::Start()
19:18:35 T:3015911168   DEBUG: OnInitialize() started
19:18:35 T:3015911168   DEBUG: OnInitialize() done
19:18:35 T:3015911168   DEBUG: CGUIInfoManager::SetCurrentSong(/storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3)
19:18:35 T:2959747904   DEBUG: JSONRPC: Incoming request: {"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "playerid": 0 }, "id": 1}
19:18:35 T:2959747904   DEBUG: JSONRPC: Calling player.getitem
19:18:35 T:2959747904   DEBUG: JSONRPC: Incoming request: {"jsonrpc": "2.0", "method": "Player.GetActivePlayers", "id": 1}
19:18:35 T:2959747904   DEBUG: JSONRPC: Calling player.getactiveplayers
19:18:35 T:2959747904   DEBUG: JSONRPC: Incoming request: {"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "playerid": 0 }, "id": 1}
19:18:35 T:2959747904   DEBUG: JSONRPC: Calling player.getitem
19:18:35 T:3015911168   DEBUG: Loading additional tag info for file /storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3
19:18:35 T:3015911168   DEBUG: CAnnouncementManager - Announcement: OnPlay from xbmc
19:18:35 T:3015911168   DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnPlay
19:18:35 T:3015911168   DEBUG: Karaoke: lyrics for song /storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3 not found
19:18:35 T:3015911168   DEBUG: CGUIInfoManager::SetCurrentSong(/storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3)
19:18:35 T:3015911168   DEBUG: Loading additional tag info for file /storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3
19:18:35 T:3015911168   DEBUG: CAnnouncementManager - Announcement: OnPlay from xbmc
19:18:35 T:3015911168   DEBUG: GOT ANNOUNCEMENT, type: 1, from xbmc, message OnPlay
19:18:35 T:3015911168   DEBUG: Karaoke: lyrics for song /storage/music/Karaoke/Wise Guys - Mensch, wo bist du (Kar)/Wise Guys - Mensch, wo bist du.mp3 not found
19:18:35 T:3015911168   DEBUG: LIRC: Update - NEW at 4787765:160 0 KEY_OK_UP devinput (KEY_OK_UP)
19:18:50 T:3015911168   DEBUG: PROJECTM - Changed preset to: Geiss - Oldskool Mellowstyle.milk
19:18:55 T:3015911168   DEBUG: PROJECTM - Changed preset to: Rovastar & Geiss - Dynamic Swirls 3 (Mysticial Awakening Mi.milk
19:18:55 T:2817055552   DEBUG: Thread Jobworker 2817055552 terminating (autodelete)

EDIT: The .txt file is in ANSI format, converting to UTF-8 didn't help. Converting it to .lrc using FoF Lyric Converter 2.39 worked but this is just a messy workaround,
Reply
#2
I know this is an old thread but I also have been trying to get XBMC to work with Ultrastar karaoke tracks - I tried in 12.2 and 13.0a9 and in both instances XBMC crashes if I enable Karaoke and try to play one of my Ultrastar tracks.

Did you have any luck getting it to work after you posted this thread?
Reply
#3
Me too Sad

Example of the track with karaoke enabled:

Code:
http://www.putlocker.com/file/A212CF63C9BD1D38
Reply
#4
Same issue here - never could have XBMC read ultrastar files.

(2013-03-30, 20:05)weisselstone Wrote: Keep in mind that you should have to rename the .txt file to the same as the .mp3 file.

Derp. Ultrastar TXT files have a #SONG: tag which should be used to discover the correct MP3 in a given folder. I believe it's a bug, maybe I should fill a bug report.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC doesn't read Ultrastar .txt Karaoke files0