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.
The present invention relates to accelerometers, and more particularly accelerometers for enhancing an audio experience.
BACKGROUND OF THE INVENTIONThere 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 INVENTIONThe 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
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.
Referring now to
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
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
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.
Type: Application
Filed: Apr 28, 2006
Publication Date: Nov 1, 2007
Inventors: Volodimir Burlik (Coquiltam), Edward Jordan (Vancouver)
Application Number: 11/413,629
International Classification: A63B 69/00 (20060101);