NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Rubato – Tempo at the discretion of the performer

From Texas Instruments Wiki
Jump to: navigation, search
RubatoMainPicture.jpg

Rubato is simple.

  1. Collects data from the heart rate monitor.
  2. Sends it wirelessly to the PC.
  3. PC will go crazy with it and alter your music speed.


Authors[edit]

Features[edit]

Based on the eZ430-Chronos wearable development system.

Three cool modes

  • Motivational

Your music starts at very high speed and will slow down as your heart rate goes up. Once you have reached your desired heart rate, the music will play at normal speed.

  • Expositional

Your music will follow your heart, literally. The faster your heart rate is the faster the speed of the piece.

  • The Beat!

Let your heart be the DJ by creating magical electronic beats using your heart rate as the base tempo. (Under development)

Why Rubato?[edit]

If you do not exercise you should. If you exercise but ignore to monitor your heart rate you could be missing out of the best approach to all-around fitness. Heart rate zone training uses four (sometimes five) zones to achieve different fitness goals as shown in Table 1.

Table 1: Heart rate zones
Zone
What it does
 % of Heart
Rate
Reserve
Heart rate
beats per
minute
Long, slow runs, easy or recovery runs
Training in this zone improves the ability of your heart to pump blood and improve the muscles' ability to utilize oxygen. The body becomes more efficient at feeding the working muscles, and learns to metabolise fat as a source of fuel.
60-70%
139-152
Aerobic zone or "target heart rate zone"
Most effective for overall cardiovascular fitness. Increases your cardio-respitory capacity: that is, the your ability to transport oxygenated blood to the muscle cells and carbon dioxide away from the cells. Also effective for increasing overall muscle strength.
70-80%
152-166
Anaerobic zone
The point at which the body cannot remove lactic acid as quickly as it is produced is called the lactate threshold or anaerobic threshold. It generally occurs at about 80-88% of the Heart Rate Reserve. Training in this zone helps to increase the lactate threshold, which improves performance. Training in this zone is hard: your muscles are tired, your breathing is heavy.
80-90%
166-179
VO2 max
"Red line zone"
You should only train in this zone if you re very fit, and only for very short periods of time. Lactic acid develops quickly as you are operating in oxygen debt to the muscles The value of training in this zone is you can increase your fast twitch muscle fibers which increase speed.
90-100%
179-192


Now that you will put your heart into your exercise routine. Would not it be amazing if you could monitor your heart without looking at a heart rate monitor every other minute? Or running while holding your fingers at some artery? Or worst, wearing a stethoscope tapped to your chest?

Now you can with the Rubato app for the eZ430 Chronos watch. Indulge in your favorite music while you exercise, and the speed of the music will be set by your heart. You will be able to easily know if you are maintaining, decreasing or increasing your heart rate just by listening.

What about the name?
[edit]

Rubato - is a musical term referring to expressive and rhythmic freedom by a slight speeding up and then slowing down of the tempo of a piece at the discretion of the soloist or the conductor. (Wikipedia - Tempo Rubato)

Pictures & Videos[edit]

If possible, video your design working and upload to YouTube with link here:

Videos can be embedded directly into the wiki using the EmbedVideoPlus extension. For documentation on this extension, please see http://www.mediawiki.org/wiki/Extension:EmbedVideoPlus

Reverse Engineering[edit]

The development of the Rubato included three main parts:

  •     Automation of the Chronos Datalog and Sync modes
  •     Interception and analysis of data flows between the Chronos and the Datalogger Graphical User Interface
  •     Beat Control Algorithm


During the development of the first part, the menus of the Chronos were modified to include another option called "ruBAt". The ruBAt option communicates with the BM-Innovations heart rate monitor and saves a Sample of the actual heart rate data in the CC430 memory in the Datalogger application.. After the sample is taken the Chronos goes into sync mode and waits to receive the correct instruction set from the RF access point to be able to send the data to the PC via the RF-AP. To be able to communicate with the Chronos a little bit of reverse engineering was applied.


To be able to talk with the watch automatically the RF access point needs to be reprogrammed using the IAR and writing a lot of code. The TI people already programmed the access point inside the Datalogger GUI, but the User’s Guide doesn’t have complete information on the UART protocol between the Access Point & the SW. The information from the community about the packet format it's also very limited, so we look at the packets sent from and to the Datalogger to find the protocol by ourselves. How?


Utilizing an amazing piece of software called Serial Port Monitor, the data sent in/out the RF access point every time a command of the Datalogger GUI is executed, was intercepted. After intercepting these packages we researched the functionality of the UART protocol. After analyzing this protocol, controlling the access point it's just a matter of sending the correct commands via the communication port and reading the data sent by the Chronos.


After the data is received, it pass through an Algorithm that parses this data to separate the Heart Rate monitor data from all the other data, analyze the current level of effort and it will modify music's speed to achieve the desired level.

Source Code[edit]

  • Please upload all source and project files. Source code and be uploaded directly to the wiki, but larger projects may benefit from being posted externally on sites like sourceforge.net or github.com.

Schematics[edit]



E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Rubato – Tempo at the discretion of the performer here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Rubato – Tempo at the discretion of the performer here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Rubato – Tempo at the discretion of the performer here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Rubato – Tempo at the discretion of the performer here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity