System and method for searching stored audio data based on a search pattern

A system for searching stored audio data is described. The system includes a memory configured to store audio data received from a radio receiver and a processing circuit. The processing circuit is configured to receive a search pattern, search the stored audio data for the search pattern, and provide audio data based on the search.

BACKGROUND OF THE DISCLOSURE

The present innovation relates generally to the field of audio entertainment systems for a vehicle. More specifically, the present innovation relates to a system and method for searching stored audio data based on a search pattern to retrieve audio data.

Vehicle radios are utilized as a source for news, entertainment, weather, and other audio data while a person is driving in a vehicle. The person can tune the vehicle radio to a desired radio band to listen for the type of content they desire. However, users are restricted to listening to the audio data that is currently being broadcast and cannot chose the content of the radio transmissions.

Users can chose customized audio data using an audio storage medium such as a compact disc or a cassette tape. However, these mediums are not continuously updated and cannot be used as a source for recent weather or news. Additionally, the content of these sources is fixed and generally cannot be updated to provide variety.

Existing systems can be used to record audio data for later retrieval while driving. An example can include recording audio data to a cassette tape and playing the cassette tape while driving. Another example can include a memory associated with the radio configured to store audio data received at the radio. However, the recorded audio data will record everything and will not allow the user to specifically select desired audio data.

What is needed is a system and method for searching audio data received over a broadcast channel and stored in memory based on a search pattern to retrieve desired audio data. What is further needed is such a system or method further configured to search for either preset search patterns or custom search patterns. The teachings herein below extend to those embodiments which fall within the scope of the appended claims, regardless of whether they accomplish one or more of the above mentioned needs.

SUMMARY

One exemplary embodiment relates to a system for searching stored audio data. The system includes a memory configured to store audio data received from a radio receiver and a processing circuit. The processing circuit is configured to receive a search pattern, search the stored audio data for the search pattern, and provide audio data based on the search.

Another exemplary embodiment relates to a method of searching stored audio data. The method includes receiving a search pattern, searching stored audio data received over a radio to locate audio data correlating with the search pattern, and providing audio data from the stored audio data based on the search.

Yet another exemplary embodiment relates to a radio for a vehicle including a system for storing and searching audio data received over the radio. The radio includes at least one radio receiver configured to receive audio data being broadcast over a wireless network, a memory configured to store the received audio data, and a processing circuit configured to receive a search pattern, search the stored audio data for the search pattern, and provide audio data based on the search.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Referring first toFIG. 1, a vehicle10, which may be an automobile, truck, sport utility vehicle (SUV), mini-van, or other vehicle, includes an audio recorder12. Audio recorder12, the exemplary embodiments of which will be described hereinbelow, is illustrated mounted to an instrument panel11of vehicle10preferably in a center console of instrument panel11. Alternatively, audio recorder12can be coupled to other areas of instrument panel11, or to other vehicle interior elements, such as, an overhead console, an overhead liner, a side wall of the vehicle, or other location in the front or rear of the vehicle.

Referring now toFIG. 2, audio recorder12is illustrated as a component of a vehicle radio20. Vehicle radio20may be any type of receiver configured to receive a broadcast signal containing audio data and to play the audio data through speakers in the vehicle. Vehicle20includes input devices22, a radio receiver circuit24, an antenna26, and a radio control circuit28. Input devices22can be any type of device or devices for providing input data to vehicle radio20, such as switches, buttons, a touch screen display, or other input devices, such as a speech recognition module. Radio receiver circuit24is any type of circuit configured to receive audio data from antenna26for communication to radio control circuit28. Antenna26may any type of antenna configured to facilitate reception of signals from an audio source such as an AM radio station, an FM radio station, an XM satellite based radio station, etc. Radio control circuit28is any type of circuit configured to manage data flow and control components of vehicle radio20.

According to an exemplary embodiment, audio recorder12is integrated into vehicle radio20such that audio recorder12is an integral component of vehicle radio20. Audio recorder12is controlled by an operator through input devices22of vehicle radio20. For example, input devices22of vehicle radio20can be utilized to select a search pattern and then to initiate a search of stored audio data, as will be further described below with reference toFIG. 3. Additionally, output data from audio recorder12is played through vehicle radio20.

According to an alternative embodiment, audio recorder12may be a separate device that is not integrated with vehicle radio20. Audio recorder12may be installed in vehicle12during manufacturing or as an after market accessory. Audio recorder12may further include additional circuitry or components to perform the functions described herein as being performed by vehicle radio20.

Where audio recorder12is a separate device, audio recorder12may be coupled to vehicle radio20through a wired or wireless connection. For example, vehicle radio20may be coupled to audio recorder12through a communication bus or through a radio frequency (RF) network using the Bluetooth communication standard. According to another example, audio recorder12can be attached between vehicle radio20and vehicle speakers (not shown).

Audio recorder12includes a memory14, a processing circuit16, an input circuit18, and an output circuit19. One or more of the above listed components may be shared components with vehicle radio20. Memory14and circuits16,18,19,24and28are illustrated in block form to indicate that these elements are functional units which may be embodied in hardware circuitry, software, or other processing elements. For example, processing circuit16may be disposed on one or more integrated circuits, and may be part of a system-on-chip (SOC), and/or may include programmable logic, one or more microprocessors, microcontrollers, or other control circuitry.

Memory14is a low cost dynamic random access memory (DRAM). According to an alternative embodiment, memory14may be long term storage memory such as a flash card or a hard drive. Memory12may include volatile memory portions and non-volatile memory portions, and may include RAM, read-only memory, and/or other memory types.

Input circuit18may be a single or multiple input circuits configured to receive input data at audio recorder12through vehicle radio20. For example, input circuit18may include a communication bus between audio recorder12and vehicle radio20. Using the communication bus, data can be transmitted from vehicle radio20to audio recorder12. Exemplary data can include audio data for storage in memory14, control signals for processing by processing circuit16, etc.

Alternatively, input circuit18may be configured to receive input data directly from an external source instead of through vehicle radio20. One example can include where audio recorder12is an external device that is directly controlled by a user and input circuit18receives input data from the user. According to another alternative embodiment, input circuit18can be coupled to a microphone to receive a custom search pattern to search stored audio data, as will be further described below with reference toFIG. 3.

Output circuit19is configured to provide audio data or other data from audio recorder12to vehicle radio20or any other device. For example, output circuit19provides audio data to vehicle radio20for playing through vehicle radio20.

Referring now toFIG. 3, an exemplary method for searching audio data based on a received search pattern will now be described. It is understood that one or more of the steps in this exemplary method may be eliminated, additional steps may be added, or the steps may be rearranged in various embodiments.

In a step30, audio recorder12is configured to receive audio data through input circuit18from vehicle radio20. Input circuit18can be configured to provide a wired or wireless connection to vehicle radio20, antenna26, radio receiver circuit24, or any other source of audio data. Alternatively, audio data can be received from a removable memory device having radio data stored therein. The source of audio data can be integrated within audio recorder12such that the audio data is received directly from an audio data source. An example includes where audio recorder12includes an antenna and a radio receiver configured to receive audio data for broadcast channels.

Memory14is configured to store the received audio data. Processing circuit16may be configured to perform one or more operations on the received audio data such as compression, filtering, data searching, etc. For example, processing circuit16may search received audio data for preset search patterns as it is being stored, as will be further described below with reference to step36.

Audio recorder12may be configured to record received audio data continuously as audio data is received, during preset times as selected by a user, whenever a specific search pattern is recognized in audio data received by audio recorder12, or according to any other triggering event or period of time. A user of audio recorder12may program processing circuit12to record according to one or more periods or patterns. Further, a user may select the audio data to be received at audio recorder12by changing a band on vehicle radio20. Audio recorder12may be configured to record audio data even while a vehicle is not occupied or running.

For example, audio recorder12may be configured to record continuously. Continuous recording may be desirable where a user wants to store everything that is received in order to have the largest amount of data to search through. However, where everything is recorded, memory14may become full. Accordingly, audio recorder12may include an option for the user to select either to overwrite old stored audio data or to stop recording when memory14becomes full.

Alternatively, a user may wish to configure audio recorder12to only record during specific periods. For example, the user may wish to configure audio recorder12to record during a “News Hour” on a specific radio station to record only news data.

According to an exemplary embodiment, audio recorder12may be configured such that audio data can continue to be stored while retrieved data is being broadcast through vehicle radio12. For example, a user may wish to listen to stored audio data but still record audio data that is currently being broadcast over a radio channel. Further, upon entering vehicle10, a user may wish to listen to the beginning of a program that began while they were away from their vehicle and record the remainder of the program that is currently being broadcast. This allows the user to “time shift” the program. Yet further, a user may wish to “rewind” audio content that is being broadcast to listen to just completed audio data again while still recording what is currently being broadcast. Accordingly, processing circuit16is configured to continue to record new data while providing stored data to the user via vehicle radio20.

According to yet another exemplary embodiment, audio recorder12may include or be coupled to multiple radio receivers or a receiver capable of receiving multiple broadcast channels such that audio data can be received and/or stored from multiple broadcast channels simultaneously. In one embodiment, audio recorder12can record audio data from one receiver (e.g., from a frequency modulation (FM) band) while vehicle radio20plays audio data via speakers from another receiver (e.g., from the amplitude modulation (AM) band). Audio recorder12or vehicle radio20may include controls for selecting from multiple stored audio data segments correlating with different recording periods.

In a step32, audio recorder12receives a search instruction from a user via input devices22or from another source. The search instruction includes a search pattern. A search pattern can be specific audio data (e.g. a recorded, spoken word), specific content of audio data (e.g. a pre-stored term, such as “News” or “Weather”), or one or more characteristics of the audio data (e.g. intermittent breaks or silences in the audio data indicative of spoken words as opposed to music). The search instruction may also include additional data such as the number of instances of the search pattern to be found, the place to begin searching, the broadcast channel to be searched, etc. According to an exemplary embodiment, a search pattern can be a frequency distribution or series of frequency distributions representing a word or phrase, further described below with reference toFIGS. 4A and 4B. For example, the search pattern may be a series of frequency distribution representing the word “News.”

Referring now toFIG. 4A, a spectrogram50illustrating frequency and amplitude over time for stored audio data is shown according to an exemplary embodiment. A first axis52represents time and a second axis54represents the frequency of the stored audio data at a particular time. According to an exemplary embodiment, for each frequency at a particular time, a level of grey scale is shown representing amplitude of the frequency component in the stored audio data at that particular time. The brightness of the level of grey scale represents the amplitude, where a brighter grey scale represents a larger amplitude and a darker gray scale represents a lower amplitude. As shown in graph50, at each instant in time, the level of gray scale associated with different frequencies for the stored audio data creates a pattern of highs and lows. The high and lows of the frequency pattern correspond to changes in frequency that occur in spoken words and music. For example, a defined subsection56of frequency distribution51may correspond to the spoken word “news” according to an exemplary embodiment.

According to an exemplary embodiment, a frequency distribution is a graph of the amplitude at given frequencies at any particular time. Although the frequency distribution, as shown inFIG. 4A, is composed of a grey scale value representing amplitude for each frequency, the amplitude may also be represented as a value on a third axis, for example extending along a z-axis, as a color scale value, or using any other method for representing an amplitude for a given frequency at a given time.

Referring now toFIG. 4B, a graph60of a frequency distribution62for a search pattern at a particular instant in time is shown according to an exemplary embodiment. Frequency distribution62correlates to a “slice” of a specific word, phrase, or other audio data at a particular instant in time. According to an exemplary embodiment, frequency distribution62corresponds to a section of the word “news” as described above with reference to step32inFIG. 3.

Referring again to step32inFIG. 3, processing circuit16is configured to receive the search instruction based on selection by the user of a preset search pattern. For example, audio recorder12may be configured to include a variety of preset search patterns corresponding to frequently used search terms. Examples can include search patterns for the words “news”, “weather”, “traffic”, etc. Further, each search pattern may also include a listing of related words that are also searched whenever a preset search pattern is selected. For example, whenever the “weather” is selected; the search pattern can include the word “weather” and alternatively include the words “degree”, “temperature”, “forecast”, etc.

According to an alternative embodiment, audio recorder12may also be configured to receive custom search patterns. A custom search pattern may be a search pattern for a word that is spoken by a user and recorded through input circuit18using a microphone coupled to audio recorder12. Advantageously, custom search patterns allow a user to have greater versatility in searching stored audio data. For example, a user that wishes to search stored audio data for a song by a favorite artist can simply state the artist's name into the microphone. The audio data received through the microphone can be processed to determine a frequency distribution for the artist's name. Processing circuit16can utilize the frequency distributions for the artist's name and search the stored audio data to locate that artists name, presumably at the beginning or ending of the song. Alternatively, a user can sing a phrase from the song to search for the song.

Custom search patterns are also advantageous because the patterns allow a user to search stored audio data in a variety of languages. The user can state a foreign word or phrase into the microphone and the stored audio data will be searched for that word or phrase in the foreign language. Accordingly, audio recorder12can be used to search audio data received over a foreign language channel.

Following receipt of a search instruction in step32, processing circuit16compares a series of frequency distributions for the search pattern in the received search instruction to the frequency distribution for the stored audio data in a step34. According to an exemplary embodiment, frequency distribution51is scanned to locate a subsection of the frequency distribution that contains a subsection correlating with a frequency distribution of the search pattern. For example, referring again toFIGS. 4A and 4B, in comparing graph60to graph50, frequency distribution62inFIG. 4Broughly correlates to a slice within subsection56of frequency distribution51inFIG. 4A. In other words, that instant in time of subsection56of frequency distribution51and frequency distribution62both correlate to the word “News.” Comparison of a series of frequency distributions may be utilized to determine correlation. The number of frequency distributions compared may be increased or decreased as needed to balance processing speed and accuracy.

Other comparisons and other methods to recognize search patterns within the stored audio content may alternatively be used. According to an exemplary embodiment, recognition of spoken words may be performed using baseforms. Each word in a vocabulary may be represented as a sequence of phonemes which are combined to form the pronunciation of the word. This sequence of phonemes is generally referred to as the baseform of a word. Baseforms may be created based on received audio input from a user including the word or words to be converted. The baseforms may then be matched to correlating data in received or stored audio data. Accordingly, recognizing search patterns within audio content may include matching baseforms with the data in the audio content. Any type of voice recognition software may also be used to accomplish the comparison of the speech pattern to the stored audio data, such as ViaVoice® software from International Business Machines, Inc. of Armonk, N.Y.

According to another exemplary embodiment, search pattern recognition may be performed using text to grammar conversions. A grammar is an object which indicates what words a user is expected to say and in what patterns those words may occur. Grammars are important to speech recognizers because they constrain the recognition process. These constraints makes recognition faster and more accurate because the recognizer does not have to check for words or phrases that are not of interest.

However, differences in speech patterns, inflections, accents, etc. can affect a frequency distribution for a spoken word. Accordingly, the frequency distribution for a search pattern may not exactly correlate to any particular subsection in the frequency distribution for the stored audio data. Accordingly, audio recorder12is configured to compare multiple characteristics of the frequency distribution of the search pattern to the frequency distribution of the stored audio data, and select a subset of the frequency distribution for the stored audio data with the highest correlation. The characteristics to be compared may include: a mean, a variance, position of mode or highest peak, position of mode relative to minimum, maximum, or mean, squared difference of each frequency distribution between the search pattern and the stored audio data to find the best correlation, etc. Other characteristics or calculations may also or alternatively be used to determine the best correlation between the search pattern and the stored audio data.

According to an alternative embodiment, step34can be performed continuously whenever audio data is being stored to pre-search the stored audio data. Processor16can be configured to search audio data for frequency distributions correlating to the frequency distributions of one or more search patterns while the audio data is being stored. Whenever a frequency distribution is found that correlates to a frequency distribution for a search pattern, the location in memory14of that stored audio data can be stored in memory for later retrieval.

Advantageously, pre-searching the stored audio data can greatly reduce the response time of audio recorder12. Additionally, a less powerful processing circuit16can be utilized because less processing occurs when audio data correlating to a pre searched search pattern is requested. Less processing is required because the stored audio data is searched over time as it is recorded instead of instantaneously when a search is requested.

Further, processing circuit16may be configured to begin storing audio content based on the occurrence of a frequency distribution correlating to the frequency distribution of one or more search patterns for some duration. Advantageously, recording based on the occurrence of a search pattern conserves memory14by only recording content prefixed or immediately adjacent to by a search pattern. Additionally, where audio recorder12is configured to buffer received audio content, the audio content preceding the search pattern may also be stored.

Following the comparison in step34, a determination is made in a step36whether the desired content was found. If not, the processing circuit returns to step32to receive a new search pattern. In some instances, it may be that a match between a search pattern and data in the stored audio data fails because of a factor affecting the frequency distribution for either the search pattern or the stored audio data. Examples may include an announcer on a radio station with a pronounced accent or a custom search pattern received from a person with an inflection. In this instance processing circuit16may be configured to assign the search pattern or stored audio data to a frequency distribution that will produce a match.

If a match is found, audio recorder12can play the stored audio data through vehicle radio20from the point where the frequency distribution of the stored audio data correlated with the frequency distribution of the search pattern in a step38. The audio data that is played through vehicle radio20may or may not reflect the audio data that is sought by the user of audio recorder12. If the content is not what is sought, the user can provide an input to repeat step34to search for the next instance of the search pattern in the stored audio data, may refine the search pattern, access stored audio data from a different period or broadcast channel, etc.

Advantageously, an audio recorder12can be implemented for a relatively low cost. Memory14may be a relatively inexpensive 128 MB dynamic random access memory (DRAM) memory unit that can record 17 minutes of uncompressed audio data. Even more data can be recorded to memory14if the data is audio data from an AM radio station including traffic and weather reports. Audio compression may be added to further increase the storage time. Further, audio compression may increase the accuracy and speed of computations or decrease the number of computations required for search pattern recognition.

According to an exemplary embodiment, the received audio data may include both aural and non-aural content. For example, the received audio data may include non-aural Radio Data System (RDS) data. RDS is a standard for sending small amounts of digital information using conventional radio broadcasts. RDS audio data may include, but is not limited to, alternate frequencies allowing a receiver to re-tune to a different frequency providing the same station when the first signal becomes too weak, clock time, station identification, program type, song titles, artist names, travel announcements, etc. Advantageously, the above described system may be configured for searching the audio data including both the aural and the non-aural content. For example, a user may provide input to search all stored audio content data for a particular artist name. Although RDS data is described, non-aural content may include any type of data providing information related to the aural content. The system may be configured to either search the aural audio content to find the artist's name, to search the non-aural audio content for the artist's name, or both.

While the exemplary embodiments illustrated in the FIGS. and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. Accordingly, the present invention is not limited to a particular embodiment, but extends to various modifications that nevertheless fall within the scope of the appended claims.