# Patent

## Title
Discovery of music artist and title by a radio station connection to an acoustic fingerprinting service provider

## Abstract

Methods and apparatus for a radio station to communicate station identification and song metadata and audio for songs as they are played to an acoustic analysis system for song recognition to users of the acoustic analysis system.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a Continuation-In-Part of U.S. Non-Provisional application Ser. No. 13/892,295 filed May 12, 1213, which claims benefit of U.S. Provisional Application No. 61/646,327, U.S. Provisional Application No. 61/646,326, U.S. Provisional Application No. 61/646,324, U.S. Provisional Application No. 61/646,330, and U.S. Provisional Application No. 61/646,329, all filed May 13, 2012, and U.S. Provisional Application No. 61/647,184 filed May 15, 2012, the entire disclosure of each is incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present disclosure relates to obtaining artist and title information via an acoustic recognition system for music transmitted on broadcast radio.
2. Description of the Prior Art
In the radio broadcast industry, the over-the-air broadcast is referred to as a “terrestrial” broadcast, differentiating from satellite and Internet broadcasts. The delivery of a terrestrial broadcast on the Internet is commonly referred to as webcasting, simulcasting, or streaming. Beyond commercial AM/FM radio broadcasts that simulcast on the Internet, there are numerous Internet-only music broadcasters, such as Pandora, Beethoven, last.fm, iTunes, and many others, whose listenership has become a very significant portion of all Internet music listenership. In addition to these sources of music, there are other technologies of interest, as follows.
Broadcast Radio Provisioning of Artist and Title for Songs
As of this writing in 2012, there are two established broadcast radio technologies that enable a radio station to transmit artist and title metadata associated with the currently playing song for presentation on a display associated with the radio receiver. These two technologies are known as RDS, and HD radio. For either of these technologies to work the radio station must have a mechanism for associating metadata with a song. The mainstream approach is the use of a Broadcast Automation System, which holds the digitized versions of the music along with the metadata for that music, and incorporates a scheduling system which actually plays out the music and sends it to the radio station's audio chain which delivers it to the transmitter system. The Broadcast Automation System also has a digital data output which can output the metadata associated with a song, or other data, to an external system. In the case of RDS, for example, that metadata will be sent to an RDS digital encoder, typically a standalone box, which will modulate the textual metadata onto an FM subcarrier; the subcarrier then gets mixed with, and transmitted with, the broadcast audio signal. Radio receivers equipped for RDS will decode the RDS data stream for the tuned-in station, extract the artist and title information, and cause the display that information in an appropriate place or manner on an associated display screen. In a case of auto radio receivers, that display screen might be part of the radio itself, or it might be a multipurpose display that is shared with vehicle navigation and other vehicle functionality. For both RDS and HD radio, it has been a common practice in the industry for the automation system to send radio station identifiers such as the radio station call letters, frequency, slogan, and nickname (“The Power”, “Kiss 107”, “The Breeze”) as part of the metadata output.
Digital Signal Processing, and Beat Detection
There is an associated and well-known technology, that of beat detection, identification and beat matching in systems used by DJs and radio stations to segue from one song to the next. Beat matching is a well-studied mathematical science in the field of digital signal processing, and there are commonly available software modules that a programmer can incorporate into his system to build in beat identification and beat matching.
Acoustic Fingerprinting of Audio Materials and Music
Further, there are systems and service providers on the Internet that utilize a technology called acoustic fingerprinting (or audio recognition, acoustic recognition, or similar terms) which uses a mathematical algorithm to associate a digital “fingerprint” of audio material, such as a song or commercial, with the name or other identifier of the audio material itself from an audio content database (a song database). A song database is comprised of records of songs wherein each record is a mathematical representation of a song, typically consisting of a series of fingerprints of various points in the song. Each record is associated with one or more identifiers of the song, particularly the artist and title of the song. In one method of operation of these systems for the recognition of songs, a snippet of a song is sent to the system in a digitized format such as MP3, the snippet is fingerprinted, the fingerprint is compared against a database of fingerprints, and if a close match is found, that match identifies the song from which the snippet is derived. Having identified the song, the system then returns information to the requester about the song, such as the artist and title and album information, or takes other appropriate actions according to the business nature of the service provider. While there may be intermediate steps on the part of any individual system or service provider, from the viewpoint of that system or service as a utility the operation is the same: pass in a snippet of a song, and receive back metadata about the song if it exists in their database.
According to common knowledge, acoustic fingerprinting was developed by the US military decades ago to recognize voices. Although esoteric, it is well-known and well-studied in certain mathematical fields, especially those associated with digital signal processing. As of this writing there are multiple services available on the Internet that provide song identification via acoustic fingerprinting in a fashion comparable to that just described.
In one implementation, acoustic fingerprinting service providers (such as Media Monitors LLC, ASCAP [American Society of Composers, Authors and Publishers], and Broadcast Music Inc. [BMI]) provide a monitoring and auditing function for radio stations, or other clients that wish to audit radio stations, to verify that a radio station has played their commercials according to agreement, or to identify and track the songs played by a radio station. In this implementation, the service provider will arrange to have one or more radio receivers installed a listening area, one receiver per radio station wherein the receiver is permanently tuned to that station. The audio output (line out, or headphone out) of each receiver is physically connected to a co-located computer. A computer may be provisioned with multiple sound cards to allow for connections from multiple receivers (i.e., four sound cards will allow the connection of four radio receivers). Thus, to monitor 1,000 radio stations in 60 listening areas, the service provider must arrange for the installation and maintenance of 1,000 radio receivers in 60 physical locations. If the associated computers were configured with four sound cards each (assuming there is no other limiting parameter), 250 computers are required. The computers digitize the audio from each associated radio receiver into a suitable format such as mp3 and send the stream of digitized audio to the service provider for acoustic fingerprinting. The service provider analyzes each received audio stream using fingerprinting techniques to determine the commercials played and time-of-day, which information is subsequently made available in reporting formats to the clients of the service provider.
Some of the agencies listed above, plus others such as TuneSat.com, provide similar services on behalf of music rights holders by monitoring television channels to detect music embedded in TV programs or commercials.
In a variation of this business model, the acoustic fingerprinting service providers (such as Yes.com, Nielsen), configured as just described, determine the artist and title of songs that have played, and make that information available to their radio station clients via proprietary Internet connection arrangements in a controlled and limited fashion so song information can be displayed on the radio station's website, or on an Internet media player configured to play the radio station's content. In these configurations, the use of a proprietary connection enables the display of only the most current song, and induces the audience to click through to the service provider's own website to access the listings of previous songs. The service providers monetize the visits of listeners that click through in this fashion by the presentation of ads, and by offering songs on the playlist for sale.
In another quite different implementation, acoustic fingerprinting service providers (such as Shazam and SoundHound) provide a smart phone application for users. In this implementation, when a user hears an interesting song from an ambient source (background music in a store or office, a friend's radio, etc.), the user turns on their smart phone and starts the app. The app turns on the microphone of the smart phone, digitizes the audio it “hears”, and sends that audio stream to the service provider. The service provider fingerprints the audio, as previously described, determines the name of the song and the artist, and delivers that information back to the app where it is displayed for the user. The song is then offered for sale, and the user is presented opportunities to explore similar songs, and to purchase them as well.
Device that Hears What You Hear
Arbitron provides audience measurement and ratings for the radio broadcast industry in the United States. Traditionally Arbitron enlisted volunteers to self-report their listening history by recording that information in a diary and mailing it back to Arbitron. Multiple volunteers are enlisted in each listening area targeted for study. A few years ago Arbitron introduced an automated technology called the Portable People Meter (PPM), a wearable device with a continuously-on microphone that hears what the wearer hears. Radio stations participating in Arbitron surveys install an encoder that impresses a unique identifying code in the form of an inaudible series of tones onto the radio station's broadcast signal. PPMs listen for these inaudible tones, and record the number of instances, duration, and time of day for each station the volunteer has listened to during the study period. Only radio stations transmitting these codes can be detected by the PPM. Although the radio station audio is heard by the PPM in order to detect the tones, the nature or content of the audio other than the tones is ignored by the PPM and is neither identified nor recorded. The PPMs are inserted into a dock at night which charges the PPM and uploads the data to Arbitron servers.
SUMMARY
The embodiments disclosed herein are based in part on the wide-spread use of smart phones (and cell phones, tablets, and similar mobile and wireless devices in general) for the consumption of entertainment, especially music, by the individual users of those devices. Much the same as the Personal Computer has, in fact, become a personal device, used by a single person for the management of their affairs, the smart phone has assumed that role and, even further, become the epitome of that paradigm for portable devices. It is a pocket-sized personal communications, personal digital assistant (PDA), and personal entertainment system.
In particular, the use of a smart phone as an entertainment device, especially for music, is expanding rapidly. But even so, musical consumption is splintered. Going back some years, we would hear music from juke-boxes at a diner, from broadcast radios in cars and at home, from television, even in elevators, and piped into the office. While we are still exposed to music from most of these sources, the trend now is to listen to music personally; that is, rather than music coming through speakers that many can hear, now it comes through ear-buds or headphones that only one person can hear—the smart phone owner. But even though the portion of music experienced through a smart phone is “personal”, the sources of music for any individual can be fragmented—from radio receivers in the car and home, perhaps some from the Internet broadcast of one or more radio stations, perhaps from Internet-only sources such as Pandora or Slacker, and perhaps from any of hundreds or thousands of other potential sources.
Presently, the ability to present artist and title information for listeners of broadcast radio is dependent upon the radio station transmitting that information as part of its broadcast signal. In the United States as of 2012, RDS and HD radio are poorly adopted by radio broadcasters, and therefore a large percentage of broadcast radio music listenership cannot benefit from the availability of music metadata. Music listeners appreciate knowing the artist and song title, and therefore it would be valuable if that data could be provided independently. There sometimes are indirect ways for a radio station to provide artist and title data for their simulcast even though they don't provide it for their terrestrial broadcast, nevertheless, a significant percentage of commercial radio simulcast on the Internet does not provide artist and title information for the music they play.
Further, although most of the Internet-only music broadcasters provide artist and title information for the music they deliver, and even though Pandora or Slacker or any other interactive Internet source might provide a “Like” button, or a “buy” button, the result to the user is still fragmented—a “Like” on Pandora does not relate to a “Like” on a radio station's simulcast, and building a playlist on Slacker does not integrate with playlists and custom channels built elsewhere.
Even for those sources that provide artist and title data, listeners who utilize more than one source of musical content do not have a ready way of centralizing the provided artist and title metadata and associated information surrounding the music they have heard, into an effective body of knowledge that they can use to enhance their musical experience, such as consolidating artist and title and associated information from diverse Internet sources into a common repository comprising favorite songs, songs they have purchased, songs they like and might want to purchase, etc., selecting their favorites from songs they have heard, sharing favorites and other musical information with others, creating playlists and custom music channels, and the purchase of songs and albums.
The above shortcomings are addressed in the various embodiments of this disclosure.
Embodiments disclosed herein may utilize two existing technologies to detect the presence of music, to determine when a new song begins, and to obtain the artist and title of a detected song. The detection of presence of music and the detection of the beginning of a new song are achieved through the implementation of digital signal processing (DSP) mathematical techniques commonly used by DJ software to perform “beat matching” to segue from one song to the next. Once a song is detected, a snippet of it is sent to and analyzed by an Internet-based “acoustic fingerprinting” service provider which uses the snippet as a lookup key (or “fingerprint”) into a song database to find the associated metadata for the song, especially the name of the song and the artist.
In one embodiment there is a method and a system for a smart phone application (herein, an “app”, or “smartphone app”, or “song ID app”), or an inherent capability of the smart phone itself (i.e., cell phone), such as by a feature of the smart phone operating system, to monitor the audio output of an associated radio receiver system via a wireless connection such as Bluetooth, and to determine when that audio output constitutes music, then to identify the song and its associated artist and title, optionally along with other associated song metadata, from an acoustic fingerprinting service provider on the Internet, to show that metadata on the radio receiver's display, and to store that artist and title information for the user in the app for subsequent engagement and pursuit of their musical interests. In this fashion, this embodiment provides the ability to identify every song heard by the user through an associated radio receiver system, regardless of the source of that music, and to keep a listing of those songs for all the purposes a user might desire. The cellular phone may communicate with a system on the Internet via standard cellular data communications technologies such as 3G, 4G, or WiFi.
Another embodiment relates to obtaining artist and title information for music delivered to and played by smart phones (and cell phones, generally) in the circumstance where that information is not provided by the broadcaster, and where that information, whether or not it is provided by the broadcaster, is obtained and made available via a smart phone app.
Still another embodiment provides for obtaining artist and title information for music heard by a listener in possession of a smart phone (or, generally, a cell phone) wherein the smart phone is provisioned to continuously “listen” to ambient sounds via the smart phone microphone, and consequently “hear” whatever the user hears, even when the smart phone display is off. Such a capability is common in voice recording apps. This embodiment is a method and a system for a smart phone application (herein, an “app”, or “smartphone app”, or “song ID app”), or an inherent capability of the smart phone itself such as by a feature of the smart phone operating system or electronic design, to electronically and internally monitor the smart phone microphone and to detect the presence of music.
The song ID app has the capability to determine when the ambient audio comprises music, and when the presence of music is detected, to send a portion of that music to an online acoustic fingerprinting service provider to determine the artist and title of the song, and upon the reply of that service provider, to enter the artist and title and any other available song information into a listing for immediate or future access by the user for the pursuit of their musical interests. In this fashion, these embodiments provide the ability to identify every song heard by the user, regardless of the source of that music, and to keep a listing of those songs for all the purposes a user might desire.
And yet another embodiment relates to an improved method and system for auditing radio stations and other broadcasters. In this embodiment, a “desktop” or PC or server application running at the radio station (or other convenient location) receives the station's audio output that will be transmitted over the air. Software in the PC application detects changes in the nature of the audio content, such as from one song to another, from a song to DJ chatter, from DJ chatter to a commercial, or from one commercial to another to identify audio segments representing unique audio elements. Associated acoustic fingerprinting software fingerprints each identifiable segment of audio content. Fingerprints are transmitted via the Internet to an acoustic fingerprinting service provider that has a fingerprinting database of songs, commercials, and any other content of interest. The acoustic fingerprinting service provider looks up the fingerprint in its database and obtains the artist and title of the song, or an identifier for the song, or commercial, or other audio content. The acoustic fingerprinting service provider stores records of detected songs and commercials played by a broadcaster, and produces reports from database analyses regarding the names, frequencies, times-of-day, etc. that the various contents of interest are played. Of significant benefit, the majority of physical plant associated with the prior art arrangements for providing radio station auditing is eliminated; specifically, the embodiment just described replaces the requirement to have a physical radio receiver and associated computer in a physical location geographically within radio reception range of the radio station.
Another embodiment relates to obtaining artist and title metadata for radio stations broadcasting syndicated content. In this embodiment, a “desktop” or PC or server application running at the radio station (or other convenient location) receives the station's audio output that will be transmitted over the air. Software in the PC application detects changes in the nature of the audio content, such as from one song to another, from a song to DJ chatter, from DJ chatter to a commercial, or from one commercial to another. Associated acoustic fingerprinting software fingerprints each identifiable segment of audio content. Fingerprints are transmitted via the Internet to an acoustic fingerprinting service provider that has a fingerprinting database of songs and any other content of interest. The acoustic fingerprinting service provider looks up the fingerprint in its database and obtains the artist and title of the song. The acoustic fingerprinting service provider then provides the song metadata back to the PC application at the station. In one arrangement, the PC application delivers that metadata to a system such as an RDS system for inclusion in the terrestrial broadcast. In another arrangement, the PC application delivers that metadata to a digital encoder system, which converts the analog audio (or audio/video, in the case of a television station) into a digital format for transmission on the Internet for simulcasting to an Internet audience. The digital encoder system transmits the artist and title information along with the digitized audio of the song to media players on the Internet.
In another mode of operation of this embodiment, the acoustic fingerprinting service provider, directly or indirectly provides this metadata to Internet media players of the radio station's content, optionally in a proprietary format such that only the artist and title of the current song is displayed, and requiring listeners to click through to a website of the acoustic fingerprinting service provider, or an associated entity, to obtain similar information for previously played songs.
In another embodiment the operation of an acoustic fingerprinting service provider is enhanced by the provision of an audio and metadata feed from a radio station such that the feed is identified as originating from the radio station. This feed announces the name of the station, the location of the station, the start of play of each song, the artist and title of the song, and the duration of end time of each song. With this arrangement widely implemented, an acoustic fingerprinting service provider will know all the songs playing at any given time at all the radio stations in a listening area. By identifying the geo-location of a user of the fingerprinting service who is seeking the identification of a song, that user can be mapped to a listening area. Since the fingerprinting service knows all the songs being played by radio stations in that listening area, the song identification process can be streamlined by first searching for a match of the songs currently being played by radio stations.
Other aspects and advantages of the disclosed embodiments will be apparent upon consideration of the drawings and detailed description, which follow.



BRIEF DESCRIPTION OF THE DRAWINGS
The disclosures and embodiments will be more fully understood when reference is had to the following detailed description and the accompanying drawings, in which:
FIG. 1 is a schematic illustration of an embodiment applicable to automobile radios which do not incorporate an embedded cell phone.
FIG. 2 is a detail view of the Bluetooth aspects shown in FIG. 1.
FIG. 3 is a flow chart illustrating a basic method of operation between the companion software in the radio receiver, the smart phone song ID app, and the acoustic fingerprinting service provider.
FIG. 4 is a schematic illustration of the system as it might be configured in a home stereo system or home theater system, but showing both Wi-Fi connectivity and wired Ethernet connectivity, although only one of the two connection arrangements would be necessary.
FIG. 5 is a schematic illustration of an embodiment applicable to automobile radios which incorporate an embedded cell phone.
FIG. 6 is a schematic illustration of an embodiment in which the song ID app communicates to the acoustic fingerprinting service provider via a wireless Wi-Fi connection to a local router which then passes information across the Internet.
FIG. 7 is an alternate version of that shown in FIG. 6, in which the wireless access from the smart phone is via cell phone wireless.
FIG. 8 is a diagram outlining the basic components and systems of a smart phone.
FIG. 9 is a schematic illustration of the relationship between a music app running in the smart phone and the song ID app.
FIG. 10 is a flowchart detailing the process by which a song ID app detects a song, passes that information to an acoustic fingerprinting service provider, and retrieves the song metadata from that service provider.
FIG. 11 is a schematic illustration of an embodiment in which the song ID app listens to an ambient audio source, and communicates to the acoustic fingerprinting service provider via a wireless Wi-Fi connection to a local router which then passes information across the Internet.
FIG. 12 is an alternate version of that shown in FIG. 11, in which the wireless access from the smart phone is via cell phone wireless.
FIG. 13 is a schematic drawing illustrating an embodiment that is an improved method and system for auditing radio stations and other broadcasters.
FIG. 14 is a flow chart illustrating one embodiment of an auditing system.
FIG. 15 is a schematic drawing illustrating an embodiment for radio stations to obtain artist and title metadata via an acoustic fingerprinting service provider for syndicated programs.
FIG. 16 is a flow chart illustrating one embodiment of a system for syndicated programs.
FIG. 17 is a flow chart illustrating an embodiment of a system for providing radio station metadata to a fingerprinting service provider.



DETAILED DESCRIPTION
What follows are detailed descriptions of exemplary embodiments, but the scope of the invention is defined by the claims that follow the detailed descriptions and is not limited to the disclosed embodiments.
Digital Signal Processing, Beat Detection, and Music Detection
Modes of operation as disclosed herein may take advantage of a well-known technology, that of beat detection, identification and beat matching in systems used by DJs and radio stations to segue from one song to the next. As previously mentioned, beat matching is a well-studied mathematical science in the field of digital signal processing, and there are commonly available software modules that a programmer can incorporate into his system to build in beat identification and beat matching. The purpose of beat identification and beat matching in various embodiments as disclosed herein is to determine the presence of music and the beginning of the next song.
The mathematics of acoustic and music analysis is a broad field of science, and there are many algorithms including and beyond beat identification to determine the presence of music and the beginning of a song. For example, the paper, “Audio Content-Based Feature Extraction Algorithms Using J-DSP for Arts, Media and Engineering Courses”, 978-1-4244-6262-9/10/Session T1F-1 2010 IEEE, incorporated herein in its entirety by reference, describes several standard approaches commonly taught in college DSP courses to achieve feature extraction of audio content. “A typical set of features for audio signals includes tonality, pitch (perceived fundamental frequency), temporal energy, harmonicity, timbre, spectral centroid, bandwidth and the Mel-Frequency Cepstral Coefficients (MFCC).” Tonality is a measure of the signal's tone-like versus noise-like characteristic, and thus tonality is an indication of the presence of musical content. Pitch represents the periodicity inherent in the temporal domain or the perceived fundamental frequency of the underlying signal, and thus the presence of an identifiable pitch is another indication of the presence of musical content. The measurement of temporal energy can be used to ignore sections of audio content having silent or noise-like characteristics. The measurement of harmonicity indicates the degree of periodicity and the degree of harmonics of the fundamental frequency, and is a further indication of musical content. One characteristic of music is the presence of tonality, beats, harmonics, etc., over longer periods of time than voice, and thus the presence of these indicators over larger time frames, fractions of a second and longer compared to milliseconds for voice, can be used to identify the presence of music. The cited reference merely describes the general nature of college-level courses that explore DSP analysis of audio and musical content; there is a rich body of technical literature that provide intricate details regarding the implementation of these concepts.
Radio Receiver Embodiments
In the following embodiments there are methods and systems that enable the attainment of music artist and title information, as well as other information related to a currently playing song, for music played by radio broadcast receivers independently of whether or not that information is transmitted by the broadcaster.
These embodiments relate to all types of radio receivers including car radios, tabletop radios, portable radios, boom boxes, and home stereo receiver systems, and takes advantage of the display capabilities of displays built into the radio itself, as well as display systems associated with the radio receiver, such as dashboard displays, televisions, navigation systems, as well as on the user's smart phone. Some of these devices such as automobile radio receivers directly or indirectly have Bluetooth local wireless networking, and some have Wi-Fi.
In yet another embodiment the radio receiver system may incorporate cell phone technology, as is common among some automobile manufacturers. For example some General Motors models incorporate their proprietary OnStar system which is built around an embedded cell phone capability, and some other auto manufacturers incorporate a similar embedded cell phone capability to report service notifications and issues to the owners and dealers. This embodiment is similar to the embodiment just mentioned, except that the communication between the song app and the acoustic fingerprinting service provider on the Internet is carried over the automobile's cell phone wireless path in either voice mode or data mode.
In this embodiment the app receives the identification of every song played through the radio receiver, and it keeps a record of these songs, including other associated and optional information such as the station or source, if available, and the time played. Having those listings, it can offer the user a Like button for each song heard to aid the user in keeping a listing of favorite songs, it can present advertising targeted to the songs or the genres associated with those songs, and it can offer the user the ability to purchase the songs or the albums.
It should be understood that in some circumstances the radio receiver is part of a system, rather than standalone, and that system may incorporate the logic and processing to enable the sending of an audio stream to a cell phone song app and the receipt of metadata from that app regarding the song being played, as well as the posting of selected metadata returned by the app onto the display system. For example, in an automobile with a radio receiver and display system, a vehicle onboard computer may manage the contents to be displayed, among them being radio station information, navigation system, vehicle settings and customization, etc. In another circumstance the radio receiver may be part of a home theater and stereo system. In this configuration the television may be the display system, and the computerized electronics that determine what data is to be displayed may be shared by various devices such as a cable TV set-top box, a radio receiver, a Blu-ray player, and the TV itself. Therefore these embodiments should be construed as a computerized control device associated with a radio receiver such that it can send an audio stream from the radio receiver to an associated wireless device such as a cell phone running a compatible app, receive the returned metadata about the song, and cause the presentation of that metadata on a display. The connection between the radio receiver and the cell phone may be wired (the cell phone may be an integral part of the system, or the cell phone may be in a dock that is wired to the system, etc.), or the connection may be wireless such as via Bluetooth.
FIG. 1 is a schematic illustration showing an embodiment applicable to automobile radio receiver systems, as well as to other radio receiver systems. In this embodiment, a radio receiver, such as a car radio, having a Bluetooth connection to a smart phone carried by someone in the vehicle, uses the wireless capability of that smart phone to obtain artist and title information, as well as other optional related information, for every song being played on the radio. In this embodiment, the radio receiver sends a continuous stream of the audio output to the cell phone via Bluetooth in addition to sending it to the speakers. The smart phone is enabled to obtain artist and title information (metadata) for the songs played on the radio, as represented by the continuous stream of audio from the radio receiver, from an acoustic fingerprinting service provider on the Internet. Optionally, the smart phone returns artist and title information to the radio receiver system for presentation on its display, and also optionally, the smart phone presents that information on its own display.
The radio receiver system comprises a radio receiver system and controller 100, a radio receiver 110, a display system 120, and a Bluetooth wireless system and transceiver 130 which incorporates companion software 140 that works with the song ID app 210 in the smart phone 200.
The radio receiver and Bluetooth wireless assembly are shown within the bounds of a controller system 100 such as might be found in the modern automobile where most aspects of the driver interface to accessories is operated under a centralized computer controlling system. This block diagram configuration is presented for illustrative purposes in that a system designer might choose from many possibilities in creating a particular system design.
The smart phone incorporates a song ID app 210, Bluetooth wireless networking 220, and conventional cell phone wireless connectivity 230. The cell phone connects by conventional cell phone wireless transmission 230 to a cell phone tower 400. In the current common cell phone wireless network design, a cell phone tower connects via a network gateway system provided by the wireless service provider (not shown), which connects the wireless service provider's network to the worldwide Internet backbone system 410. Optionally the smart phone may connect to the Internet via Wi-Fi arrangement (not shown).
The acoustic fingerprinting service provider 300 incorporates fingerprinting song database 310, and is located on the Internet and is accessible via data packets sent from the cell phone 200, and can communicate similarly in the reverse direction. In various embodiments as disclosed herein, the communication between the smartphone song ID app 210 and the acoustic fingerprinting service provider 300 on the Internet may be carried over the cell phone's wireless path 230 in either voice mode or data mode, or via Wi-Fi through a wireless router and then across the wired broadband network.
FIG. 2 is a more detailed view of the Bluetooth elements of FIG. 1 and the smart phone. As exemplified in FIG. 2, both the smart phone 200 and the radio receiver system 100 support compatible wireless technology such as Bluetooth, including the ability to pair two devices together via pairing managers 150 and 250. The pairing managers are responsible for creating the basic Bluetooth connectivity between the two devices. Since there might be several applications accessible by Bluetooth in each of the two devices, the application connection managers 151 and 251 establish application level connectivity between the companion software on the two devices and systems as exemplified by controller 100 and its subsystems, and smart phone 200 and its subsystems, especially song ID app 210. Once the applications are properly connected, the protocol managers 152 and 252 create a precise messaging system for the exchange of data between the two devices and systems such that no messages are ambiguous and each device understands the nature of messages sent and received. This is a stylized arrangement for illustrative purposes; more or fewer individual services or modules may be instantiated in any particular implementation dependent upon the designers, and the modules and services that are incorporated may be placed within other modules of the designer's choosing. For example, the pairing manager 250 may be incorporated in Bluetooth module 220, and therefore not included in song ID app 210.
Returning to FIG. 1, both devices support companion applications 140, 210 that include the ability for the smartphone song ID app 210 to request and receive the audio stream from the radio receiver 110, and optionally for the smartphone 200 to deliver artist and title data back to the controller 100 and radio receiver 110. The application level connectivity for the return of song metadata to the radio receiver optionally includes identifiers for each data element to be passed from one to the other. For example, identifiers for artist and title might use the common name|value pair concept wherein the artist name might be represented as artist=“Lady Gaga”. In simple terms, the radio receiver system incorporates companion software to that of the smart phone song app to enable the two systems to cooperate.
Conveniently, the Bluetooth specification includes several capabilities and profiles to enable this embodiment; these profiles include: Generic A/V Distribution Profile (GAVDP), Advanced Audio Distribution Profile (A2DP), A/V Remote Control Profile (AVRCP), as well as the A/V Control Transport protocol (AVCTP), and the A/V Distribution Transport protocol (AVDTP). Further, Bluetooth includes generic capabilities for the discovery of compatible devices, such as the Service Discovery Protocol (SDP) and the Service Discovery Application Profile (SDAP).
Once communications have been established between the companion software 140 in the radio receiver system 100 and the smart phone app 210, as is further illustrated in FIG. 2 and FIG. 5, the controller 100 for the radio receiver system streams a copy of the radio's audio output through a digitizing and encoding module (not shown) if necessary. The digitized stream is then directed to the Bluetooth transceiver system 130. The digitizing and encoding module converts the audio stream from analog format to digital format such as way or mp3, or from one digital format to another. The Bluetooth transceiver system 130 transmits the continuous audio stream over the Bluetooth digital wireless system for reception by Bluetooth system 220 of the smart phone 200.
The smart phone 200 receives the continuous broadcast stream of the radio receiver's audio output through Bluetooth system 220 and delivers it to song ID app 210. In various embodiments the smart phone song ID app 210 incorporates music detection software, such as beat detection software or software of a similar algorithm. For compatibility, the app 210 may decode or transcode the audio into a format manageable by the selected beat identification software.
Using the music detection software the song ID app 210 attempts to detect the beginning of a song by a change of the beat or tempo or pitch or key or similar acoustic feature using mathematical acoustic analysis procedures, as previously described, via software algorithms incorporated into or made available to the song ID app 210.
When the presence of a new song is potentially detected, the song ID app 210 sends a snippet of the audio stream of an appropriate duration, to the acoustic fingerprinting service provider 300 for identification. If not already encoded in a necessary format, the app 210 encodes the snippet into a digital format such as mp3, as desired by the service provider 300.
The acoustic fingerprinting service provider 300 receives the incoming snippet or stream, performs an analysis of that data to create a fingerprint of it, and then looks up that fingerprint in the database 310 to find a match. If a match is found the acoustic fingerprinting service provider 300 extracts the metadata for the associated song from the database 310, and returns that metadata to the requesting smart phone song ID app 210, minimally including the title of the song, and optionally other desirable information and data such as the name of the artist, the name of the album, an image of the album cover, the purchase price of the song and of the album, support data such as SKUs to enable online purchases, song lyrics, etc.
The smart phone song ID app 210 stores the information received from the acoustic fingerprinting system 300, optionally along with time of day and any other available and related data, in a user accessible format that enables the user to view the listing of songs, and optionally view additional song details such as song lyrics, view album covers, add to playlists or custom music channels, played a portion of the song as a reminder, and purchase the song or album.
The smart phone app 210 then delivers portions or all of this information via Bluetooth to the companion software 140 in the radio receiver system 100 for presentation of information about the currently playing song on display 120. Any radio receivers equipped for either RDS or HD radio would have a designated location on the display screen for the presentation of artist and title information, and so this metadata derived from an acoustic fingerprinting database could simply be inserted into those designated locations. However, display capabilities have become quite sophisticated, and so there is no real limit on what might be displayed or how it might be presented.
FIG. 3 is a flowchart showing this process in more detail from the standpoint of the smart phone 200. First, if the two Bluetooth devices, i.e. smart phone 200 and radio receiver 100 with Bluetooth subsystem 130, are not paired 500 then pairing takes place 501 before communications can continue. Once pairing has taken place application level connectivity is established between the companion software in each device, illustrating the smart phone app 210, at 502, which connects to companion software 140 in the radio receiver system. Once application connectivity is obtained between the two devices the radio receiver begins to send a continuous audio stream to the smart phone of the audio that is output to the speakers. Software in the smart phone listens to the continuous audio stream 503 then begins the continuous process of attempting to detect the beginning of a song 504. Whenever it detects the possible beginning of a new song, the smart phone app sends a snippet of that new song 505, comprising a portion of the beginning of the new song, to the acoustic fingerprinting service provider 300, optionally preceded by a message announcing the beginning of a new song or passing credentials. Optionally, the song ID app can send a continuous stream of the newly detected song to the acoustic fingerprinting service provider, until receiving an appropriate message from that service provider, which may be the message providing the metadata for the a new song.
The acoustic fingerprinting service provider 300 creates a fingerprint of the song snippet 507; looks for a match for that fingerprint in its database 508; and upon finding a match to the fingerprint, extracts the associated metadata for the song from the database 509 and returns that metadata to the requesting smart phone 510. The smart phone song ID app 210, as the requester, receives the song metadata 506. Then, at the step “new song?” 511, it compares the newly received song metadata with the previously received song metadata, if any, to determine if in fact there is a new song playing. If there is a new song, the song ID app 210 records the metadata elements for the new song into its own internal song information listings (not shown), and forwards some or all of the metadata elements to the radio receiver system for display 512. If the acoustic fingerprinting service provider 300 fails to detect a match, it optionally will send a failure message to the requester at step 510. If the song ID app 210 receives such a failure message, or if it determines that the song was in fact not a new song, it returns to the process of detecting the beginning of a song at step 511 by listening to the continuous stream being received from the radio receiver system. When the beginning of the next song is detected, then the process repeats of obtaining the metadata from the acoustic fingerprinting service provider 300 and delivering that metadata to the radio receiver system 100.
FIG. 4 is a schematic illustration of an embodiment incorporating a radio receiver 110 as it might be configured in a home stereo system or home theater system 150. In this embodiment the radio receiver system is a part of a home entertainment system, or equivalent system, that has the ability to directly access the Internet 450, either via a wired Ethernet connection 420 into a router 430 or via a Wi-Fi connection 240 into a router 430, or other arrangements that give the radio receiver system access to the Internet. For example, this arrangement might be suitable in an automobile with Wi-Fi access to the Internet. In this embodiment, the home entertainment system 150 of which the radio receiver system 110 is an integral part, incorporates a controller 160 which includes the functionality of an embedded song ID app 170.
In this embodiment, the embedded song ID app 170 incorporates some of the functionality previously described as being capabilities of the song ID app residence in the smart phone device. The controller 160 incorporates the ability to access the audio output of the radio receiver system 110 that would go to the speakers, and to encode that audio output into a continuous stream in a suitable format for Bluetooth transmission, such as way or mp3, and to deliver that continuous stream to a software module which functions as an embedded song ID app 170.
This embedded song ID app 170 incorporates software for the detection of music, and to detect the beginning of a new song. In addition, this embedded song ID app 170 possesses the capability of establishing a communication to an acoustic fingerprinting service provider 300. In operation, once the controller 160 has directed a copy of the audio stream to the embedded song ID app 170, the embedded song ID app 170 detects the beginning of a new song, and sends a portion of the beginning of the new song in a suitable encoded format to the acoustic fingerprinting service provider 300.
The acoustic fingerprinting service provider 300 accepts that snippet, prepares a fingerprint from it, searches its database 310 for a match to that fingerprint, and retrieves the associated song metadata. That metadata is then returned by the acoustic fingerprinting service provider 300 to the embedded song ID app 170. The embedded song ID app 170 presents the song metadata to the home entertainment system controller 160 which then manages the presentation of appropriate aspects of the metadata on to the system's associated display system 120. In this embodiment the embedded song ID app 160 is simply a software module that runs within the controller. Hence, in this embodiment, the embedded song app 160 and the controller 170 may be virtually indistinguishable. In this embodiment, the user achieves the immediate benefit of visual access to the songs of artist and title, and optionally other information about the current song.
The display system 120 in this embodiment may be a large screen television, that, in conjunction with user interface devices such as various types of remote controls, enables user interaction including such things as the purchasing of songs through their home entertainment system 150.
Also, a smart phone 200 and it's song ID app 210 may be associated with the home entertainment system 150 via a registration process such that the acoustic fingerprinting service provider 300 is informed that the smart phone song ID app 210 and the home entertainment system 150 and its embedded song ID app 170 operate in companionship. In this embodiment, the acoustic fingerprinting service provider 300 also provides the song metadata to the companion song ID app 210 running on the associated smart phone 200.
Consequently, the song ID app 210 of the smart phone 200 contains a listing of all songs that have been identified through the radio receiver system 150 in this fashion, which enables the user to investigate their musical interests via their smart phone 200 and song ID app 210 as described previously, including the purchase of any song or album in that listing. Since the smart phone 200 is a portable device, the user, who had been the listener of a stationary system, can review the song listing information and can engage with the song ID app 210 service provider at any time and at any place to participate in the interactive process to explore their musical interests, purchase songs of their likings, create lists of favorites, share that list with others, create custom musical channels, and in other ways to enhance their musical experience.
FIG. 5 describes an embodiment conceptually similar to that of FIG. 4 in many respects, but with the key difference that the radio receiver system 110 is part of an overarching system such as may be found in an automobile where in the radio receiver system 110 is a part of a computerized auto accessory system 190, such as General Motor's OnStar system, which incorporates an embedded cell phone 180. In this arrangement the embedded song ID app 170 of the auto accessory system 190, radio receiver system 110, and internal controller 160, communicates with the acoustic fingerprinting service provider 300 via the embedded cell phone technology 180, and the acoustic fingerprinting service provider 300 also optionally communicates with the user's smart phone 200 and its song ID app 210 by conventional cell phone wireless technology 230.
As just described, radio listeners are now enabled to be informed of song information such as artist and title in real time on a display associated with radio receiver 110, whether or not the radio broadcaster transmits that information, and furthermore the radio listeners are enabled to have a listing on their smart phone of all songs that have been identified in this fashion, and enables the user to investigate their musical interests as described previously, including the purchase of any song or album in that listing.
The users therefore benefit both from the ability to be informed in real time about songs as they are playing, as well as from the ability then and at future times to engage in the exploration of that music via the playlists stored on their smart phone. Since the smart phone is portable, the user, who may have been listening while otherwise disposed, such as while driving, can review the song listing information and can engage with the song ID app 210 and that app's service provider at any time and at any place to participate in the interactive process to explore their musical interests, purchase songs of their likings, create lists of favorites, share that list with others, create custom musical channels, and in other ways to enhance their musical experience.
The disclosures herein that refer to smart phones should be understood to equally refer to cell phones, tablets, and similar wireless devices in general. The term “smart phone application”, or “app”, should be understood to mean software prepared in machine readable form to run within the operating system and on the hardware of a respective smart phone device, and that terms such as “song listings” refer to the recording and storage of song metadata by the application onto non-transient media of the smart phone such as non-volatile RAM.
Beneficially, the disclosures and embodiments described enables the song ID app provider the opportunity to offer for sale every song heard by the listener, even though it may have been heard from a music source that also offers the song for sale.
Smart Phone Listens to Itself Embodiments
The following embodiments as illustrated in FIG. 6 through FIG. 10, disclose the attainment of music artist and title information, as well as other information related to the currently playing song, for music played through a smart phone from any of a variety of sources, independently of whether or not that information is transmitted by the broadcaster.
This embodiment is a method and a system for a smart phone application, or an inherent capability of the smart phone itself such as by a feature of the smart phone operating system or electronic design, to electronically and internally monitor the audio output of the smart phone. In the occasion wherein that audio output derives a musical source (to exclude, for example, audio portions associated with voice calls) such as a broadcast radio station simulcasting on the Internet, or an Internet-only radio station, determine when that audio output constitutes music. When the presence of music is detected, then identify the song and its associated artist and title, optionally along with other associated song metadata, from an acoustic fingerprinting service provider on the Internet, and store that artist and title information for the user for subsequent engagement and pursuit of their musical interests. In this fashion, this embodiment provides the ability to identify every song heard by the user through their smart phone, regardless of the source of that music, and to keep a listing of those songs within the app or accessible from the app, for all the purposes a user might desire.
FIG. 6 is a schematic illustration of an embodiment in which a music app 520 is playing music on the smart phone 200 through headphones 201, the music being accessed from any one of a wide variety of potential sources on the Internet or elsewhere, and wherein the song ID app 210 is enabled to access a copy of the audio stream. Other than accessing music from an Internet source, music app 520 might be playing songs stored internally in smart phone 200, or playing songs from an associated PC accessed via Wi-Fi or Bluetooth, or accessed from another smart phone on a Bluetooth piconet, or from a radio receiver as disclosed herein, or accessed from potentially other sources.
In this embodiment, the song ID app 210 accesses a copy of the audio stream being played by a music app 520 (see 211 in FIG. 9). The smart phone song ID app 210 incorporates music detection software (see 212 in FIG. 9), such as beat detection software. Using the music detection software the song ID app 210 analyzes the audio stream to detect the presence of music and the beginning of a song using music detection schemes as previously described. When the presence of a new song is potentially detected, such as by a change of the beat or tempo or pitch or key, the song ID app 210 selects a snippet or portion of the audio stream and sends it to the acoustic fingerprinting service provider 300 for identification, optionally associated with or preceded by a message to the acoustic fingerprinting service provider announcing the beginning of a new song, and optionally providing song ID app 210 license or serial number, song ID app provider information, or user ID information for access permissions, accounting purposes, and similar reasons. Optionally, the song ID app 210 may send a continuous stream of the newly detected song to the acoustic fingerprinting service provider 300 until notified by that service provider directly or indirectly to terminate the transmission of that stream, such as by a reply message delivering the artist and title information.
The acoustic fingerprinting service provider 300 is located on the Internet 450 and is accessible via data packets sent from the smart phone, and can communicate similarly in the reverse direction. The song ID app 210 will typically use the same wireless access technology to access Internet resources as is used by the music app 520. In the embodiment shown by this drawing, the song ID app 210 uses Wi-Fi connectivity 240 to access a local router 430, and via broadband connection 440 from router 430 to access the Internet 450, and then the acoustic fingerprinting service provider 300.
The acoustic fingerprinting service provider 300 maintains a database 310 that cross-references fingerprints of songs to metadata about the songs, especially including the artist and title of the song, and minimally including the title of the song. The acoustic fingerprinting service provider 300 receives the incoming snippet or stream, performs an analysis of that data to create a fingerprint, and then looks up that fingerprint in the database to find a match. If a match is found the acoustic fingerprinting service provider 300 extracts the metadata for the associated song from the database, minimally including the title of the song, and returns that metadata to the requester, that is, song ID app 210 running in smart phone 200.
The smart phone song ID app 210 stores the information received from the acoustic fingerprinting system 300, optionally along with time of day and any other available and related data, in a user accessible format that enables the user to view the listing of songs, and optionally view additional song details such as song lyrics and album covers, add to playlists or custom music channels, play a portion of the song as a reminder, and purchase the song or album.
FIG. 7 is a schematic illustration of a similar embodiment as described in FIG. 6, with the difference that the wireless transmission access method between the smart phone 200 and the Internet 450 is via the cell phone service provider's cellular technology 230, rather than Wi-Fi. In this arrangement the smart phone 200 connects by conventional cell phone wireless transmission 230 to a cell phone tower 400. In the current common cell phone wireless network design, a cell phone tower 400 connects via a network gateway system provided by the wireless service provider (not shown), which connects the wireless service provider's network to the worldwide Internet backbone system 450.
FIG. 8 is a diagram showing the major logical components of a smart phone. It comprises a basic control system 600 which includes a CPU 601, static memory 602 in which is stored the operating system and application data, random access memory 603 for the execution of the code stored in static memory 602, the display system 604, the system input mechanisms 605 including buttons 606 and the touchscreen 607, and the power system 608. Obviously this is a high level system diagram for illustrative purposes only, provided to aid the discussion related to embodiments being described, and is not intended to be definitive in any way. Smart phone 200 further comprises a radio subsystem 610 which incorporates transmit and receive mechanisms 611 for basic cell phone communications 613, Wi-Fi 612, and Bluetooth 614, which are connected to one or more antennae 615. Smart phone 200 further comprises an audio subsystem 620 which includes in 621 and out 625 portions. The “in” portion 621 includes a microphone and/or line-in portion 622, an analog to digital converter (ADC) portion 623, and an encoder function 624 that can encode the digital signal from the ADC 623 into an appropriate format such as mp3. The “out” portion 625, which is, in effect, the media player of the device, comprises a decoder function 626 to convert formatted audio from a format such as mp3 into an unencoded bit stream such as the way or CPM format, a digital to analog converter (DAC) 627 which converts the unencoded bit stream into a varying analog voltage, and the audio out portion 628 which includes the speaker and headphone outputs. Modern systems typically further comprise a set of accessory functions 630 which commonly include a camera 631, an accelerometer 632, a compass 633, and a GPS system 634.
FIG. 9 is a schematic illustration of the relationship between a music app 520 running in the smart phone 200 and the song ID app 210. The music app 520 comprises a function which receives an encoded audio stream 521, typically received wirelessly from an Internet source, and delivers the audio stream to the media player subsystem 625 of the smart phone which will decode the audio into a bit stream 626, convert it to an analog voltage by DAC 627, and output the audio it to the speakers or headphones 628. It should be understood that the smart phone 200 is a software enabled hardware device. The description just provided is loosely intended to describe software functions that operate as routines or modules which ultimately interface with physical hardware and electronic systems, and that it would take volumes to adequately describe such a system. The song ID app 210 is configured to attach itself by a software mechanism 211 into a system resource which can make that audio stream available, such as the media player subsystem 625. The audio stream, under control of song ID app 210, is then operated upon by music detection module 212, to determine the presence of music, and preferably the beginning of a song. Song ID app 210 then sends a snippet 213 of that audio stream to the acoustic fingerprinting service provider 300. Acoustic fingerprinting service provider 300 returns the name of the song 214, optionally with other metadata. And song ID app 300 records the name of the song 214 and other metadata into its local storage for listing and presentation to the user.
There may be multiple ways in which the song ID app 210 may be configured to tap into the audio stream of a cell phone, illustrated as 211, the particular methodology being determined by the hardware design of that cell phone, or by the particulars of the resident operating system and its audio subsystem. Presently, each major vendor of smart phone operating systems makes available a Software Development Kit (SDK) which enables independent software and application developers to create apps that access the native low-level software and hardware of the system. The process is different for each such vendor, although the end results in terms of a finished app are approximately the same. Further, the vendors and designers of smart phones are enabled themselves to implement the capabilities identified herein, rather than just third party and independent developers. Therefore the implementation as herein described should be considered illustrative in that any of a variety of arrangements may be comparable and suitable.
FIG. 10 is a flowchart detailing the process by which a song ID app 210 detects a song, passes that information to an acoustic fingerprinting service provider 300, and retrieves the song metadata from that service provider. When a music app 520 (not shown in FIG. 10) begins delivering an audio stream, and the media player subsystem is active, the song ID app 210 is configured to receive a copy of the audio stream 503. It then begins the continuous process of attempting to detect the beginning of a song 504. When it detects the possible beginning of a song it sends a snippet of that song 505 to the acoustic fingerprinting service provider 300 located on the Internet. Optionally, the song ID app can send a continuous stream of the newly detected song to the acoustic fingerprinting service provider, until receiving an appropriate message from that service provider, which may be the message providing the metadata for the a new song.
The acoustic fingerprinting service provider 300 then creates a fingerprint of that snippet 507, searches their database for matching print 508, extracts the metadata for a song with the matching fingerprint 509, and returns that metadata to the requester 510. The song ID app 210, as the requester, receives the song metadata at 506 from the acoustic fingerprinting service provider 300. It then, at the step “new song?” 511, compares the newly received song metadata with the previously received song metadata, if any, to determine if, in fact, there is a new song playing. If there is a new song, the song ID app records the metadata elements for the new song into its listing 512. If the acoustic fingerprinting service provider fails to detect a match, it optionally will send a failure message to the requester. If the song ID app 210 receives such a failure message, or if it determines that the song was in fact not a new song, it returns to the process of detecting the beginning of a song at 504. When the beginning of the next song is detected, then the process repeats of obtaining the metadata from the acoustic fingerprinting service provider and delivering that metadata to the radio receiver system.
Smart Phone Listens to Ambient Audio Embodiments
The following embodiments as illustrated in FIG. 11 and FIG. 12 enable the attainment of music artist and title information, as well as other available information related to the currently playing song, for ambient music audible to a smart phone from any of a variety of sources such as radio receivers, televisions, or background music in stores and offices, independently of whether or not that information is transmitted by the broadcaster. These embodiments have both methods and systems to achieve this purpose.
FIG. 11 is a schematic illustration of an embodiment in which a song ID app 210 is provisioned to listen to ambient audio, illustrated as originating from a portable radio 700, via the smart phone's microphone 622. Operationally, this embodiment is the same as that described for FIGS. 6-10 except that in this embodiment, the song ID app 210 is configured to attach itself by a software mechanism into a system resource which can make the audio stream from the microphone available, such as the audio input subsystem 620 FIG. 8.
Song ID app 210 accesses the audio stream from the microphone 622 and analyzes that stream to detect the presence of music and the beginning of a song using music detection schemes as previously described. The process is the same as that described for FIG. 10, except that in this embodiment, element 503 for receiving the audio stream originates from the smart phone microphone 622. Then, continuing with FIG. 10 as detailed above, when the presence of a new song is potentially detected, such as by a change of the beat or tempo or pitch or key, the song ID app selects a snippet of the audio stream, comprising a portion of that audio stream, and sends it to the acoustic fingerprinting service provider for identification, optionally associated with or preceded by a message to the acoustic fingerprinting service provider announcing the beginning of a new song, and optionally providing user ID information. Optionally, the song ID app may send a continuous stream of the newly detected song to the acoustic fingerprinting service provider until notified by that service provider directly or indirectly to terminate the transmission of that stream, such as by a reply message delivering the artist and title information.
FIG. 12 is a schematic illustration of the embodiment as described in FIG. 11, with the difference that the wireless transmission access method between the smart phone and the Internet is via the cell phone service provider's cellular technology 230, rather than Wi-Fi (item 240 FIG. 11). In this arrangement the smart phone connects by conventional cell phone wireless transmission 230 to a cell phone tower 400. In the current common cell phone wireless network design, a cell phone tower connects via a network gateway system provided by the wireless service provider (not shown), which connects the wireless service provider's network 410 to the worldwide Internet backbone system 450.
Radio Station Auditing Embodiments
FIG. 13 is a schematic drawing illustrating an embodiment that is an improved method and system for auditing radio stations and other broadcasters such as television stations, television networks, and cable television networks. In this embodiment, a “desktop” or PC auditing application 840 running in a PC or server 830 at the broadcast station 800 (or other convenient location) receives the station's audio output that will be transmitted over the air. For most stations, the audio for songs and commercials is stored in digital format in a broadcast automation system 810, which plays out that audio content 811 according to a schedule or under the direction of a DJ. The audio from the automation system 810 typically is routed to an “audio chain” 820 that enhances the audio and delivers it 821 to the radio transmission system 890. In this embodiment, an audio output with the identical content as 821 is delivered 822 to PC 830.
In one mode of operation of this embodiment, application 840 digitizes audio stream 822 if it is not already in an appropriate digital format, and transmits a continuous stream of the digitized audio via broadband connection 440, through the Internet 450 to an acoustic fingerprinting service provider 300. The acoustic fingerprinting service provider 300 maintains a fingerprinting database 310 of songs, commercials, and any other content of interest.
The acoustic fingerprinting service provider 300 has DSP-based software to analyze the incoming audio stream 822 from a radio station 800 to detect changes in the nature of the audio content, such as detecting the beginning of a song, detecting a change from one song to another, or from a song to DJ chatter, from DJ chatter to a commercial, or from one commercial to another, and thus parsing the audio content into identifiable segments of audio content elements. A fingerprint is created for each such segment, and is compared against fingerprints of audio content stored in the fingerprint song database 310. When a fingerprint thus created matches a fingerprint in the database 310, a record is made in an accounting system (not shown) of the name or ID of the song, commercial, or other content. Reports are produced from analysis of the accounting system regarding the names, frequencies, times-of-day, etc. that the various contents of interest are played. The accounting system may be incorporated into the fingerprint song database system 310.
In an optional mode of operation of this embodiment, software in the PC application 840, running in PC 830 and receiving the audio input 822 has DSP-based software to analyze the incoming audio stream 822 and detect changes in the nature of the audio content, such as detecting the beginning of a song, detecting the change from one song to another, from a song to DJ chatter, from DJ chatter to a commercial, or from one commercial to another. As such audio content segments are detected, DSP-based software of application 840 creates a fingerprint of identifiable segments of the audio content. Fingerprints are then transmitted by application 840 via broadband connection 440, through the Internet 450 to acoustic fingerprinting service provider 300. Acoustic fingerprinting service provider 300 receives the fingerprints and looks them up in fingerprint song database 310 for a match. As matches are found the acoustic fingerprinting service provider records that information in an accounting system for the creation of reports, as stated above.
Optionally, auditing application 840 may be resident within the broadcast automation system computer 810, or may be a software module of the broadcast automation system.
Optionally, the broadcaster may be a television station, TV network, or cable TV network. For these embodiments, automation system 810 may be any equivalent system suitable to television broadcasts, audio 811 may be video with accompanying audio, audio chain 820 may represent the video output chain, and audio output 822 may encompass combined audio and video. In these embodiments, auditing application 840 may incorporate software to access the audio content of a combined audio/video stream to perform the functions described.
Optionally, the broadcast automation system may 810 may provide a metadata output 812 to audit PC 830 and auditing application 840, comprising the names or IDs or related information of songs, commercials, and other audio content of interest as it is broadcast. Auditing application 840 may then incorporate that metadata with the audio stream or fingerprints that it provides to acoustic fingerprinting service provider 300. As a further option, broadcast automation system 810 may transmit the metadata output directly to the acoustic fingerprinting service provider 300 via the Internet 450.
FIG. 14 is a flow chart illustrating one embodiment of an auditing system herein described. Auditing application 840 receives an audio stream 841. Music detection software detects the beginning of a song 842. When a song is detected, auditing application 840 sends a snippet of the song to the acoustic fingerprinting service provider 300 at step 843. Acoustic fingerprinting service provider 300 receives the song snippet and creates a fingerprint of the snippet at step 844, then searches the fingerprint song database at 845 for a matching print. If a match is found, the metadata for the song associated with the fingerprint is extracted 846, and information associated with the station and that song is recorded in an accounting system for reporting 847. Acoustic fingerprinting service provider 300 then acknowledges completion of the transaction 848, to the auditing application, optionally indicating success or failure. Auditing application then returns to the step of detecting a new song 842. It should be understood in the above that the process or step of detecting a new song may encompass detecting any change in the audio stream that might indicate a transition to another audio segment, such as a song to a commercial, and thus in this scenario, a snippet of the commercial would be sent to the acoustic fingerprinting service provider for analysis.
In that there now are several embodiments that have been described which may independently transmit audio information to an acoustic fingerprinting service provider, such independent audio or fingerprint sources may be used as a double check against the audio content or acoustic fingerprints provided directly by the station to the acoustic fingerprinting service provider.
Of significant benefit, the physical plant associated with the prior art arrangements for providing radio station auditing is eliminated; specifically, the embodiment just described replaces the requirement to have a physical radio receiver and associated computer in a physical location geographically within radio reception range of the radio station in order to audit or monitor the content of a radio station.
Radio Station Syndicated Content Embodiments
FIG. 15 is a schematic illustration of an embodiment to obtain artist and title metadata for radio stations broadcasting syndicated content.
There are circumstances in which the radio station and its systems do not possess the artist and title of songs being played. In one circumstance, songs are being played from CD, in which case, even though the name of the song may exist on the CD, the software and systems at the station do not have a mechanism to obtain that information, nor, if it were available, a mechanism to transmit that information on the terrestrial broadcast or on the simulcast. In another circumstance, the station is broadcasting syndicated content which is typically received via satellite from a remote feed; the remote feed most commonly does not have associated digital metadata to convey the artist and title of the current song, but even if it does, many stations receiving such a feed do not have the necessary equipment to receive the metadata feed and connect that metadata into the terrestrial broadcast or simulcast to make the metadata available to either radio receivers or to simulcast Internet listeners. In another circumstance, due to limitations of many commercially available broadcast automation systems, or due to the management of those systems by the radio station, the Artist and Title information frequently is mangled. Sometimes there are notes in those fields intended for use by the station's DJs or Program Directors. Sometimes the fields are too short to store the correct names, and so the information may abbreviated or truncated. There are many variations, but for a wide spectrum of situations, the Artist and Title information is unsuitable for presentation to the audience, whether by an RDS system for transmission of the metadata on the terrestrial broadcast, or via an encoder system to transmit the metadata in association with their Internet simulcast. As a result, radio receivers cannot present artist and title even if equipped to do so, and Internet media players similarly cannot present artist and title information for the songs that are played.
In this embodiment, a “desktop” or PC or server syndication application 850 is running in PC 830 at the radio station 800 (or other convenient location). The radio station 800 has a broadcast automation system 810 which maintains a repository of songs and commercials, and maintains the broadcast schedule. Typically a broadcast automation system plays songs and commercials from digital files stored on hard disk, in the process, converting the digital files into analog audio. That audio is output 811 to the station's audio chain 820 which provides desired enhancements. At stations providing RDS for transmitting artist and title and other information on the over-the-air broadcast, the audio chain 820 delivers the enhanced audio 822 to an RDS encoder 823. Automation system 810 provides digital output 824 on a serial or TCP connection wherein the digital output 824 contains the artist and title or other information the station would like to have appear on radio receivers. RDS encoder 823 impresses the digital data 824 onto a subcarrier which is merged with audio 822, resulting in transmit signal 825, ready for amplification for delivery to the antenna. This process would be similar for HD stations.
A radio station simulcasting on the Internet will have encoding software 870 running on a suitable computer such as PC 830, although this software could also run on the broadcast automation system 810. PC 830 receives the enhanced audio 822 from the audio chain, typically through the line-in input jack. The encoding software 870 attaches itself to the audio input, and encodes the audio into a digital format such as wma or mp3, suitable for media players on the Internet. The broadcast automation system 810 is the audio source 811 from which audio 822 is derived. Broadcast automation system 810 also delivers digital metadata via connection 812 to PC 830, typically via a TCP Ethernet connection. Metadata on connection 812 includes the artist and title of the currently playing song, and this metadata is delivered to encoding software 870 on PC 830. Encoding software 870 merges the artist and title metadata received on connection 812 with audio 822 into a composite digital output in a format such as wma or mp3. The encoded signal is output from PC 830 via broadband connection 440 to the Internet, and then via the Internet to each media player 860 connected to the simulcast stream of the radio station. The media player 860 decodes the composite digital wma or mp3 data stream into the audio and the metadata. The audio is converted into analog format and output through the media player's speakers or headphones, and the artist and title metadata is displayed on the media player's visual interface as the song is playing.
For a station broadcasting syndicated content, the broadcast automation system 810 receives a remote feed via satellite receiver 880 and its associated decoder system (not shown), which collectively provide the syndicated audio content to broadcast automation system 810. However, in the circumstances described for this embodiment, satellite receiver system 880 does not provide artist and title metadata in association with the syndicated audio, or, if it does, the systems at the radio station are not able to utilize that data. As a result, automation system 810 cannot provide digital metadata on connection 812 to encoding software 870, nor can it provide the digital RDS data 824 to the RDS encoder. Therefore, the radio station cannot provide artist and title metadata for either its terrestrial broadcast or its Internet simulcast.
In this embodiment, syndication application 850 in PC 830 is configured to receive a copy of the audio 822 from the line-in port. Software in the syndication application 850 detects changes in the nature of the audio content, such as from one song to another, from a song to DJ chatter, from DJ chatter to a commercial, or from one commercial to another to identify audio segments representing unique audio elements. In an optimized mode of operation, associated acoustic fingerprinting software of syndication application 850 fingerprints each identifiable segment of audio content. Fingerprints are transmitted via broadband connection 440 to the Internet and then to an acoustic fingerprinting service provider 300 that has a fingerprinting database of songs 310. The acoustic fingerprinting service provider looks up the fingerprint in its database 310 and obtains the artist and title of the song. The acoustic fingerprinting service provider 310 then sends the song metadata back to the syndication application 850 at the radio station 800 via the Internet.
In one arrangement of this embodiment, the syndication application 850 delivers that metadata to RDS encoder 824 for inclusion in the terrestrial broadcast.
In another arrangement, the syndication application 850 delivers that metadata to the encoder software 870. Encoder software 870 is then enabled to merge the artist and title information, derived from Internet resource 300, with audio 822 into a composite digital output in a format such as wma or mp3. Media players 860 then will receive the artist and title information for songs as they play, and are able to display that information for the benefit of the listener.
In another mode of operation of this embodiment, the acoustic fingerprinting service provider 300, directly or indirectly provides this metadata to Internet media players 860 of the radio station's content. In this embodiment, the media players 860, which typically are web page applications, separately connect to the acoustic fingerprinting service provider 300, or its delegate, and receive the metadata separately from the digital audio stream from encoding software 870. This metadata may optionally be provided in a proprietary format such that only the artist and title of the current song is displayed and requiring listeners to click through to a website of the acoustic fingerprinting service provider 300, or an associated entity, to obtain similar information for previously played songs.
FIG. 16 is a flow chart for an embodiment to obtain artist and title metadata for radio stations broadcasting syndicated content from the perspective of syndication application 850. Syndication application 850 receives the audio stream 880, and detects the beginning of a song using DSP techniques 881, creates a fingerprint of the song 882, and sends the fingerprint to an acoustic fingerprinting service provider 883.
Optionally, the syndication application 850 may delay by longer than the duration of typical commercials before sending a fingerprint of a newly detected song to the acoustic fingerprinting service provider to avoid the lookup of songs that serve as background music to ads. If the fingerprint changes during the delay period, or if a new song is detected during the delay period, then the song that had been detected may have been a musical background to a commercial, and so is skipped by the syndication application 850.
Acoustic fingerprinting service provider receives the fingerprint 887, searches its fingerprint song database for a matching fingerprint 888, extracts the metadata for a song with a matching fingerprint 889, and sends the metadata that had been extracted back to the syndication application 890.
Syndication application 850 receives the metadata 884 from the service provider. In one mode of operation, syndication application 850 sends the metadata to an RDS encoder 885, or an equivalent encoder for HD Radio or similar digital transmission technique, and in another mode of operation, syndication application 850 sends the metadata 886 to the encoding software, and in a third mode of operation, syndication application 850 sends the metadata to an RDS encoder 885 and to the encoding software 886.
Optionally, the syndication application writes the metadata to a log file for subsequent reporting purposes, such as for payment of digital rights and copyright fees.
Optionally, instead of creating a fingerprint, the syndication application may detect the beginning of a song, and send a snippet of that song to the acoustic fingerprinting service provider for analysis, whereupon the service provider will create a fingerprint of the snippet.
Optionally, instead of detecting the beginning of a song and creating a fingerprint, the syndication application may send a continuous stream of audio to the acoustic fingerprinting service provider, wherein the service provider will determine the beginning of songs and create fingerprints.
Optionally, the syndication application may incorporate or have access to a local fingerprint song database. In this embodiment the syndication application detects the beginning of a song and creates a fingerprint, then looks up the fingerprint for a match in the local database.
Radio Stations Provide a Feed to an Acoustic Fingerprinting System
In another embodiment the operation of an acoustic fingerprinting service provider is enhanced by the provision of a continuous audio or metadata feed from a radio station such that the feed is identified as originating from the radio station. The feed can be continuous audio, metadata at the start of each song, audio snippets for songs not having metadata, or some combination of audio and metadata. This feed announces the name of the station, optionally the location of the station, the start of play of each song (which might be implicit by simply sending the message), the artist and title of the song as known to the radio station, and the duration or end time of each song. Since a large percentage of listening is to broadcast radio, a similar large percentage of requests for song identification are for songs being played by radio stations.
A fingerprinting song database will contain entries on millions of songs. Database searches for a user can consume considerable resources if a search must examine the entire database. However, those searches are narrowed substantially by this embodiment. There are a relatively small number of broadcast radio stations in any listening area, typically being no more than twenty-five music stations. If the fingerprinting service provider knows the exact songs played by all the radio stations in a given listening area, then there are only 25 songs to analyze against in order to recognize a large percentage of user requests. Only songs that are not being played by one of the stations in a listening area are subject to more extensive analysis.
In the current state of the art, fingerprinting service providers provide downloadable mobile device apps which their users use to identify a song that they hear. The apps use GPS or similar geo-location arrangements to determine the location of the user when they make a request. In general there is no practical way to determine which songs are being played by radio stations in a user's area. Therefore, the best that can be done to minimize computational expense and analysis time is to keep a short term record (a cache, herein, a “recent song cache”) of a song that has been recognized in case another user in the same geographic area requests identification of the same song while it is still being played. For example, if one user is determined to be listening to the song “Blue Moon”, and by mathematical analysis and comparison with the fingerprint database for that song it further determines that the listener is 47 seconds into the song, and the duration of the song is known, then the length of time that “Blue Moon” should continue to play can be calculated. “Blue Moon” then goes onto a short list for comparison against other user requests during the remaining time that “Blue Moon” might be playing. Every recognition request first compares the audio sample from the user to the songs referenced in the recent song cache. If a match is not found in the recent song cache, then the full database will be examined. The information in such a cache is a pointer to the record in the database which holds the analysis data for a song, along with the artist and title or other identifiers of that song. Additionally, the recent song cache incorporates a reference to the listening area of the user, typically a metropolitan area designation, or alternatively there is a separate recent song cache for each listening area of interest.
In this example, the playing of “Blue Moon” cannot be related to any particular radio station, or even to any radio station at all (it might be background music played simultaneously in a chain of stores and the users seeking song recognition might be in different stores in the same community), and there is no viable strategy to minimize computational cost and time other than to create a short list of songs that might be being listened to by more than one listener in a given area, as just described.
This embodiment provides even greater efficiencies for the fingerprinting service provider because it is not necessary to analyze each play of every song from a radio station. Once a song has been analyzed (to determine, for example, which of the several versions of a song that station is playing, and to determine the correct artist and title information for the song and the exact duration), and has been associated with the identifier used by a particular radio station (which might be a truncated or misspelled artist and title, and thus different from the identifier used by another station for the same song), then the service provider doesn't even need a snippet of the audio, it only needs to receive a “Now Playing” message from the radio station along with the name of the song.
The fingerprinting service provider maintains a separate cache, a “radio station cache” (or “broadcaster cache”), to maintain a list of currently playing songs by radio stations. Additionally, the radio station cache incorporates a reference to the listening area of the radio station, typically a metropolitan area designation, or alternatively there is a separate radio station cache for each listening area of interest.
The Now Playing information is used to continuously update the radio station cache as songs start and end. As previously stated, new user requests for recognition are first compared against songs listed in the radio station cache.
Radio stations typically play about 250-300 unique songs per month, with a few new songs being rotated in to replace a few old songs every month, and they play the same songs over and over again. The 250-300 unique songs played per month are collectively played about 7,500 times per month (average of 12 songs per hour). Because of the repetitive nature of music broadcasting, the fingerprinting service provider can build a playlist of every radio station (a “radio station playlist”, or a “broadcaster playlist”). For the few times a month that a radio station plays a new song not already on the playlist, the service provider can send a request to the system at the radio station to send the audio stream (or a snippet of it) for analysis, or the encoding system can automatically send the audio stream without requiring a request. Since radio stations commonly play different versions of a song than what is sold to consumers (a radio mix), and since each radio station might customize their audio output sound characteristics according to the preferences of the station's Program Director, it will be useful for the fingerprinting service to capture and analyze a full copy of any new song played by a radio station as it will easier to calculate a match.
That process just described of handling a new song will happen a few times per month, compared to the 7,500 times a song is played. This means that the fingerprinting service provider is not required to computationally analyze more than 99% of the songs played by radio stations (not including songs played by syndication). Allow that approximately 20% of songs played are played through syndication. Now, considering that there are about 8,000 music stations in the U.S., and each plays about 6,000 songs per month (7,500 songs per month minus 20% for syndication), the total number of song plays per month is 48,000,000. This embodiment will reduce the potential stress on an analysis system from that load by 99%, reducing the load by approximately 47,500,000, from 48,000,000 to 500,000 computationally intense queries.
FIG. 15 can be viewed as a schematic illustration of this embodiment wherein a radio station provides a feed to an acoustic fingerprinting system or service provider.
In this embodiment, a “desktop” or PC or server application 850 is running in PC 830 at the radio station 800. The radio station 800 has a broadcast automation system 810 which maintains a repository of songs and commercials, and maintains the broadcast schedule. Typically a broadcast automation system plays songs and commercials from digital files stored on hard disk, in the process, converting the digital files into analog audio. That audio is output 811 to the station's audio chain 820 which provides desired enhancements. At stations providing RDS for transmitting artist and title and other information on the over-the-air broadcast, the audio chain 820 delivers the enhanced audio 822 to an RDS encoder 823. Automation system 810 provides digital output 824 on a serial or TCP connection wherein the digital output 824 contains the artist and title or other information the station would like to have appear on radio receivers. RDS encoder 823 impresses the digital data 824 onto a subcarrier which is merged with audio 822, resulting in transmit signal 825, ready for amplification for delivery to the antenna. This process would be similar for HD stations.
A radio station simulcasting on the Internet will have encoding software 870 running on a suitable computer such as PC 830, although this software could also run on the broadcast automation system 810. The encoding software 870 presents a suitable location to run or incorporate the interface software for communicating with the fingerprinting service provider, and so, for illustrative purposes, this document may alternatively refer to that interface software as the encoding software, or encoding suite. The encoding software incorporates all the capabilities necessary to perform the functions of this embodiment.
PC 830 receives the enhanced audio 822 from the audio chain, typically through the line-in audio input jack. The encoding software 870 attaches itself to the audio input of PC 830, and encodes the audio into a digital format such as wma or mp3, suitable for media players on the Internet. The broadcast automation system 810 is the audio source 811 from which audio 822 is derived. Broadcast automation system 810 also delivers digital metadata via connection 812 to PC 830, typically via a TCP Ethernet connection. Metadata on connection 812 includes the artist and title of the currently playing song, the duration or end time of the song, and may include the name or ID of the radio station and the name of a syndicator currently being played, and this metadata is delivered to encoding software 870 on PC 830. This metadata may be provided as a “Coming Event” in advance of the start of the song, but it always is delivered instantaneously on the “Now Playing” event. The metadata is sent to the fingerprinting service provider by the encoding software 870 immediately on the start of a song. If requested by the fingerprinting service provider, the encoding software will provide a snippet up to the entirety of the audio of the song.
The encoding suite may modify or augment the metadata received from the automation system to provide the desired information to the fingerprint service provider in the proper format. While not limited to the following, it may add a radio station ID and other radio station information; it may explicitly add the start time in case the start time is implicit in the “Now Playing” event notification but not actually delivered as text; it may add syndication information; and it may encrypt the communication to prevent sniffing and spoofing.
In addition to terrestrial radio broadcasters there are other broadcasters including Internet-only custom broadcasters (“custom other broadcasters”) such as Pandora and Spotify that transmit music customize to each listener, and there are non-terrestrial radio broadcasters that transmit in traditional broadcaster style (“traditional other broadcasters”) wherein the same musical content is delivered to all their listeners. This latter category of “traditional other broadcasters” includes entities such as the Internet-only AccuRadio and AOL Radio, and the satellite and Internet broadcaster Sirius/XM. This embodiment also applies to traditional other broadcasters with appropriate minor variations to accommodate the physical equipment arrangement at each.
Referring to FIG. 17, user requests from a fingerprinting service to identify a song are processed as follows, understanding that these broad steps may actually encompass numerous minor steps or variations in a complicated production system.
At step 900 the acoustic analysis (i.e., fingerprinting) service provider receives the currently playing song information from radio stations in a listening area; this is achieved by the encoding software at the radio station which receives, from the systems at the radio station, an audio input, and a metadata input which identifies events in the audio input (e.g. the playing of a song). The encoding software has connectivity to the fingerprinting service provider, preferably via the Internet, and preferably on a continuous basis during the operating hours of the radio station. The software application sends an identifier of the radio station to the fingerprinting service provider, typically on session establishment or on the sending of event information; the fingerprinting service provider is thus enabled to know the identity of each cooperating radio station and to know the songs played by each. The identifier of the radio station can include geo-location information for the station, as well as other information such as the station call letters, transmit frequency, and URL of the station's website. The communication between the radio station and fingerprinting service provider may be encoded or encrypted to prevent sniffing or spoofing of the information.
At step 901 the fingerprinting service provider stores the identifiers that have been received from radio stations for the currently playing songs into a radio station cache; the identifiers would typically be the artist and title of the songs, but might be some other id such as an ISBN or ASIN.
As the songs currently being played change, the fingerprinting service provider at step 902 updates the song information in the cache as stations play new songs (as per step 900) or the duration of a song is exceeded indicating that the song is no longer playing, or an indicator is received informing the service provider that a song is no longer playing.
The fingerprinting service provider at step 903 receives a user request for song identification from a user in that same listening area; the user request is accompanied by geo-location information of the user, and that is mapped to the listening area of the radio stations identified in step 900 such that the radio stations listenable by the user are determined.
At step 904 the audio submitted by the user for identification is analyzed to create a fingerprint or other suitable descriptor which can then be used for comparison against the digital identifiers of songs in the fingerprint database.
At step 905 the fingerprint service provider compares the fingerprint of user submitted audio against the database for songs listed in the radio station cache for the listening area of the user; the radio station cache contains pointers to the database entries for the songs currently being played by those radio stations. In a typical user listening area there will only be about 25 entries in this cache. The cache is just a cross reference listing of the entries in the fingerprinting database holding the mathematical representation of the songs, and so in this comparison process the analysis system compares the fingerprint against each of the 25 entries in the database until a match is found.
If a match is found at step 906 then the metadata for that song (primarily the artist and title of the song) is retrieved from the database at step 907 and delivered to the user at step 908. The metadata optionally includes information about the radio station, particularly including the station's call letters, transmit frequency, and website URL. Thus the user may learn not only information about the song, but about the source of the song, and is enabled then to listen to the source (with a radio or on the Internet) to hear the same or similar content.
The metadata or a subset optionally is delivered to the encoding suite. Thus, if the artist and title information initially provided by the station to the fingerprinting service provider had been improved by the fingerprinting service provider, the encoding suite now has the preferred information. The encoding suite can then provide the updated artist and title to Internet listeners, can provide the updated artist and title to broadcast radio receiver listeners by providing the updated metadata to transmit encoders (RDS, HD) or by providing the information to the broadcast automation system for provision to transmit encoders. The updated metadata can be maintained by the encoding suite and cross referenced to the original artist and title, enabling the encoding suite to lookup the correct version of artist and title and deliver that to Internet and radio listeners immediately as the song begins to play.
But, if no match is found at step 906 then at step 909 the user's audio sample is compared against other caches, if any, particularly a recent song cache.
If a match is found at step 910 then the metadata for that song (primarily the artist and title of the song) is retrieved from the database at step 907 and delivered to the user at step 908.
If there is no match prior to step 911, then at step 911 the fingerprint is compared against the entire song database.
If there is a match at step 912 then the metadata for that song (primarily the artist and title of the song) is retrieved from the database at step 907 and delivered to the user at step 908.
If there is no match at step 912, then send a failure message to the user.
In circumstances where a radio station is broadcasting syndicated content, as described elsewhere in this document, the radio station automation system may not receive the artist and title of songs (and commonly do not) from the syndicator as the songs play. In this circumstance, the broadcast automation system metadata output is essentially silent. Therefore, the fingerprinting service provider would not be able to operate according to this embodiment, but instead must essentially operate according to the Radio Station Syndicated Content Embodiments, also described in this document. In that embodiment the fingerprinting provider receives an audio sample to analyze in order to identify the song, and, would benefit from a continuous feed in order to determine when each song starts.
As enhanced in this current embodiment, The fingerprinting service provider is aided in this situation by being provided with an indication that the station is playing syndicated content, or by being provided a syndication schedule for the station so the service provider knows when to require audio samples and when that is not necessary. The syndication schedule can be provided to the fingerprinting service provider directly by the station or by an intermediary on their behalf. The encoding software or the fingerprinting service provider or both are provided, directly or indirectly, with a syndication schedule to enable operation in the syndication mode at the proper time. The syndication notification may be a dynamic message sent from the encoding software to the fingerprinting service provider. Many stations use a half-dozen syndicators at various times during the week. The syndication schedule provided to the encoding software or to the fingerprinting service provider optionally may include the name of the syndicators on the schedule.
In a fashion similar to radio stations, syndicators play from a limited playlist that evolves slowly over time. The fingerprinting service provider initially analyzes songs played by a station during syndication for accurate identification, in the process creating a syndication playlist for that station. Subsequently, as songs are played the recognition process is executed first against the station's syndication playlist. Thus, most of the time a song will be recognized with only a few seconds of audio by comparison with the songs listed in the radio station's syndication playlist. When playing songs are identified they are entered into the radio station cache.
Then when a user requests a song to be identified, the fingerprinting service provider only needs to examine the 25 songs in the radio station cache in order to identify the large percentage of identification requests that are for songs broadcast by radio stations.
This process is further aided by the provision of the name of the syndicator with the syndication schedule. The fingerprinting service provider then can create a separate playlist for each syndicator, and thus recognition lookups during the time a particular syndicator is playing can first examine the playlist for that particular syndicator which will comprise a relatively small number of songs.
Summary: With the above embodiments widely implemented, an acoustic fingerprinting service provider will essentially know all the songs playing at any given time at all the radio stations in every major listening area. By identifying the geo-location of a user of the fingerprinting service who is seeking the identification of a song, that user can be mapped to a listening area. Since the fingerprinting service knows all the songs being played by radio stations in the user's listening area, the song identification process can be streamlined by first searching for a match of the songs currently being played by those radio stations.
Optional Embodiments
In an alternate mode of operation common to various embodiments disclosed herein, the listing of songs is provided to and maintained in a remote “cloud” account such as a Facebook account. The provisioning of the listing of songs to a cloud service may be performed by the app 210 or 170 or by the acoustic fingerprinting service provider 300.
Optionally, in embodiments wherein an embedded app communicates directly with an acoustic fingerprinting service provider, a registration process is used to associate the embedded app with an account, such as a business partner, or the user's smart phone app account. In this fashion the acoustic fingerprinting service provider is enabled to enforce access privileges via smart phone user accounts, or via business arrangements with radio receiver manufacturers, or via business arrangements with smartphone device manufacturers, or other arrangements that may arise. Similar processes are used today by network content providers such as Netflix and HuLu; these processes associate a particular hardware device with a user account established at the network portal of the content service provider, ensuring that content is only consumed by hardware devices possessed by the registered customer, or manufactured or sold by an authorized business partner.
Optionally, for convenience, the song ID app will search the user's repository of songs on the smart phone, and for those songs already in possession of the user, indicate that fact.
Optionally, rather than requiring the app to identify the beginnings of songs, the app sends the continuous audio stream to the service provider, and service provider performs the detection of the beginnings of songs in essentially the same fashion as described previously. In this mode of operation the service provider may have access to more sophisticated software and substantially greater computing power than what might be available in the smart phone, and so even though the uplink data transmission requirements would be higher because each smart phone would be sending a continuous stream of audio to the service provider, the service provider may benefit by being more capable to analyze the audio stream to determine when a new song is playing, as well as being able to detect and identify non-musical audio content such as spoken commercials and commercials of short duration.
Optionally, the song app may run in the background or in a minimized mode, absent a visual user interface, minimizing battery usage and enabling the use of other features of the smart phone while it is listening to a radio or to ambient sounds and collecting song information in the background. In this embodiment, the app does not show the song listings until the user activates the app to launch its GUI.
Optionally, the additional data beyond the song's artist and title may be provided by another data vendor, either accessed by the acoustic fingerprinting service provider, or by the song ID app, by the smart phone vendor, or some combination of these or other resources.
Optionally, the smart phone song ID app may delay by longer than the duration of typical commercials before sending a snippet of a newly detected song to the acoustic fingerprinting service provider to avoid the lookup of songs that serve as background music to ads.
Optionally when the song ID app 210 or embedded song ID app 170 potentially detects a song it may initiate communications to the acoustic fingerprinting service provider 300 with a message announcing the beginning of a new song, and as a further option, passing credentials to the acoustic fingerprinting service provider 300.
Optionally, the song ID app 210 may send a continuous stream of a newly detected song to the acoustic fingerprinting service provider 300 until notified by that service provider directly or indirectly to terminate the transmission of that stream. Notification to terminate the transmission may be by the provision of a response containing the name of the song.
Optionally, while some embodiments make specific reference to Bluetooth for communication between the radio receiver system and the smart phone, other wireless technologies for communicating between two devices may be equally suitable, Wi-Fi in particular.
Optionally, the radio receiver embodiments can perform the radio station auditing function as identified in the Description of Prior Art, if deployed to a suitably large number of client devices such that at least one client device is listening to each radio station at any given time. Thus the requirement for the installation and maintenance of thousands of dedicated radio receivers and computers in hundreds of locations can be substantially reduced or eliminated, particularly in more heavily populated listening areas.
Optionally, for embodiments utilizing a lookup of a segment of audio to discover a song title, the acoustic fingerprinting database may be incorporated into the radio system, syndication system, smart phone or application itself, along with the capability to create a fingerprint for audio content to be analyzed, and to search the local database for a match to the fingerprint that has been created. In these embodiments, rather than sending a snippet or continuous stream of audio to an Internet-based acoustic fingerprinting service provider, the smart phone or application creates the fingerprint from the audio snippet or stream, looks up the fingerprint in the song fingerprint database, and retrieves the title of the song along with any other metadata that might be available. The song ID app may be configured to periodically query an Internet resource to obtain updates to the fingerprinting database. An embedded song ID app, such as has been disclosed in a radio receiver embodiment, may similarly incorporate the song fingerprinting database, fingerprint creation, and lookup capability. In this embodiment, the embedded song ID app may be configured to operate in cooperation with a user's smart phone, and may, by a wireless networking connection such as Bluetooth, update the song ID app in the user's smart phone with song metadata that is discovered.
Optionally, for embodiments utilizing a lookup of a segment of audio to discover a song title, the capability to create a fingerprint for audio content to be analyzed may be incorporated into the smart phone itself, while the song database is maintained by a service provider accessible on the Internet. In this embodiment, rather than sending a snippet or continuous stream of audio to an Internet-based acoustic fingerprinting service provider, the smart phone song ID app creates the fingerprint for audio content to be analyzed. That fingerprint is then forwarded via the Internet to the acoustic fingerprinting service provider, which will look up the fingerprint in the song fingerprint database, retrieve the title of the song along with any other metadata that might be available, and return that information to the song ID app. Similarly, an embedded song ID app, such as has been disclosed in a radio receiver embodiment, may incorporate the capability to create a fingerprint for audio content to be analyzed, to forward that fingerprint to an acoustic fingerprinting service provider, to request that acoustic fingerprinting database provider to look up the fingerprint in the provider's database, and to return the song title and other available information. In this embodiment, the embedded song ID app may be configured to operate in cooperation with a user's smart phone, and may, by a wireless networking connection such as Bluetooth, update the song ID app in the user's smart phone with song metadata that is discovered.
Optionally, for embodiments utilizing a lookup of a segment of audio to discover a song title, the capability to create a fingerprint for audio content to be analyzed may be incorporated into the smart phone itself, and further, the process of attempting to create a fingerprint of an audio stream may be used to detect the presence music and the beginning of a new song; and, the ability or inability to create a stable fingerprint may be used to indicate the presence or lack of presence of music in the audio. This is because the mathematical DSP processes used for feature extraction from an audio source that enable beat detection and the detection of music are essentially subsets of the process of creating a fingerprint of an audio source. Thus, the process of attempting to create a fingerprint will be unstable, meaning the fingerprint will change widely over short periods of time (e.g. seconds), if the audio being examined does not have musical characteristics (i.e., lacks tonality, harmonicity, etc., as referenced previously). Thus the two steps or processes or systems or modules of detecting the presence of music and the beginning of a new song, and the creation of a fingerprint, are combined into a single step or process or system or module.
Optionally, the acoustic fingerprinting service provide may function as a service of a Personal Computer software application such as iTunes or Windows Media Player, wherein the PC software application maintains a fingerprint song database, or has remote access to such a database. Song ID app 210 communicates wirelessly to this PC software application. In various modes of operation, song detection may be performed within song ID app 210, and a snippet or continuous stream of the audio is transmitted to the PC software application; song ID app 210 may create an acoustic fingerprint of an audio stream, and transmit that fingerprint to the PC software application. The PC software application looks up the fingerprint in its local song fingerprint database, or communications the fingerprint to a remote database for lookup. Upon determining a match for the fingerprint in the database, the song artist and title information is delivered wirelessly from the PC software application to song ID app 210.
Important benefits of the embodiments incorporating a user smart phone: since the app has received the identification of every song played on an associated radio or heard by the user either through the smart phone or aurally, the smart phone song ID app can keep a record of each of those songs as well as the station or source, the time played, and even the geographic location of the user at the time the song played. It is also of benefit that this applies even for those stations or sources that provide artist and title information, including satellite radio. This enables the song ID app provider and the acoustic fingerprinting service provider the opportunity to offer for sale every song heard by the listener, even from sources which also offer their songs for sale.
Beneficially, the smart phone app can store and present more information than that which may be available in some environments, if any is available at all, and the acoustic fingerprinting service provider or other sources may be configured to provide extensive information for a large number of songs. Thus the song ID app holds additional intrinsic value, not only in that it is a centralized collection of musical information, but that it may offer the user a vast library of information regarding every song the user has heard. The song ID app also has the advantage of interactivity such that when the user goes back to look at the listings of songs that have played, the app may offer to play a snippet of a song, show additional “song discovery” information about the artists, songs, similar artists and songs, etc. Having that listing, it can offer the user a Like button to aid the user in keeping a listing of favorite songs, it can present advertising which may be targeted to the songs or the genres associated with those songs, and it can offer the user the ability to purchase the songs or the albums. This interactive arrangement also offers rich social networking opportunities to promote the songs and the song ID app itself from one user to another, thus expanding the business opportunities for the vendors providing the song ID services.
Having thus described the invention in rather full detail, it will be understood that such detail need not be strictly adhered to, but that further changes and modifications may suggest themselves to one skilled in the art falling within the scope of the present invention as defined by the subjoined claims.

## Claims

1. A method of an acoustic fingerprinting system for the recognition of songs and other audio content played by a broadcaster, wherein the acoustic fingerprinting system receives representations of currently playing audio content elements, as well as an identifier of the broadcaster itself, via a connection established directly from a computer server at the broadcaster to the acoustic fingerprinting system via a data communications network such as the Internet, whereby the acoustic fingerprinting system, by comparing the representations using fingerprint identifying methods against identifying data in the acoustic fingerprinting system, can ascertain which song or other audio content element is playing, along with the identifying metadata of the audio content element, including the artist and title and other identifiers thereof, and thereby is enabled to provide its users with identification of audio content elements and the identity of the broadcaster that played them, comprising the steps of:
a. receiving a communication by an acoustic fingerprinting system directly from a computer server at a radio station via a network wherein the radio station identifies itself to the acoustic fingerprinting system;
b. receiving a communication by the acoustic fingerprinting system directly from the computer system at the radio station via the network, the communication conveying a representation of an audio content element currently playing on the radio station, the representation comprising at least one of the following:
i. an audio sample comprising a portion up to the entirety of the audio content element;
ii. an acoustic fingerprint of the audio content element;
iii. metadata describing the audio content element;

c. receiving a request by the acoustic fingerprinting system from a user client device via a second network connection for identification of an audio content element played by the broadcaster;
d. identifying the audio content element received from the user by the acoustic fingerprinting system by comparing with the received representation using fingerprint identifying methods against identifying data in the acoustic fingerprinting system; and,
e. sending identifying metadata by the acoustic fingerprinting system of the audio content element and optionally sending an identifier of the broadcaster that played it, to the requesting user via the second network connection;
whereby the acoustic fingerprinting system is enabled to provide its users with the artist and title of a song and the broadcaster that played it when a user of the system requests identification of a song.

2. A method as described in claim 1 further comprising sending identifying metadata of the audio content element by the acoustic fingerprinting system directly to a computer system at the broadcaster via the data communications network.

3. A method as described in claim 1 wherein the acoustic fingerprinting system keeps a record of audio content elements broadcast by the broadcaster, and provides an auditing service of songs or commercials, or both songs and commercials played by the broadcaster.

4. A method of an acoustic recognition system for the recognition of songs and other audio content played by a broadcaster, wherein the acoustic fingerprinting system receives representations of currently playing audio content elements, as well as an identifier of the broadcaster itself, via a connection established directly from a computer server at the broadcaster to the acoustic fingerprinting system via a data communications network such as the Internet, whereby the acoustic fingerprinting system, by comparing the representations using fingerprint identifying methods against identifying data in the acoustic fingerprinting system, can ascertain which song or other audio content element is playing, along with the identifying metadata of the audio content element, including the artist and title and other identifiers thereof, and thereby is enabled to provide its users with identification of audio content elements and the identity of the broadcaster that played them comprising the steps of:
a. receiving a communication by an acoustic fingerprinting system directly from a computer server at the broadcaster via a network wherein the broadcaster identifies itself to the acoustic recognition system;
b. determining the listening area of the broadcaster by the acoustic recognition system;
c. receiving a communication by the acoustic fingerprinting system directly from the computer system at the broadcaster via the network, the communication conveying a representation of an audio content element currently playing on the broadcaster, the representation comprising at least one of the following:
i. an audio sample comprising a portion up to the entirety of the audio content element;
ii. an acoustic fingerprint of the audio content element;
iii. metadata describing the audio content element;

d. inserting the received representation of the currently playing audio content element, and/or an identifier thereof, by the acoustic recognition system, into a broadcaster cache of the acoustic recognition system for the listening area of the broadcaster;
e. receiving a user client device request via a second network connection by the acoustic recognition system for recognition of audio content being played by the broadcaster, the user request accompanied with a representation of the audio content to be recognized, wherein the representation of user audio content comprises either or both of a sample comprising a portion up to the entirety of the audio content, or a fingerprint of the audio content;
f. determining the listening area of the user by the acoustic recognition system from location information provided with the user request;
g. comparing by the acoustic recognition system to find a match of the representation of user audio content with representations of currently playing audio content in the broadcaster cache of the acoustic recognition system for the same listening area as the listener;
h. comparing by the acoustic recognition system to find a match of the representation of user audio content with an audio content database if a match was not found in the step of comparing the representation of user audio content with representations of currently playing audio content in the broadcaster cache of the acoustic recognition system; and,
i. obtaining by the acoustic recognition system audio content identification from a matching record in the acoustic recognition system and sending that audio content identification via the second network connection to the user and optionally sending an identifier of the broadcaster that played the audio content if a match was found in the comparing steps.

5. A method as described in claim 4 wherein audio content identification from the audio content database is delivered directly to the broadcaster by the acoustic recognition system via the network connection if a match was found in the comparing steps.

6. A method as described in claim 4 wherein the acoustic recognition system determines the time at which the identified audio content will finish playing, and deletes the corresponding entry from the broadcaster cache at the determined time.

7. A method of the acoustic recognition system as described in claim 4 wherein the identity of identified audio content elements is accumulated by the acoustic recognition system into a broadcaster playlist for the identified broadcaster.

8. A method as described in claim 4 wherein the identity of identified audio content elements is accumulated by the acoustic recognition system into a record of audio content elements having been broadcast by the broadcaster, and wherein the acoustic recognition system performs an auditing service of either or both of songs or commercials played by the broadcaster.

9. A non-transitory machine-readable medium containing processor readable code for programming a processor for use in operating a system at an acoustic recognition system to identify the artist and title of songs played by a broadcaster, comprising:
a. a routine of the acoustic recognition system to receive identification of the broadcaster directly from a computer server at the broadcaster via a connection on a network;
b. a routine of the acoustic recognition system to determine the listening area of the broadcaster;
c. a routine of the acoustic recognition system to receive a representation of a currently playing audio content element directly from the computer server at the broadcaster via the connection on the network, comprising at least one of the following:
i. a routine to receive an audio sample comprising a portion up to the entirety of the audio content element;
ii. a routine to receive an acoustic fingerprint of the audio content element;
iii. a routine to receive metadata describing the audio content element;

d. a routine of the acoustic recognition system to insert the received representation of a currently playing audio content element, and/or an identifier thereof, into a broadcaster cache for the listening area of the broadcaster;
e. a routine of the acoustic recognition system to receive a user client device request via a second network connection for audio content recognition accompanied with a representation of the audio content to be recognized, wherein the representation of user audio content comprises either or both of a sample comprising a portion up to the entirety of the audio content, or a fingerprint of the audio content;
f. a routine of the acoustic recognition system to determine the listening area of the user from location information provided with the user client device request;
g. a routine of the acoustic recognition system to compare to find a match of the representation of user audio content with representations of currently playing audio content in the broadcaster cache of the acoustic recognition system for the same listening area as the listener;
h. a routine of the acoustic recognition system to compare to find a match of the representation of user audio content with an audio content database if a match was not found in representations of currently playing audio content in the broadcaster cache for the same listening area as the listener; and,
i. a routine of the acoustic recognition system to obtain audio content identification from a matching record in the acoustic recognition system if a match was found by the routines to compare, and to send that audio content identification via the second network connection to the user client device and to optionally send an identifier of the broadcaster that played the audio content.

10. The non-transitory machine-readable medium of claim 9 further comprising a routine of the acoustic recognition system to directly deliver audio content identification to the broadcaster via the network connection if the audio content has been identified.

11. The non-transitory machine-readable medium of claim 9 further comprising a routine of the acoustic recognition system to determine the time at which the identified audio content will finish playing, and to delete the corresponding entry from the broadcaster cache at the determined time.

12. The non-transitory machine-readable medium of claim 9 further comprising a routine of the acoustic recognition system which accumulates the identity of identified audio content elements having been broadcast by the broadcaster into a broadcaster playlist for the identified broadcaster.

13. The non-transitory machine-readable medium of claim 9 further comprising a routine of the acoustic recognition system which accumulates the identity of identified audio content elements into a record of audio content elements having been broadcast by the broadcaster, and which performs an auditing service of either or both of songs or commercials played by the broadcaster.