Shazam based Renamer / Scraper
#1
Shazam can now identify TV shows based on their audio. Imagine XBMC using Shazam to automatically rename, scrape and file your shows. This would be far superior to the options currently available.

http://www.engadget.com/2012/09/17/shaza...in-the-us/
Reply
#2
That would be cool
Made for TV that rocks - http://www.mftvrocks.org
Reply
#3
Nice idea, but as far as I know (please correct me if I am wrong) Shazam has no open api and it is a commercial product. This would also kind of interfere in the xbmc open source philosophy. XBMC has musicbrainz support which works (also as Shazam) with music-fingerprinting tech. Maybe (sometime in the future) there is going to be a "moviebrainz"? Smile
Reply
#4
Well, perhaps someone will develop an open source program that will be able to identify TV Shows and Movies by their audio just like Shazam and provide an API. It would be nice to have a way to identify the files this way since we could also use the information to rename and file them.
Reply
#5
Echo nest has an open source audio ID software, server and all. Just need a good source of confirmed finger prints. Maybe an addon that checks the current library for a semi positive ID (assuming that the majority of people won't let Ann item stay misidentified long), fingerprints the file and submits the ID info.
Reply
#6
That would be great.
Reply
#7
There are some questions concerning this method to identify tvshows/movies:

1. The lookup time will most likely be increased compared to todays solution due to actual sampling of the tvshow (in other words: xbmc have to open and play the video file before it can be identified)
2. Movies and tvshows usually have intros (studios involved, identical intros for several episodes during a season etc),how precise would this method be?
3. Does this give greater functionality than what already exists today with filename comparison?

Reply
#8
(2012-09-22, 16:00)texaco Wrote: There are some questions concerning this method to identify tvshows/movies:

1. The lookup time will most likely be increased compared to todays solution due to actual sampling of the tvshow (in other words: xbmc have to open and play the video file before it can be identified)
2. Movies and tvshows usually have intros (studios involved, identical intros for several episodes during a season etc),how precise would this method be?
3. Does this give greater functionality than what already exists today with filename comparison?

You don't generally fingerprint the whole thing, normally just a 10 second sample is enough. The sample can be taken from any part of the the content, so the middle 10 seconds should avoid any intro/outro. The difference in lookup time shouldn't be appreciable, especially given that this is generally not an interactive process.

The benefit is that I could name my file bobozippafrufru1145.zip and it would still be correctly identified as Star Trek: TNG S01E01
Reply
#9
maybe i have mistanke how shazam works but to retrieve the sample you have to play it back, meaning if you want a 10s second sample you effectively add 10 seconds per file just to identify it. if you then want to add a whole season with 20 episodes you have to wait 200 seconds before every file has been identified.

This methods adds a lot of overhead just to retrieve waht already is widely used in the filename: showname.s01e01.

Im not saying its a cool though, but why reinvent something that already works great? Identification with shazam makes more sense when identifying music (more variations, mixes, new versions etc) than to identify a movie or tvshows which has more static content.

Reply
#10
No doesn't need to be played back, it just reads a chunk of the data from the file. The server knows what a given sound should look like given a certain encoding.

It's actually pretty quick, most of the time in shazaam is spent cleaning up the microphone audio and submitting. Echo nest claims their analysis should take about a tenth of a second. So 20 episodes would only take 2 seconds plus network time. They could all be submitted and retrieved at once so call that 3 seconds. 23 seconds might even be faster than the current scrapers =)
Reply
#11
(2012-09-23, 17:34)Bstrdsmkr Wrote: No doesn't need to be played back, it just reads a chunk of the data from the file. The server knows what a given sound should look like given a certain encoding.

It's actually pretty quick, most of the time in shazaam is spent cleaning up the microphone audio and submitting. Echo nest claims their analysis should take about a tenth of a second. So 20 episodes would only take 2 seconds plus network time. They could all be submitted and retrieved at once so call that 3 seconds. 23 seconds might even be faster than the current scrapers =)

you cant just chop out a section of a file and send it, youll have to decode the information from the file to have a sample to send to Shazam. technically xbmc have to play the file to retrieve this. this can of course be done in the background but youll be occupying the playback engine. This of course changes if Shazam delivers the full api that covers everything from fetching the sample from the file to submitting it.

but the overhead will always be bigger than what xbmc does today, just see what happens to tvdb everytime a major version of XBMC is released.

Im not arguing just for the fun of it but want to make it clear what benefits realistically can come from the proposed solution Smile
Reply
#12
There can be no improvement without debate =)

According to Echonest's readme on github: https://github.com/echonest/echoprint-co...gen-binary
They provide an analysis engine (all parts are open source) to extract the fingerprint so it wouldn't need to tie up xbmc's player. The first example is taking 30 seconds of audio from 10 seconds into the file and output JSON suitable for querying. The invokation:
Code:
./echoprint-codegen billie_jean.mp3 10 30

and the output:
Code:
{"metadata":{"artist":"Michael jackson", "release":"800 chansons des annes 80", "title":"Billie jean", "genre":"", "bitrate":192, "sample_rate":44100, "seconds":294, "filename":"billie_jean.mp3", "samples_decoded":220598, "given_duration":30, "start_offset":10, "version":4.00}, "code_count":846, "code":"JxVlIuNwzAMQ1fxCDL133+xo1rnGqNAEcWy/ERa2aKeZmW...
Reply
#13
I think the debate concerning Shazam is leading to nowhere, we all now that this is a proprietary piece of sh* Smile There are alternatives: as I mentioned there is already musicbrainz for music-tagging, the problem I see with tagging movies are the localizations: I have f.e. movies in hungarian, russian, english and german - just think of the overhead - we have one movie and it is translated (voiced-over) to 20.. whatever languages. Till the database is big enough to do that, we all will drive to work with our flying cars Wink
Musictagging: musicbrainz (already there: your Shazam alternative)
Movietagging: Scrappers or maybeHuh in the future "moviebrainz" (don't think so)
Just my two cents...
Reply
#14
Yes shazaam is proprietary, but I've probably said 10 times now that echo nest is open source, both client and server. The amount of languages is irrelevant as it only needs to identify one of them. Although it would be a nice site benefit for a scraper to be able to detect available languages.

Musicbrainz doesn't help because they don't allow tv shows or movies. The database will have to be grown in the same way the tv db and all the others were, user contribution. The one powerful advantage in this area is that it can build on their success by pulling automated contributions from user's libraries
Reply
#15
(2012-09-24, 14:58)Bstrdsmkr Wrote: The amount of languages is irrelevant as it only needs to identify one of them.

Sorry don't get it, can you elaborate? Let's say I have the german "Der letzte Samurai" movie version (let's say it's not in the echo nest db until now). How should echo nest know that this one is the original english "Last Samurai" (in the echo nest db) movie?
Reply

Logout Mark Read Team Forum Stats Members Help
Shazam based Renamer / Scraper0