Method, apparatus and software for play list selection in digital music players

An apparatus, method, and software product are used to sense a repetitive motion, such as walking, running, or tapping. Thus, a rate of the repetitive motion is determined. A piece of music is then selected in response to the determined rate, and the piece of music is played. This piece of music has a tempo selected to match or approximate the rate of the repetitive motion, so that the repetitive motion and the music are substantially in harmony.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
FIELD OF THE INVENTION

The present invention relates to accelerometers, and more particularly accelerometers for enhancing an audio experience.

BACKGROUND OF THE INVENTION

There are a number of digital music players (MPs) on the market that use a beats-per-minute (BPM) value to create play lists. However, the user must make a choice manually by inputting either a “mood” setting, or by explicitly inputting a desired BPM. It would be desirable to improve the user experience by enabling new methods of selecting songs on digital music players, without requiring manual inputs to determine BPM.

The tempo of a song is the overall speed of the most prominent rhythm (often the drum track in popular music), in beats per minute. Different songs have different tempos, and people often want to listen to a song—or series of songs—that have a particular tempo, depending upon what the people are doing or what mood they are in.

Before invention of the metronome, words were the only way to describe the tempo of a composition. For example, “presto” and “allegro” both indicate a speedy execution of a musical piece. But since invention of the metronome, it has been common to indicate tempo by BPM.

Exemplary songs and corresponding ratings in BPM for tempo include Simon and Garfunkel's “The Boxer” (90), Chicago's “Saturday in the Park” (115), and Lynyrd Skynyrd's “Sweet Home Alabama” (96). Of course, songs and other musical pieces have many other characteristics as well, in addition to tempo, including volume for example. However, tempo is an important characteristic, and a user may want to hear music of uniform volume but varying tempo over time. One example is a jogger who may want to hear a faster tempo as the pace of jogging increases.

It is known to classify different ranges of BPMs. For example, if BPM is less than 95 then a music style of “easy listening” can be assigned. If the BPM is between 95 and 118 then a music style of “mellow” can be assigned. If the BPM is greater than 118, then a music style of upbeat can be assigned. Likewise, more refined subcategories of tempo can also be set up. In this way, if a listener indicates a particular BPM, then not just music at that exact BPM will be played, but also music in a range of that BPM will be put on the playlist as well.

The BPM of a digitized song can be indicated explicitly in the digitized product that a user has purchased (in the metadata together with the artist, album etc), or the BPM can be determined by electronically analyzing the digitized song that a user has purchased. In either event, it is known for a music player to play music according to a desired BPM or range of BPMs

Accelerometers can be used to detect vibrational or other types of movement, and it is known to use accelerometers in conjunction with playlist selection. Accelerometers are used to convert gravity-induced or motion-induced acceleration into an electrical signal that can subsequently be analyzed, and accelerometers are used in widely diverse applications including automobile air bag and suspension systems, computer hard disc drives, detonation systems for bombs and missiles, and machine vibration monitors. Accelerometers are also useful in portable devices such as wireless telephones, for example in order to cause a device to power up when the device moves sufficiently to indicate that a person has picked up the device.

Using an accelerometer to select a playlist has been described by Jacob Biehl, Piotr Adamczyk, and Brian Bailey in an article titled “DJogger: A Mobile Dynamic Music Device” available at http://orchid.cs.uiuc.edu/publications/acm-chi-2006-djogger.pdf (downloaded Apr. 25, 2006). Biehl et al. disclose equipping a jogger with an accelerometer, and then playing music of increasing tempo if the jogger is underperforming, or slower music if the jogger is overperforming, based on comparing the jogger's jogging activity to a chosen workout schedule. However, Biehl does not address joggers who are not trying to follow any particular schedule, or who do not want music as an aide in maintaining a particular workout schedule. Nor does Biehl use the accelerometer data to determine the user's repetitions (e.g. steps) per minute. Also, Biehl's accelerometer is attached to devices (each a computing device) mounted on a treadmill, and this arrangement would therefore be unsuitable for a jogger who is not using a treadmill.

The simplest accelerometer is only able to measure one component of the acceleration vector, but more complex accelerometers are equipped to measure two or even all three components of acceleration, in which case the accelerometer is called a 3-axis or triaxial accelerometer. Typically, a 2-axis accelerometer has smaller size and portability. The output signal from an accelerometer may be digital, or the output signal may be converted from analog to digital.

It has been well known for many decades that a typical accelerometer will include a “proof mass” (sometimes called a “seismic mass”) which is attached to a spring, and the output signal will then be determined by the position of the proof mass. This process of producing an output signal is accomplished differently in different accelerometers, which may be potentiometric, piezoelectric, capacitive, or inductive. In recent years, other types of accelerometers have been developed which, for example, do not require any proof mass at all. The minimum size of an accelerometer has been gradually reduced over the years, as Micro Electro-Mechanical Systems (MEMS) technology has improved. Some MEMS-based and piezoelectric accelerometers do not even require any moving parts.

The electrical output signal from an accelerometer must be processed in order to yield conclusions about the acceleration experienced by the device that houses the accelerometer. According to typical prior art techniques, the digital output signal from a triaxial accelerometer will be processed with full accuracy by a process that involves, for example, a combination of high-pass and low-pass filtering, decimation, and calibration.

Software can query the accelerometer data, and can translate it into an XY or XYZ position in space, or can sense the changes in the device acceleration in different directions. This data may be used as an input for a variety of applications, including play list selection.

SUMMARY OF THE INVENTION

The present invention discloses converting accelerometer data to a BPM (beats per minute) value which is then used as an input for play list selection on a digital music player (MP). This allows music to be played in conformity with a user's desire to enjoy music in harmony with the user's own physical motion.

The apparatus, method, and software product of the present invention are designed to sense a repetitive motion, such as walking, running, or tapping. Consequently, a rate of the repetitive motion is determined, and a piece of music is then selected and played in response to the determined rate. This piece of music has a tempo selected to match or approximate the rate of the repetitive motion, so that the repetitive motion and the music are in substantial harmony.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is flow chart illustrating a method according to an embodiment of the present invention.

FIG. 2 is a block diagram illustrating an apparatus according to an embodiment of the present invention.

FIG. 3 is a block diagram illustrating an accelerometer module according to an embodiment of the present invention.

FIG. 4 is a block diagram illustrating a music player according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Suppose a person named Frank wants to go jogging. He puts his headphones on and accesses his music player's options menu, in order to choose “Smart” or “BPM Shuffle” mode. Then he presses a play button on the device, puts the device in his pocket, and starts running. Accelerometer software (AS) functioning as a pedometer within the device generates a BPM value based upon the pace at which Frank is running, and feeds the data to the music player (MP) in the device, in order to pick a song close, or closest, to the generated BMP number. The songs can be stored in a music file meta data area or internal database of the device. Frank starts running slowly, so the first couple of songs that are chosen match his slow pace. Then Frank speeds up, and the MP correspondingly chooses a faster song. After he stops running and switches to walking, the next song will be slower, again matching his pace.

The MP can also slightly modify the tempo of a single song in order to closely match Frank's BMP, and if Frank greatly changes his pace during a single song, then pressing a “skip” button can immediately skip to a next song selected to match Frank's pace. Modifying the tempo of the music slightly to match the user's BPM can be accomplished digitally in at least two way, both of which may be useable in various different applications. The first way is to speed up or slow down the music player. A file played back in this manner may sound like a gramophone record being played at incorrect speed. With this effect, both pitch and tempo are changed simultaneously. The range of adjustment possible for most music is generally small before it becomes noticeable. The second way to slightly modify music tempo to match a user's BPM is to time stretch or compress. With time shifting, the tempo can be speeded up/slowed down but the pitch remains the same; i.e. the music does not go out of tune.

Applications are envisaged where the user starts jogging at 101 beats/minute. A piece of music at 101 BPM may be unavailable, but some music at 95 BPM is available. Using digital processing it would be possible to “time compress” the music to 101 bpm so that it matches the user's exercise rhythm. Another envisioned application is a virtual pacesetter, for a user who wishes to maintain a minimum jogging pace as part of a training routing. They set a minimum rate of 140 BPM. Some music is selected at the appropriate BPM. Then, whenever the accelerometer detects that the jogging rate is below 140 BPM, the music is slowed down proportionally, alerting the user that they need to pick up speed.

Consider another implementation of an embodiment of the present invention. Jane is a student. She enjoys listening to music when studying. While preparing to read a book, Jane chooses “Smart” or “BPM shuffle” mode in her MP menu, and presses a play button. Then she puts the device on an adjacent table, or holds the device in her hand, and starts lightly tapping on the table. Accelerometer software within the device detects tapping as pulses in the data stream coming from the device, and accordingly a BPM value is generated. This BPM value is fed to Jane's MP, which picks the next song based on this BPM value.

According to a further embodiment of the invention, when a user chooses “Smart Shuffle” mode and presses a play button, the MP instructs the accelerometer software to start detecting a BPM value for about three to five seconds. This result is fed into the MP's “song selector” module, and the MP starts playing a song with the BPM close (or closest) to the input parameter. This song is selected by a song selector module which checks the MP database, or checks with music files meta data, for BPM information to compare with the BPM value detected by the accelerometer software. When song is about to end (in about three to five seconds) the MP repeats the request to the accelerometer software to detect a new BPM for the next song selection. In addition, the MP keeps track of recently played songs to avoid playing the same song all over again—at least not earlier than within five songs, although this number of songs may be a configurable parameter for the MP.

Accordingly, the user experience is improved. There may be a delay before the very first song, due to the need to detect the user's pace (jogging or walking or tapping). However, during that delay period, some brief prefatory music can be played.

FIG. 1 shows a method 100 according to an embodiment of the present invention. The user selects 105 a beats per minute (BMP) mode in order to initiate this method. Then an accelerometer sense 110 repetitive motion of the user. This enables calculation 115 of a rate of the repetitive motion. Then a piece of music is selected 120 in response to the determined rate of repetitive motion. And, the music is played 125. When the music is finishing, repetitive motion is sensed 110 again, and the method repeats in that fashion. If no repetitive motion is sensed, then more music is played 130 having the same BMP. For example, if the repetitive motion is tapping of a table by the user, then the user may neglect to tap the table, in which case it should be presumed that the user wants to continue hearing music having the same tempo.

Referring now to FIG. 2, a mobile device 200 is shown, and for purposes of illustration the mobile device is divided up into an apparatus 210 for performing the method of the present invention, along with other mobile device components 280. Within the apparatus 210, an accelerometer 220 senses repetitive motion of the user, and provides a motion data signal to a processor 230. The processor 230 determines a rate at which the motion repeats, and provides that rate to a selector 240. The selector 240 selects a piece of music from a memory 250 based on the rate, and also based on avoiding pieces of music that have recently been played. The selector 240 then indicates the selected piece of music to the player 260 which proceeds to play the music. The accelerometer 220 will again sense repetitive motion toward the end of the piece of music, in order that the apparatus 210 will play another piece of music in harmony with the user's rate of repetitive motion. At or slightly before the time when the accelerometer 220 starts sensing motion again, the processor 230 can initiate a visible indicator 270 in order that a user will be able to see that his or her motion is being sensed. For example, if the motion is a tapping motion, then the indicator 270 will remind or indicate to the user that he or she should start (or continue) tapping if a different tempo of music is desired. Gaming applications can also be envisioned whereby the user has to tap at a certain BPM in order to make something happen in the game.

It is also possible that music can be selected from another source instead of from a memory 250. For example, music can be selected from a radio broadcast or from the internet, if music is available from those sources having a tempo consistent with the user's repetitive motion.

Turning now to FIG. 3, an accelerometer module 300 is shown, having a motion sensor 310 and a signaling unit 320. The signaling unit will convey an activation signal to the motion sensor prior to the end of a piece of music, and the motion sensor 310 will then sense the motion and accordingly provide a motion data signal that indicates a property of a next piece of music. The signaling unit will then convey the motion data signal to another module, such as a music player.

FIG. 4 illustrates a music player 400 according to an embodiment of the present invention. A selector 410 is responsive to transmitted accelerometer data, and accordingly selects a piece of music in response to that accelerometer data. The selected piece of music is then played using speaker 420, and the piece of music has a tempo matching or approximating a rate indicated by the accelerometer data.

The embodiments described above can be implemented using a general purpose or specific-use computer system, with standard operating system software conforming to the method described herein. The software is designed to drive the operation of the particular hardware of the system, and will be compatible with other system components and I/O controllers. The computer system of this embodiment includes the CPU processor 230 shown in FIG. 2, comprising a single processing unit, multiple processing units capable of parallel operation, or the CPU can be distributed across one or more processing units in one or more locations, e.g., on a client and server. Memory 250 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Moreover, similar to CPU 230, memory 250 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.

It is to be understood that the present figures, and the accompanying narrative discussions of embodiments, do not purport to be completely rigorous treatments of the method, apparatus, and software product under consideration. A person skilled in the art will understand that the steps and signals of the present application represent general cause-and-effect relationships that do not exclude intermediate interactions of various types, and will further understand that the various steps and structures described in this application can be implemented by a variety of different sequences and configurations, using various different combinations of hardware and software which need not be further detailed herein. Moreover, although the following claims list particular subject matter of the invention, the list is not exclusive, and additional subject matter is to be found both in the specification and in all possible combinations of the claims regardless of the presently specified dependencies.

Claims

1. A method comprising:

sensing a repetitive motion;
determining a rate of the repetitive motion;
selecting an initial piece of music in response to the rate; and
playing the initial piece of music,
wherein the initial piece of music has a tempo selected to match or approximate the rate of the repetitive motion.

2. The method of claim 1, further comprising:

re-sensing the repetitive motion, before a current piece of music is through playing;
calculating a new rate of the repetitive motion;
selecting an other piece of music in response to the new rate; and
playing the other piece of music after the current piece of music is through playing,
wherein the other piece of music has a tempo selected to match or approximate the new rate of the repetitive motion.

3. The method of claim 2, wherein the current piece of music is the initial piece of music.

4. The method of claim 2, wherein the other piece of music is selected to be different from previously played pieces of music including the current piece of music.

5. The method of claim 1, wherein a brief prefatory piece of music is played after the sensing step has begun, but prior to playing the initial piece of music.

6. The method of claim 1, wherein the piece of music is selected from a music storage device, or from a broadcast, or via a network.

7. The method of claim 3,

wherein the sensing and re-sensing are performed by an accelerometer; and
wherein the accelerometer is in a sleep mode between sensing and re-sensing the repetitive motion.

8. The method of claim 1,

wherein the sensing is performed by an accelerometer; and
wherein the tempo of the initial piece of music is modified as the rate of the repetitive motion changes.

9. The method of claim 2, further comprising visibly indicating that re-sensing is occurring.

10. The method of claim 2, wherein if the re-sensing detects no repetitive motion then the other piece of music has a tempo selected to match or approximate the rate of the current piece of music.

11. An apparatus comprising:

an accelerometer configured to sense a motion, and provide a motion data signal;
a processor configured to determine, in response to the motion data signal, a rate at which the motion repeats;
a selector configured to select an initial piece of music in response to the rate; and
a player configured to play the initial piece of music,
wherein the initial piece of music has a tempo matching or approximating the rate at which the motion repeats.

12. The apparatus of claim 11,

wherein the accelerometer is also configured to re-sense the repetitive motion, before a current piece of music is through playing;
wherein the processor is also configured to determine a new rate at which the motion repeats;
wherein the selector is also configured to select an other piece of music in response to the new rate; and
wherein the player is also configured to play the other piece of music after the current piece of music is through playing,
wherein the other piece of music has a tempo selected to match or approximate the new rate at which the motion repeats.

13. The apparatus of claim 12, wherein the current piece of music is the initial piece of music, and wherein the apparatus further comprises components that enable the apparatus to function as a wireless communication terminal.

14. The apparatus of claim 12, wherein the selector is configured to select the other piece of music so that the other piece of music is different from previously played pieces of music including the current piece of music.

15. The apparatus of claim 11, wherein the player is also configured to play a brief prefatory piece of music prefacing the initial piece of music while the motion is sensed.

16. The apparatus of claim 11, wherein the motion is walking, running, or tapping.

17. The apparatus of claim 13,

wherein the accelerometer has a sleep mode between sensing and re-sensing the motion.

18. The apparatus of claim 11,

wherein the tempo is modifiable as the rate of the repetitive motion changes.

19. The apparatus of claim 12, further comprising a visible indicator configured to indicate that re-sensing is occurring.

20. The apparatus of claim 12, wherein if the re-sensing detects no repetitive motion then the other piece of music has a tempo that matches or approximates the rate of the current piece of music.

21. An apparatus comprising:

means for sensing a motion, and provide a motion data signal;
means for calculating, in response to the motion data signal, a rate at which the motion repeats;
means for selecting an initial piece of music in response to the rate; and
means for playing the initial piece of music,
wherein the initial piece of music has a tempo matching or approximating the rate at which the motion repeats.

22. A computer readable medium encoded with a software data structure for performing the method of claim 1.

23. A software product comprising a computer readable medium having executable codes embedded therein, the codes, when executed, being adapted to carry out the functions of:

sensing a repetitive motion;
calculating a rate of the repetitive motion;
selecting an initial piece of music in response to the rate; and
playing the initial piece of music,
wherein the initial piece of music has a tempo selected to match or approximate the rate of the repetitive motion.

24. An accelerometer module comprising:

a motion sensor configured to sense a motion, and
a signaling unit configured to provide a motion data signal in response to the motion sensing,
wherein the motion sensor is responsive to an activation signal prior to the end of a piece of music, and
wherein the motion data signal is indicative of a property of a next piece of music.

25. A music player comprising:

at least one speaker configured to play a piece of music;
a selector configured to select the piece of music in response to accelerometer data,
wherein the piece of music has a tempo matching or approximating a rate indicated by the accelerometer data.
Patent History
Publication number: 20070254271
Type: Application
Filed: Apr 28, 2006
Publication Date: Nov 1, 2007
Inventors: Volodimir Burlik (Coquiltam), Edward Jordan (Vancouver)
Application Number: 11/413,629
Classifications
Current U.S. Class: 434/247.000
International Classification: A63B 69/00 (20060101);