Από τότε που ξεκίνησε το 1999, το Shazam έχει χρησιμοποιηθεί για την αναγνώριση τραγουδιών πάνω από πενήντα δισεκατομμύρια φορές, και αυτό δεν μετράει καν τα ID από Soundhound, MusicID και άλλες εφαρμογές αναγνώρισης ήχου.

Από την οπτική γωνία του χρήστη, είναι απλή: Ξεκινήστε την εφαρμογή, πατήστε ένα κουμπί και αφήστε το τηλέφωνό σας να ακούσει το τραγούδι. Μετά από μερικά δευτερόλεπτα, ακόμη και με θόρυβο φόντου και παραμόρφωση, η εφαρμογή θα σας πει ποιο είναι το τραγούδι. Λειτουργεί τόσο γρήγορα και τόσο καλά ώστε φαίνεται σχεδόν μαγικό - αλλά, όπως συμβαίνει με τα περισσότερα μαγικά πράγματα αυτές τις μέρες, αυτή η λειτουργία βασίζεται κυρίως σε αλγόριθμους.

Ποια είναι η ιδέα πίσω από αυτές τις εφαρμογές;

Το Shazam, το Soundhound και άλλες υπηρεσίες αναγνώρισης μουσικής λειτουργούν ουσιαστικά με τον ίδιο τρόπο: έχουν μια μεγάλη βάση δεδομένων με πληροφορίες τραγουδιού, έναν αλγόριθμο που μπορεί γρήγορα να εξαγάγει πληροφορίες από το δείγμα τραγουδιού σας και μια εφαρμογή που σας επιτρέπει να αλληλεπιδράσετε με αυτά τα πράγματα. Από τεχνική άποψη, δεν χρειάζεστε ούτε ένα smartphone.

Το Shazam ήταν αρχικά χρησιμοποιήσιμο σε παλιομοδίτικα flip τηλέφωνα απλά καταγράφοντας ένα τραγούδι και στέλνοντάς το μήνυμα στην υπηρεσία. Το soundhound έχει κάνει πραγματικά μερικά βήματα ακόμα, επιτρέποντάς σας επίσης να τραγουδήσετε ή να βουτήξετε στην εφαρμογή τους που ταιριάζουν με μια βάση δεδομένων των άλλων τραγουδιών / ταχογράφων που έχουν υποβληθεί από τον χρήστη.

Πώς λειτουργούν;

Με απλά λόγια, η διαδικασία μοιάζει με αυτό:

  1. Η βάση δεδομένων της εφαρμογής διαθέτει μια τεράστια συλλογή από "δακτυλικά αποτυπώματα" τραγουδιών ή μικρά κομμάτια δεδομένων σχετικά με τα μοναδικά πρότυπα ήχου του τραγουδιού.
  2. Όταν ένας χρήστης πατήσει το κουμπί "Εγγραφή", η εφαρμογή ακούει τη μουσική και δημιουργεί ένα δακτυλικό αποτύπωμα με βάση τα λίγα δευτερόλεπτα του ήχου που ακούει.
  3. Αυτό το δακτυλικό αποτύπωμα ελέγχεται από τη βάση δεδομένων των υφιστάμενων δακτυλικών αποτυπωμάτων. Εάν το αποτύπωμα σας των δέκα δευτερολέπτων αντιστοιχεί σε μέρος ενός τραγουδιού, θα έχετε το αποτέλεσμα τραγουδιού σας (ελπίζουμε ότι είναι σωστό). Εάν δεν είναι, θα πάρετε πίσω ένα λάθος.

Αν ψάχνετε ακριβώς για μια εξήγηση σε επίπεδο επιφάνειας, αυτό είναι το μόνο που χρειάζεται να γνωρίζετε. Το πραγματικά ενδιαφέρον κομμάτι είναι πώς πραγματικά παίρνετε αυτό το δακτυλικό αποτύπωμα.

Αποτυπώματα τραγουδιού

Όλα ξεκινούν με ένα φασματογράφημα, όπως αυτό στο παραπάνω γράφημα, που προέρχεται από ένα έγγραφο που γράφτηκε από έναν από τους ιδρυτές της Shazam, Avery Wang. Αυτό είναι ουσιαστικά ένα γράφημα με το χρόνο στον άξονα x (οριζόντιο), τη συχνότητα στον άξονα y (κατακόρυφο) και το πλάτος που αντιπροσωπεύει διαφορετικά επίπεδα έντασης χρώματος. Οποιαδήποτε ακολουθία ήχων μπορεί έτσι να μετατραπεί σε φασματογράφημα, και σε οποιοδήποτε σημείο του φασματογράφου μπορεί να αποδοθεί ένα σύνολο συντεταγμένων. Ακριβώς έτσι, οι σημειώσεις μπορούν να είναι αριθμοί.

Αν το μόνο που χρειάζεται να κάνετε είναι να ταιριάξετε μερικούς ήχους μεταξύ τους, μπορείτε να σταματήσετε εδώ. Αν θέλετε να δείτε μια βάση δεδομένων γεμάτη με εκατομμύρια τραγούδια, ωστόσο, ένα φασματογράφημα πλήρους λεπτομέρειας έχει πάρα πολλά σημεία δεδομένων για να κοιτάξει κανείς σε οποιαδήποτε ταχύτητα.

Η μεγάλη ανακάλυψη στην αναγνώριση μουσικής ήταν η συνειδητοποίηση ότι μπορείτε να αναγνωρίσετε ήχους με λίγα μόνο κομμάτια δεδομένων: τις κορυφές ή τα πιο έντονα μέρη. Όχι μόνο να απαλλαγούμε από τα περισσότερα από τα τμήματα χαμηλότερης ενέργειας ενός τραγουδιού μειώνουν το μέγεθος του φασματογράφου, αλλά καθιστά τις εφαρμογές λιγότερο ευαίσθητες στον εντοπισμό θαμπών και σταθερών θορύβων στο παρασκήνιο ως μέρος των ήχων στόχων. Φανταστείτε έναν ορίζοντα της πόλης - τα πιο αναγνωρίσιμα μέρη είναι οι κορυφές των κτιρίων, όχι τα μεσαία πατώματα, και αυτό είναι που μπορείτε να δείτε από τη μακρύτερη απόσταση.

Έτσι, κάθε δευτερόλεπτο κάθε τραγουδιού απογυμνώνεται σε μερικά από τα πιο έντονα σημεία δεδομένων. τα πάντα στον ορίζοντα της πόλης αφαιρούνται εκτός από την κορυφή. Αλλά αυτό δεν είναι αρκετά αρκετά αποτελεσματικό ώστε να μπορεί να αναζητηθεί άμεσα, οπότε το επόμενο βήμα είναι να "κατακερματιστεί" αυτή η ακολουθία κορυφών. Το Hashing παίρνει απλά ένα σύνολο εισόδων, τις τρέχει μέσω ενός αλγορίθμου και τους αποδίδει ακέραια έξοδο. Σε αυτή την περίπτωση ο κατακερματισμός δημιουργείται λαμβάνοντας δύο από τις κορυφές υψηλής έντασης, μετρώντας το χρόνο μεταξύ τους και προσθέτοντας τις δύο συχνότητες μαζί.

Το αποτέλεσμα είναι μια σειρά αριθμών, εύκολη αποθήκευση και αναζήτηση. Όταν ένας υπολογιστής διαβάζει αυτό το hash, θα τα αναγνωρίσει ως αντιπροσωπεύοντας συχνότητα και χρονική απόσταση. Μόλις εντοπιστούν όλες οι κορυφές του τραγουδιού, ο μετασχηματισμός ολοκληρώθηκε: το τραγούδι έχει τώρα έναν μοναδικό αριθμό 32-bit που χρησιμεύει ως αναγνωριστικό του στη βάση δεδομένων. Το πιο σημαντικό, κάθε δευτερόλεπτο του τραγουδιού αντιπροσωπεύεται από τους αριθμούς.

Όταν το τηλέφωνό σας ακούει μουσική, περνάει από αυτή την ακριβή διαδικασία: φιλτράρει τα πάντα εκτός από τα υψηλότερα σημεία, τα χτυπάει και δημιουργεί ένα δακτυλικό αποτύπωμα για τα λίγα δευτερόλεπτα που έχει καταγράψει. Μόλις ολοκληρωθεί αυτό, το τηλέφωνό σας χρειάζεται μόνο να δει πού εμφανίζονται οι αντίστοιχες σειρές αριθμών στη βάση δεδομένων, επιτρέποντάς του να ταιριάζει με τις αναγνωρισμένες συχνότητες και χρονισμό στο σωστό τραγούδι και να το επιστρέφει σε δευτερόλεπτα.

Μουσική και πολλά άλλα

Αυτή η τεχνολογία χρησιμοποιείται ευρύτερα για την αναγνώριση μουσικής, αλλά οι εφαρμογές αναγνώρισης ήχου μπορούν επίσης να λειτουργούν με ταινίες, διαφημίσεις, τηλεοπτικές εκπομπές, τραγούδια πουλιών και πολλά άλλα. Το Shazam και το Soundhound είναι τα πιο γνωστά, αλλά μπορείτε επίσης να ρωτήσετε τώρα το Google τι τραγούδι παίζει και να πάρει μια ακριβή απάντηση.

Και αν αναρωτιέστε: «Οι εταιρείες αυτές παρακολουθούν ποια τραγούδια ερωτήθηκαν;» η απάντηση είναι «ναι». Τα στατιστικά στοιχεία αναγνώρισης της μουσικής έχουν πραγματικά τη δυνατότητα να προβλέψουν την επιτυχία των τραγουδιών και των καλλιτεχνών με αρκετά υψηλό επίπεδο ακρίβειας, και οι μεγάλες δισκογραφικές εταιρίες όπως η Warner έχουν συμβληθεί με εφαρμογές όπως το Shazam για να βοηθήσουν στην εξεύρεση νέων καλλιτεχνών. Έτσι, εάν θέλετε να υποστηρίξετε έναν καλλιτέχνη, μπορείτε επίσης να κάνετε το κομμάτι σας και να αναζητήσετε το τραγούδι τους! Μπορεί να τους βοηθήσετε να απογειωθείτε.