FlyerTalk Forums - View Single Post - iTunes Match available
View Single Post
Old Nov 22, 2011 | 7:11 am
  #15  
BonzoESC
All eyes on you!
15 Years on Site
 
Join Date: Mar 2008
Location: Miami
Programs: DL Silver, AA Gold
Posts: 568
Originally Posted by CPRich
I guess it depends on your definition. To match my 15,000 songs, listening to 10 seconds of each song would take 42 hour of processing. And iTunes has slightly more than 20,000 songs (20 million), and I doubt it's linear. And the database isn't local.
They don't have to decode the song in real time to sample ten seconds; my 2009 MacBook can decode a 15-minute MP3 from a 5200rpm mechanical drive in three seconds (see the "2.656 total" at the end of the last line):
Code:
> time mpg123 -s /Volumes/Macintosh\ HD/iTunes/iTunes\ Music/Jo<0301>hann\ Jo<0301>hannsson/Viršulegu\ Forsetar/01\ Viršulegu\ Forsetar\ -\ First\ Movement.mp3 > /dev/null
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
	version 1.12.5; written and copyright by Michael Hipp and others
	free software (LGPL/GPL) without any warranty but with best wishes

Directory: /Volumes/Macintosh HD/iTunes/iTunes Music/Jóhann Jóhannsson/Viršulegu Forsetar/
Playing MPEG stream 1 of 1: 01 Viršulegu Forsetar - First Movement.mp3 ...
[id3.c:345] error: No comment text / valid description?
Title:   Viršulegu Forsetar - First Movement
Artist:  Jóhann Jóhannsson
Comment:                                 Album:  Viršulegu Forsetar
Year:    2004                            Genre:  Classical
MPEG 1.0 layer III, VBR, 44100 Hz joint-stereo

[14:51] Decoding of 01 Viršulegu Forsetar - First Movement.mp3 finished.
mpg123 -s  > /dev/null  2.20s user 0.13s system 87% cpu 2.656 total
I'm sure checking the database isn't linear; it's probably logarithmic, which is faster than linear. The database isn't local so there's latency, but Match batches up requests and doesn't wait for the previous song to be finished analysis before churning on the next one.

Doing a signature match on the metadata isn't workable, since many people have absolutely terrible metadata. It can't be done from a precomputed sample in the file because then pirates will just distribute collections of empty files with correct samples. It has to be done over the whole file, and it has to be of a bitrate high enough to make piracy for the sake of matching less practical for most people.
BonzoESC is offline