Kodi Community Forum
SingStar mode (Performous / UltraStar ) Karaoke Pitch Match feature built-into XBMC? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Feature Requests (https://forum.kodi.tv/forumdisplay.php?fid=9)
+--- Thread: SingStar mode (Performous / UltraStar ) Karaoke Pitch Match feature built-into XBMC? (/showthread.php?tid=26765)

Pages: 1 2 3


SingStar mode (Performous / UltraStar ) Karaoke Pitch Match feature built-into XBMC? - El Piranna - 2007-06-08

Reading this topic it has come to my head a little idea: XBMC can be able to play karaoke CDs, but what about add a system similar to the one that UltraStar implements using Mp3s and text files? We could borrow the code from UltraStar proyect or from it C++ cousing UltraStar-NG so it would't be very dificult to get it. Yes, i know there is very few people that has Karaoke Revolution microphone or Live! headsets, and having Karaoke Revolution you would't want anymore, but i think it would be easy to get and very versalite. And, of course, later add the speech recognition and on-screen display systems of UltraStar-NG... The most dificult piece of port UltraStar is work with audio hardware on XBox, and this work is done with XBMC, so why not to add that feature on it? Smile


- spiff - 2007-06-08

patch welcome


Willing C++ programming volunteer wanted... - Gamester17 - 2007-06-08

FYI; XBMC do not support reading Karaoke CD+G subchannel, it does 'only' support MP3 plus CDG files (which can be ripped off Karaoke CD+G CDs using custum tools on your computer). This is because no one has implemented it in XBMC yet, (and it is limited to Xbox Samsung DVD-ROM or PC DVD-ROM drives hardware as only those can read subchannels, but with XBMC being ported to Linux and... Wink

Hopefully someone could implement it in a way so it does not bloat XBMC nor increase the memory footprint of the XBMC application, so IMHO, please do not try to implement this into XBMC if you can not do it without sacrificing too much RAM memory usage when not in activated.

I submitted suggestion to add true CD+G sub-channel support to the libcdio library once but no programmer was interested:
http://savannah.gnu.org/support/?104390

PS! Also see these other XBMC related karaoke suggestions:
http://forum.xbmc.org/showthread.php?tid=181


I too would now actually also want UltraStar NG (USNG) game built-into XBMC... - Gamester17 - 2008-08-31

I would like to request that UltraStar NG (USNG) UltraStar Next Generation be implemented directly into XBMC.

UltraStar NG (USNG) is an open source clone of SingStar, the famous karaoke music game. UltraStar lets one or several players score points by singing along to a song or music video and match the pitch of the original song well. UltraStar displays lyrics as well as the correct notes similar to a piano roll. On top of the correct notes UltraStar displays the pitch recorded from the players. UltraStar allows several people to play simultaneously by connecting several microphones possibly to several sound cards. To add a song to UltraStar, a file with notes and lyrics is required, together with an audio file. Optionally a cover image, a backdrop image and a video (even music video) may be added to each song. A feature unique to USNG is drawing the singing pitch as a line on the screen, in addition to the notes. This allows the player to easily correct his singing pitch instead of having to guess which way to correct.

UltraStar NG is written in C++ with the graphics rendering based on OpenGL for high performance even on slower machines, with full effects. Background video playback is supported using FFmpeg, (same open source codec suit that Boxee uses). USNG currently is currently available for Linux and Mac OS X but the code uses SDL (Simple DirectMedia Layer), the same cross-platform multimedia library that XBMC uses, so hopefully porting to Microsoft Windows XP and Vista should not be too much trouble.

USNG features better pitch detection with fast fourier transform than the competing projects open source projects "Ultrastar" and "Ultrastar Deluxe" which use autocorrelation. Multiple simultaneous tones can be detected and separated by the FFT post-processing algorithm, but the game currently only uses this information in the practice screen, not in the singing screen.

http://ultrastar-ng.sourceforge.net/
http://ultrastar-ng.sourceforge.net/develop.html
http://sourceforge.net/projects/ultrastar-ng/
http://en.wikipedia.org/wiki/UltraStar

Any volunteer(s) to code this for XBMC? Big Grin


- El Piranna - 2008-08-31

Hahaha! Well, now i have the XBox very abandoned but i'm working in a Guitar Hero clone in C+` for it (i haven't tried it but at least it works in MacOS X, Windows XP and Linux!!! Big Grin ) and i was thinking to add UltraStar support to it (voice + guitar = ... Smile ), so maybe one day if i have time i could choose to work with this in first time since it was my idea... Big Grin

One point: the most stable and complete code is from UltraStar Deluxe, i have tried the other clones and they sucks... Sad


- Gamester17 - 2008-08-31

El Piranna Wrote:i'm working in a Guitar Hero clone in C+` for it (i haven't tried it but at least it works in MacOS X, Windows XP and Linux!!! Big Grin ) and i was thinking to add UltraStar support to it (voice + guitar = ... Smile ), so maybe one day if i have time i could choose to work with this in first time since it was my idea
Add StepMania to that and you have yourself and all-in-one hit musical game, hehe Laugh

El Piranna Wrote:One point: the most stable and complete code is from UltraStar Deluxe, i have tried the other clones and they sucks... Sad
UltraStar NG was the only C/C++ port of UltraStar that I could find Huh


- ultrabrutal - 2008-08-31

El Piranna, you are doing a Guitar Hero clone which could run on the old Xbox using packs like GH for Frets on Fire?
Wonder how well the Guitar works with an adapter. Guess I could fine mine and try it out


- El Piranna - 2008-08-31

StepMania is the next logic step since all the three games are the same only with diferent input types Big Grin I thinked about it but the problem is that maybe you could get a heart illnes if you play it... X-D Yes, i'm triying to make it run on the XBox using SDL and the Guitar Hero packs for Frets on Fire. In fact, i decided to make it since the port of Frets on Fire using the XBMC python engine was simple impossible. Now i'm adding new features and i have some several memory leaks (it doesn't use SDL directly, it use a custom interface to be able to use SDL, OpenGL, DirectX... on the fly) but some months ago when i did check the memory use i could be able to download it to 60 MB, so maybe it could be posible to run it finally on the XBox... As i told you, it runs on MacOS X, Windows (with some problems, gettimeofdate() doesn't exists but i have found a workaround that i have to try) and Linux. Ah, and i'm making a custom guitar with a XBox controller, too Smile

And yes, UntraStar-NG is the only one C/C++ SingStar clon, but it has very little few features, i only say UltraStar Deluxe is the best and most complete i have found.

Now i am with exams at university and at free time i'm with a little personal project, but maybe i can be able at latest September to try something with this point... somebody else want to work in it?


- El Piranna - 2008-09-01

I have a little question: this is something similar to the LinkBoks fork or the webserver or the ftp server, it's said, "binary plugins" (to call it something) using DLLs, but how it can be implemented? And how it can be done to not load ultil requested?

And more important that this... where should it be implemented, inside music (music plugin? is there something like this apart visualizations?) or as an independent button in home window?


- El Piranna - 2008-09-09

Good news... UltraStar-NG is not the only one SingStar clone made on C/C++ :-P

http://sinatra.nu
http://www.canta-game.org

They seems to be very bizarre, but not very resource hungry too. At least now UltraStar is not the only one option to look about :-)

I was thinking about the problem of were to integrate it, and i think the best option is as an actual karaoke (CD+G) feature sub-option. There wouldn't be so much competition or song list but at least it could work. Now, i need to know two things: where in the source code is the karaoke config and the karaoke option itself. Any help?


- Gamester17 - 2008-09-10

El Piranna Wrote:I have a little question: this is something similar to the LinkBoks fork or the webserver or the ftp server, it's said, "binary plugins" (to call it something) using DLLs, but how it can be implemented? And how it can be done to not load ultil requested?

And more important that this... where should it be implemented, inside music (music plugin? is there something like this apart visualizations?) or as an independent button in home window?
I am not a programmer myself but I think that it would probably be best if it was implemented using the visualization/screeensaver API (meaning as a DLL renamed to .vis) but for that to happen you would probably have to extend the API to include two-way communication, see:
http://forum.xbmc.org/showthread.php?tid=137
and
http://forum.xbmc.org/showthread.php?tid=7552
Also look at the code of other visualizations. Start a new thread in the development forums if you have any coding questions.


El Piranna Wrote:Good news... UltraStar-NG is not the only one SingStar clone made on C/C++ :-P

http://sinatra.nu
http://www.canta-game.org

They seems to be very bizarre, but not very resource hungry too. At least now UltraStar is not the only one option to look about
Sinatra looks to be written in the C programming-language so could be an alternative to UltraStar NG, but Canta is written in Python and is in as a while 3D GUI game so I suspect that would be harder to integrate into XBMC even though XBMC features an embedded python-engine.


- El Piranna - 2008-09-10

Gamester17 Wrote:I am not a programmer myself but I think that it would probably be best if it was implemented using the visualization/screeensaver API (meaning as a DLL renamed to .vis) but for that to happen you would probably have to extend the API to include two-way communication, see:
http://forum.xbmc.org/showthread.php?tid=137
and
http://forum.xbmc.org/showthread.php?tid=7552
Also look at the code of other visualizations. Start a new thread in the development forums if you have any coding questions.

Good links, thanks!!! Big Grin It sounds really simple to implement, so as in about 3 hours i have my last exam i'll try to see it (at least, make a simple vis to now how it works and how to compile on linux :-P ). The only one thing is what i told you about it would be too much competitive (i have try with CD+G that it's implemented as a vis too and you must to launch it after start playing music) but at least the code would be implemented and later it could be put in another place more util (xbmc/bins/*.xapp as happened with screensavers? Rolleyes)

Gamester17 Wrote:Sinatra looks to be written in the C programming-language so could be an alternative to UltraStar NG, but Canta is written in Python and is in as a while 3D GUI game so I suspect that would be harder to integrate into XBMC even though XBMC features an embedded python-engine.

Sinatra seems to be very little but i don't know what format it uses, and it's not intended to be compatible with UltraStar clones, too. At least is an option is UltrStar-NG gets bloated. In any case, UltraStar-NG blog say it has new features on SVN so they are good news too :-D Canta i thougth it was made in C since the 3D engine. Python is a good option, but it seems to be more simple that Sinatra, if posible. I think I (we) should use UltraStar since it's the most known and maybe it's more updated than others.


- succo - 2009-01-10

as far as i can see, sinatra txt files are just like ultrastar ones, so it should work with ultrastar songs too
i'm not under linux right now so can't say for sure if it plays ultrastar/performous files, but files have just the same syntax, so, again, it should

now that mp3+g code is in linuxbranch this would be a nice addendum, i think


- AaronG85 - 2009-01-10

i want this feature so bad as ive been using ultra star for ages


Just a thought - eilz - 2009-01-30

Could you run this using a unix build, say DSL then use WINE to run the application. Then use the XBOX microphones. Most people running Ultrastar said it run ok on Wine, but not tried XBMC via Unix build yet

Just a thought, but Ideally would be much better on XBMC itself, as its ab absolutely brill program, simple and easy, and anyone can make there own track words etc on it