PHYSIOLOGICAL RATE COACHING BY MODIFYING MEDIA CONTENT BASED ON SENSOR DATA

- AliphCom

Techniques for providing physiological rate coaching by modifying media content based on sensor data are described. Disclosed are techniques for receiving data representing a target physiological rate, selecting a subset of files having data representing media contents to be presented based on the target physiological rate, processing sensor data received from one or more sensors to determine a difference from the target physiological rate, and modifying a presentation of the subset of files based on the difference. In some examples, the rate of presentation is modified. In some examples, the presentation sequence is modified. In some examples, a fading in of one media content and a fading out of another media content may be presented.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
FIELD

Various embodiments relate generally to wearable electrical and electronic hardware, computer software, human-computing interfaces, wired and wireless network communications, telecommunications, data processing, and computing devices. More specifically, disclosed are techniques for providing physiological rate coaching by modifying media content based on sensor data.

BACKGROUND

Attaining or maintaining a physiological rate during an exercise, activity, or daily routine may be desired by a user for fitness training. A rhythm rate or beat-per-minute of media content may be used to coach, train, induce or encourage a user to maintain a target physiological rate. Conventional solutions may select media contents to be presented to the user based on the rhythm rates of the media contents and the target physiological rate. However, some media contents may encourage a user to better maintain the target physiological rate, while other media contents may not. Moreover, as a user's energy level, determination level, or performance level changes, certain presentations of media contents may be more effective at encouraging the user to maintain the target physiological rate.

Thus, what is needed is a solution for providing physiological rate coaching using media content without the limitations of conventional techniques.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments or examples (“examples”) are disclosed in the following detailed description and the accompanying drawings:

FIG. 1 illustrates a wearable device with a physiological rate coaching manager, according to some examples;

FIG. 2 illustrates a network of wearable devices to be used with a physiological rate coaching manager, according to some examples;

FIG. 3A illustrates an application architecture for a physiological rate coaching manager, according to some examples;

FIG. 3B illustrates another application architecture for a physiological rate coaching manager, according to some examples;

FIG. 4 illustrates exercise zones corresponding to physiological rates to be used with a physiological rate coaching manager, according to some examples;

FIG. 5A illustrates media contents selected for presentation by a physiological rate coaching manager based on a target physiological rate, according to some examples;

FIG. 5B illustrates media contents selected for presentation by a physiological rate coaching manager based on a target physiological rate, according to some examples;

FIG. 6A illustrates a modification of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples;

FIG. 6B illustrates another modification of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples;

FIG. 7 illustrates an interruption of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples;

FIG. 8 illustrates adding a media content to a collection by a physiological rate coaching manager based on sensor data, according to some examples;

FIG. 9 illustrates a network of wearable devices of a plurality of users, the wearable devices to be used with physiological rate coaching managers, according to some examples;

FIG. 10 illustrates a process for a physiological rate coaching manager, according to some examples; and

FIG. 11 illustrates a computer system suitable for use with a physiological rate coaching manager, according to some examples.

DETAILED DESCRIPTION

Various embodiments or examples may be implemented in numerous ways, including as a system, a process, an apparatus, a user interface, or a series of program instructions on a computer readable medium such as a computer readable storage medium or a computer network where the program instructions are sent over optical, electronic, or wireless communication links. In general, operations of disclosed processes may be performed in an arbitrary order, unless otherwise provided in the claims.

A detailed description of one or more examples is provided below along with accompanying figures. The detailed description is provided in connection with such examples, but is not limited to any particular example. The scope is limited only by the claims and numerous alternatives, modifications, and equivalents are encompassed. Numerous specific details are set forth in the following description in order to provide a thorough understanding. These details are provided for the purpose of example and the described techniques may be practiced according to the claims without some or all of these specific details. For clarity, technical material that is known in the technical fields related to the examples has not been described in detail to avoid unnecessarily obscuring the description.

FIG. 1 illustrates a wearable device with a physiological rate coaching manager, according to some examples. As shown, FIG. 1 includes a user 120, wearable computing devices 121-124, a physiological rate coaching manager 110, sensor data 130, a target physiological rate 140, a difference 150, files having data representing media contents 161-163, and rhythm rates 171-173. Physiological rate coaching manager 110 may be configured to provide user 120 coaching or training for attaining or maintaining a physiological rate by modifying a presentation of media contents or media files 161-163. Physiological rate coaching manager 110 may receive data representing a target physiological rate 140. A physiological rate may be a rate of a substantially repeated or cyclical process or phenomenon of a living being, such as, heart rate, breathing or respiration rate, metabolic rate, and the like. Target physiological rate 140 may be a physiological rate that user 120 aims to achieve during an activity, exercise, or work-out. Target physiological rate 140 may be a physiological rate that is associated with achieving a goal. Target physiological rate 140 may be manually entered by user 120 using a user interface, or it may be received from another device, such as a server, a wearable device of another user, or other memory. Physiological rate coaching manager 110 may select one or more media contents 161-163 based on target physiological rate 140. Media contents 161-163 may have audio data that may be presented at a speaker, such as a song, music, or other voice or sound recording. Media contents 161-163 may also have video or visual data that may be presented at a screen, such as a movie, a video clip, or other video recording. A speaker may be coupled to a headset, such as wearable device 124, speaker box, media device, or other device. A screen may be coupled to a smartphone, such as wearable device 121, or other device such as a television, a laptop, a computer monitor, and the like. Media contents 161-163 may also have rhythm rates 171-173. Rhythm rates 171-173 may be a number of pulses or rhythms of a musical piece per unit time, such as beat-per-minute (BPM). Media contents 161-163 may be manually selected or entered by user 120, or may be received from a device, such as a server, a wearable device of another user, or other memory. Physiological rate coaching manager 110 may process sensor data 130 received from one or more sensors to determine a difference 150 from the target physiological rate 140. For example, sensor data 130 may include data representing a heart rate detected by a sensor coupled to one of wearable devices 121-124. Sensor data 130 may be compared to target physiological rate 140 to determine difference 150. Physiological rate coaching manager 110 may modify a presentation of media contents 161-163 based on difference 150.

In some examples, physiological rate coaching manager 110 may modify a rate of presentation of media contents 161-163 based on difference 150. Physiological rate coaching manager 101 may modify a rhythm rate or BPM of media contents 161-163. Physiological rate coaching manager 101 may speed up or slow down the presentation of media contents 161-163. Media contents 161-163 may have rhythm rates 171-173 that may be increased or decreased within a predetermined range, such as within 15% of rhythm rates 171-173, which may be a range within which modification to the rhythm rates 171-173 may be made while reducing or eliminating a distortion or modification that would be uncomfortable for, undesired or otherwise detected by user 120. A predetermined range of a rhythm rate of a media content may be a function of a range of pitches. A predetermined range of a rhythm rate of a media content may be a range within which the rhythm rate may be modified or adjusted while making substantially no change to the pitch of the media content. A predetermined range of a rhythm rate of a media content may be a range within which the rhythm rate may be modified while a change or modification to the pitch remains within a range of pitches, e.g., within 5% of the original pitch of the media content, or other percentage or number. For example, when difference 150 is substantially zero, the rate of presentation of media contents 161-163 may be modified such that rhythm rates 171-173 are substantially equal to target physiological rate 140, or such that rhythm rates 171-173 are substantially equal to a multiple or division by an even number (e.g., two, four, six, etc.) of target physiological rate 140. As another example, sensor data 130 may indicate that a heart rate is below target physiological rate 140, and a faster presentation of media contents 161-163 may be provided to increase rhythm rates 171-173 to induce or encourage an increase in heart rate to meet target physiological rate 140. In other examples, physiological rate coaching manager 110 may modify a presentation of media contents 161-163 by fading out a media content being presented and fading in another media content. Physiological rate coaching manager 110 may gradually decrease the volume of one media content while gradually increase the volume of another media content. Physiological rate coaching manager 110 may reduce an amplitude of an audio signal associated with one media content in coordination with increasing an amplitude of another audio signal associated with another media content. For example, sensor data 130 may indicate that a breathing rate is above target physiological rate 140 while media content 161 is being presented. Rhythm rate 171 of media content 161 may be lowered until it reaches the lower end of the predetermined range within which undesired distortion is not detected by user 120. Sensor data 130 may continue to indicate that the breathing rate is above target physiological rate 140. Physiological rate coaching manager 110 may present a fading out of media content 161 and a fading in of media content 162, which has a lower rhythm rate than media content 161. Rhythm rate 172 of media content 162 may be lowered to induce a lowering of the breathing rate. In other examples, physiological rate coaching manager 110 may change the sequence of the media contents 161-163. In other examples, physiological rate coaching manager 110 may terminate, pause, or stop the presentation of media contents 161-163. Still, physiological rate coaching manager 110 may perform other modifications on the presentation of media contents 161-163.

Wearable devices 121-124 may be may be worn on or around an arm, leg, ear, or other bodily appendage or feature, or may be portable in a user's hand, pocket, bag or other carrying case. As an example, a wearable device may be a data-capable band 121-122, a smartphone 123, and a headset 124. Other wearable devices such as a watch, data-capable eyewear, cell phone, tablet, laptop or other computing device may be used.

Wearable devices 121-124 may be configured to capture or detect data using one or more sensors. A sensor may be internal to a wearable device (e.g., a sensor may be integrated with, manufactured with, physically coupled to the wearable device, or the like) or external to a wearable device (e.g., a sensor physically coupled to wearable device 121 may be external to wearable device 122, or the like). A sensor external to a wearable device may be in data communication with the wearable device, directly or indirectly, through wired or wireless connection. Various sensors may be used to capture various sensor data. Sensor data may be physiological data. For example, a heart rate or pulse sensor may be used to capture a heart rate of user 120. A blood pressure monitor may be used to capture a blood pressure. A thermometer may be used to capture a temperature. A breathing rate sensor may be used to capture a breathing rate. Sensor data may also be activity data. For example, an accelerometer may be used to capture acceleration or other motion data. Still, other sensors may be used. For example, a Global Positioning System (GPS) receiver may be used to detect a location of user 120.

FIG. 2 illustrates a network of wearable devices to be used with a physiological rate coaching manager, according to some examples. As shown, FIG. 2 includes wearable devices 221-225 and server or node 280. Node 280 may be a server, or another device having a memory accessible by a plurality of users (e.g., another wearable device, or another computing device). Wearable device 221 may be a smartphone or cellphone, wearable devices 222-223 may be a data-capable strapband or band, wearable device 224 may be a headset, and wearable device 225 may be a speaker box or media device. Still other devices (e.g., wearable or non-wearable speaker box or media device, laptop, computer, etc.) may be used. Server 280 may be a computer or computer program configured to provide a network service or a centralized resource to wearable devices 221-225. Server 280 may have a memory accessible by wearable devices 221-225. As shown, wearable devices 221-225 may be in direct data communication (e.g., directly communicating with each other) or indirect data communication (e.g., communicating with server 280, which then communicates with another wearable device). One or more wearable devices of a user may be used by or with a physiological rate coaching manager. For example, a user may have band 222 worn on an arm, band 223 worn on a leg, headset 224 worn on an ear, and smartphone 221 (as shown in FIG. 1). One or more of wearable devices 221-225 may be physically coupled to a sensor such as a heart rate sensor. Wearable devices 221-225 may also be in data communication with one or more remote sensors. Sensor data from wearable devices 221-225 may be used in conjunction to determine a physiological rate, such as a heart rate, of the user. Sensor data may be transmitted from wearable devices 221-225 to a physiological rate coaching manager. The physiological rate coaching manager may be executed on smartphone 221, a computing device (e.g., wearable devices 221-225, or others), server 280, or distributed over server 280 and/or one or more computing devices. Wearable devices 221-225 may also access server 280 for media contents and other applications or resources. The physiological rate manager may process the sensor data to determine a difference from a target physiological rate, and may modify a presentation of media contents based on the difference. The physiological rate coaching manager may be in data communication with a speaker. The speaker may be coupled to headset 224, media device 225, or another device. The physiological rate coaching manager may cause a presentation or a modified presentation of media contents on a speaker. For example, the physiological rate coaching manager may increase a rate of presentation of media contents at a speaker. As another example, the physiological rate coaching manager may terminate or pause presentation of media contents at a speaker. Still, other implementations and/or network configurations may be used with a physiological rate coaching manager.

FIG. 3A illustrates an application architecture for a physiological rate coaching manager, according to some examples. As shown, a physiological rate coaching manager 310 may include bus 301, target facility 311, difference evaluator 312, media content selector 313, modification facility 314, communications facility 315, and interruption facility 316. As used herein, “facility” refers to any, some, or all of the features and structures that are used to implement a given set of functions, according to some embodiments. Physiological rate coaching manager 310 may also be in data communication with sensor 330, speaker 360, user interface 318, fitness plan library 381, media collections library 382, and interruption pattern library 383. Elements 311-316 may be integrated with physiological rate coaching manager 310 (as shown) or may be distributed or remote from physiological rate coaching manager 310. Sensor 330, speaker 360, and user interface 318 may be integrated with physiological rate coaching manager 310, or may be in data communication with physiological rate coaching manager 310 through communications facility 315, using wired or wireless communication. Fitness plan library 381, media and collections library 382, and interruption pattern library 383 may be stored or implemented on a memory or data storage that is integrated with physiological rate coaching manager 310, or an external memory or node that is in data communication with physiological rate coaching manager 310 through communications facility 315, using wired or wireless communication (e.g., another device or a server). For example, libraries 381-383 may be implemented using various types of data storage technologies and standards, including, without limitation, read-only memory (“ROM”), random access memory (“RAM”), dynamic random access memory (“DRAM”), static random access memory (“SRAM”), static/dynamic random access memory (“SDRAM”), magnetic random access memory (“MRAM”), solid state, two and three-dimensional memories, Flash®, and others. Libraries 381-383 may also be implemented on a memory having one or more partitions that are configured for multiple types of data storage technologies to allow for non-modifiable (i.e., by a user) software to be installed (e.g., firmware installed on ROM) while also providing for storage of captured data and applications using, for example, RAM. Libraries 381-383 may be implemented in the same memory or separate memories. Libraries 381-383 may be implemented on a memory such as a server that may be accessible to a plurality of users, such that one or more users may share, access, create, modify, or use fitness plans, media contents, and interruption patterns. Once captured and/or stored in libraries 381-383, data may be subjected to various operations performed by other elements of physiological rate coaching manager 310, as described herein.

Target facility 311 may be configured to receive or determine data representing a target physiological rate, such as a target heart rate, target respiratory rate, and the like. In some examples, a user manually enters or selects a target physiological rate using user interface 318. In some examples, a user may use user interface 318 to select a fitness plan from fitness plan library 381. Target facility 311 may retrieve, store, and share fitness plans using fitness plan library 381. A fitness plan may specify, define, suggest, or determine a plurality of target physiological rates over a time period. A fitness plan may be associated with an exercise zone (see FIG. 4). A fitness plan may further determine or suggest exercises, diets, or activities associated with attaining or maintaining a target physiological rate. A fitness plan may be a plan for one exercise workout, for example, for a run, weight training session, yoga session, and the like. A fitness plan may also be a plan for a series of workouts, for example, a 3-month training program for a marathon, a 1-month weight loss plan, and the like. A fitness plan may also be a plan for daily or routine activities, such as a normal workweek, including commuting to and from work, and the like. For example, a fitness plan may specify an interval training, which may be a series of low- to high-intensity exercises interspersed with rest or relief periods (e.g., heart rate of 155 beats per minute for 15 minutes, then heart rate of 130 beats per minute for 15 minutes, then heart rate of 155 beats per minute for 15 minutes). For example, a fitness plan may specify a target heart rate for a jog along a specific route in the neighborhood. The plan may specify a higher target heart rate during uphill slopes of the jog, and a lower target heart rate during downhill slopes. The plan may also specify target heart rates to build a user's endurance and stamina, such that the user may maintain a substantially steady speed throughout the jog. After a user selects a fitness plan, target facility 311 may retrieve the fitness plan from fitness plan library 381, and determine a target physiological rate based on the fitness plan. In some examples, target facility 311 may suggest or recommend a target physiological rate or fitness plan to the user. Target facility 311 may suggest a target physiological rate based on, for example, historic data associated with the user, fitness goals of the user, and the like. In some examples, fitness plans stored on fitness plan library 381 may be shared and accessible to a plurality of users. For example, target physiological rates or fitness plans of other users such as the user's friends, the user's favorite athletes, and the like, may be stored on fitness plan library 381. Target facility 311 may also upload or share the user's fitness plans using fitness plan library 381. Still other implementations may be used by or with target facility 311.

Difference evaluator 312 may be configured to process sensor data received from sensor 330 to determine a difference from a target physiological rate. For example, difference evaluator 312 may process sensor data to determine a heart rate detected by sensor 330. Difference evaluator 312 may compare the detected heart rate to a target heart rate, and determine a difference. The difference may be used to modify a presentation of media contents, or for other purposes.

In some examples, target facility 311 may receive or determine data representing a target activity rate. Sensor data may include activity data or motion data. Motion data may be captured or detected by an accelerometer or other motion sensor. Motion data may include a variety of parameters related to motion, such as acceleration, velocity, direction, and the like. Difference evaluator 312 may process the activity data or motion data to determine a difference from the target activity rate. An activity rate may be a rate of a substantially repeated or cyclic motion unit, such as a step (e.g., walking from left foot to right foot, or from right foot to left foot), stride (e.g., two steps), a lifting of a weight, a bicycle step, a swim stroke, and the like. Difference evaluator 312 may process the motion data to determine a rate at which a motion pattern or motion feature is substantially repeated. A motion feature may include a parameter of motion data that indicates a start of a cyclic motion unit, such as, a certain change in acceleration, a crossing of a threshold in acceleration, a change in direction, or the like. Difference evaluator 312 may compare the activity rate detected to a target activity rate to determine a difference. This difference may also be used to modify a presentation of media contents, or for other purposes.

Media content selector 313 may be configured to select a subset of files having data representing media contents to be presented based on a target physiological rate. A media content may have a rhythm rate, which may be the rate of a pulse or beat of a musical piece. The rhythm rate (e.g., the rate of presentation/playback, etc.) may be increased or decreased (e.g., by time-shifting, etc.) within a predetermined range, such as within 15% or another percentage or range of the original rhythm rate, before a distortion or modification would be uncomfortable for, undesired or otherwise detected by a user. Modification of the rhythm rate beyond the predetermined range may cause distortion of the media content, or may be rejected, unwanted, or disfavored by the user. Thus media content selector 313 may select media contents that have rhythm rates within a predetermined range of the target physiological rate. For example, a target physiological rate may be a heart rate of 120 beats per minute. Media content selector 313 may select media contents that have rhythm rates within 15% of 120 BPM, for example, between 102 BPM and 138 BPM. Presentation of the media contents may then be modified by modification facility 314 such that, for example, the modified rhythm rates of the media contents are substantially equal to the target physiological rate.

In some examples, a multiple or division by an even number of the target physiological rate may be within a predetermined range of the original rhythm rate of a media content. For example, if a halving of the target physiological rate (e.g., target physiological rate divided by two) is within a predetermined range of a rhythm rate, then one rhythm or beat of a media content may be configured to induce, encourage, or coach a user's heart to provide two beats. As another example, two rhythms or beats of a media content may be used to induce a user's heart to provide one beat. Other even numbers may be used for multiplying or dividing the target physiological rate. For example, one beat of a media content may be used to induce a user's heart to provide four beats. For example, a target physiological rate may be a heart rate of 120 beats per minute. A media content may have an original rhythm rate of 65 BPM, and a predetermined range may be 15% of the original rhythm rate. Media content selector 313 may determine that a halving of the target physiological rate (e.g., 120 beats per minute/2=60 beats per minute) is within the predetermined range of the rhythm rate (e.g., 65 BPM). Media content selector 313 may select this media content based on the target physiological rate.

In some examples, media content selector 313 may select media files from media and collections library 382. Media and collections library 382 may store one or more files having data representing media contents, and/or one or more collections of files. A user may manually enter or select a media content from media and collections library 382 using user interface 318. A collection of files may be a set of media contents or a playlist associated with a target physiological rate. A collection of files may be a set of media contents that result in or correspond with good performance, or a substantial match between the detected physiological rate and the target physiological rate, based upon historical data of the user, or based upon data from other users. A collection of files may be a subset of or overlap with media contents that the user has marked as “favorites.” A collection of files may be a set of media contents having a genre, style, artist, lyrics, or other parameter that is suitable for or associated with the target physiological rate. For example, a user's historic data shows that she meets a target physiological rate when songs from a certain artist are being presented. A collection of files associated with this target physiological rate may include these songs as well as other songs from the same artist. Media and collections library 382 may be accessible by a plurality of users.

In some examples, media content selector 313 may select the subset of files from a collection of files associated with the target physiological rate. Media content selector 313 may use communications facility 315 to retrieve data directly or indirectly from media and collections library 382. In some examples, media content selector 313 may create or modify a collection of files. Media content selector 313 may store, upload, or share a collection of files using media and collections library 382. For example, media content selector 313 may compare the difference between a detected physiological rate and the target physiological rate while a first media content is being presented to another difference between a detected physiological rate and the target physiological rate while a second media content is being presented. Media content selector 313 may determine that the difference associated with the first media content is smaller than the difference associated with the second media content. Media content selector 313 may add the first media content to a collection of files associated with the target physiological rate, for example, a collection of files that correlate or correspond with achieving the target physiological rate. Media content selector 313 may add the second media content to a collection of files associated with the target physiological rate, for example, a collection of files that correlate with not achieving the target physiological rate. Media content selector 313 may further cause communications facility 315 to transmit and store data representing a modified or newly created collection to media and collections library 382.

Modification facility 314 may be configured to modify a presentation of a subset of files having data representing media contents based on the difference between a detected physiological rate and the target physiological rate. Modification facility 314 may modify a rate of the presentation of the subset of files, for example, by speeding up or slowing down the presentation to increase or decrease the rhythm rate or BPM of the media contents. For example, modification facility 314 may modify a rhythm rate of a media content such that a modified rhythm rate is substantially equal to the target physiological rate. As another example, a halving of the target physiological rate may be within a predetermined range of a rhythm rate of a media content. For example, a media content may have an original rhythm rate of 65 BPM, and a target physiological rate may be a heart rate of 120 beats per minute. Modification facility 314 may adjust the rhythm rate to be 60 BPM, so that every beat of the media content may induce two heartbeats. The modified rhythm rate (e.g., 60 BPM) may be within a predetermined range of the original rhythm rate (e.g., 65 BPM), such that the modification does not cause undesired distortion of the media content. In some examples, modification facility 314 may determine that the difference is greater than a threshold while one of the subset of files is being presented, and may present a fading out of the file and fading in of another file. Modification facility 314 may gradually decrease the volume of a media content that does not correspond to achieving the target physiological rate while gradually increase the volume of another media content. Still, other modifications may be made.

Interruptions facility 316 may be configured to cause a termination of a presentation of media contents based on sensor data received from sensor 330. Interruptions facility 316 may terminate, stop, or pause a presentation of media contents when sensor data matches an interruption pattern stored in interruption pattern library 383. An interruption pattern may be a pattern of sensor data that is associated with terminating or interrupting a presentation of media content. For example, an interruption pattern may include sensor data indicating that the difference from the target physiological rate is greater than a threshold. An interruption pattern may include sensor data indicating that a detected physiological rate or a detected activity rate is below a threshold. An interruption pattern may include sensor data indicating that a certain motion that may imply that the user is being distracted or interrupted has occurred (e.g., a turning of a user's head). In some examples, interruption facility 316 may determine that the difference between a detected physiological rate and the target physiological rate is greater than a threshold, and terminate a presentation of the media contents. Interruption facility 316 may further present another media content, which may not have been originally selected by media content selector 313. For example, interruption facility 316 may present a media content that is disfavored or disliked by the user. Interruption facility 316 may use a disliked media content to induce or encourage the user to reduce the difference between the detected physiological rate and the target physiological rate. The disliked media content may be a song, music, voice recording or other sound or video recording. For example, it may be a voice stating, “You're falling behind!” In other examples, interruption facility 316 may receive motion data from sensor 330 indicating that a user has turned his head. A user turning his head may imply or indicate that the user is distracted, started a conversation with another person, paying attention to conditions on the road, and the like. Sensor 330 may be, for example, an accelerometer located at a headset worn on a user's ear. Interruption facility 316 may compare the motion data to an interruption pattern and determine a match. Interruptions facility 316 may then terminate, pause, stop, or reduce the volume of a presentation of media contents at a speaker.

Communications facility 315 may include a wireless radio, control circuit or logic, antenna, transceiver, receiver, transmitter, resistors, diodes, transistors, or other elements that are used to transmit and receive data, including broadcast data packets, from other devices. In some examples, communications facility 315 may be implemented to provide a “wired” data communication capability such as an analog or digital attachment, plug, jack, or the like to allow for data to be transferred. In other examples, communications facility 315 may be implemented to provide a wireless data communication capability to transmit digitally encoded data across one or more frequencies using various types of data communication protocols, such as Bluetooth, Wi-Fi, 3G, 4G, without limitation.

Sensor 330 may be various types of sensors and may be one or more sensors. Sensor 330 may be configured to detect or capture an input to be used by physiological rate coaching manager 310. For example, sensor 330 may detect an acceleration (and/or direction, velocity, etc.) of a motion over a period of time. In some examples, sensor 330 may include an accelerometer. An accelerometer may be used to capture data associated with motion detection along 1, 2, or 3-axes of measurement, without limitation to any specific type of specification of sensor. An accelerometer may also be implemented to measure various types of user motion and may be configured based on the type of sensor, firmware, software, hardware, or circuitry used. In some examples, sensor 330 may include a gyroscope, an inertial sensor, or other motion sensors. In other examples, sensor 330 may include an altimeter/barometer, light/infrared (“IR”) sensor, pulse/heart rate (“HR”) monitor, audio sensor (e.g., microphone, transducer, or others), pedometer, velocimeter, GPS receiver or other location sensor, thermometer, environmental sensor, or others. An altimeter/barometer may be used to measure environmental pressure, atmospheric or otherwise, and is not limited to any specification or type of pressure-reading device. An IR sensor may be used to measure light or photonic conditions. A heart rate monitor may be used to measure or detect a heart rate. An audio sensor may be used to record or capture sound. A pedometer may be used to measure various types of data associated with pedestrian-oriented activities such as running or walking. A velocimeter may be used to measure velocity (e.g., speed and directional vectors) without limitation to any particular activity. A GPS receiver may be used to obtain coordinates of a geographic location using, for example, various types of signals transmitted by civilian and/or military satellite constellations in low, medium, or high earth orbit (e.g., “LEO,” “MEO,” or “GEO”). In some examples, differential GPS algorithms may also be implemented with a GPS receiver, which may be used to generate more precise or accurate coordinates. In other examples, a location sensor may be used to determine a location within a cellular or micro-cellular network, which may or may not use GPS or other satellite constellations. A thermometer may be used to measure user or ambient temperature. An environmental sensor may be used to measure environmental conditions, including ambient light, sound, temperature, etc. Still, other types and combinations of sensors may be used. Sensor data captured by sensor 330 may be used by physiological rate coaching manager 310 to modify a presentation of media contents. For example, a GPS receiver may detect that a user is located at a gym rather than outdoors. Physiological rate coaching manager 310 may select media contents suitable for or corresponding with indoor listening. As another example, a heart rate monitor may detect that a heart rate is high, while an accelerometer may detect that a stride rate is low. Physiological rate coaching manager 310 may present media contents that may induce the user to rest, since the user's heart rate may be inappropriately high due to stress or other factors not related to his stride rate or activity. Still, other uses and purposes may be implemented.

Speaker 360 may include hardware and software, such as a transducer, configured to produce sound energy or audible signals in response to a data input, such as a file having data representing a media content. Speaker 360 may be coupled to a headset, a media device, or other device. Physiological rate coaching manager 310 may modify a presentation of media contents based on sensor data received from sensor 330, and may cause the modified presentation to be presented at speaker 360.

User interface 318 may be configured to exchange data between a device and a user. User interface 318 may include one or more input-and-output devices, such as a keyboard, mouse, audio input (e.g., speech-to-text device), display (e.g., LED, LCD, or other), monitor, cursor, touch-sensitive display or screen, and the like. Physiological rate coaching manager 310 may use user interface 318 to receive user-entered data, such as a selection of a media content, an entry of a target physiological rate or a fitness plan, and the like. Physiological rate coaching manager 310 may also use user interface 318 to present information associated with sensor data received from sensor 330, or information associated with the difference between a detected physiological rate and the target physiological rate. For example, user interface 318 may display a message stating that the detected heart rate is 10 beats per minute lower than the target. As another example, user interface 318 may display a message stating that the detected heart rate is 15 beats per minute lower than the average detected heart rate from yesterday. As another example, user interface 318 may use a vibration generator to generate a vibration indicating or alerting the user that a detected heart rate is above a maximum threshold. As another example, a user may use user interface 318 to enter biographical information, such as age, sex, and the like. Biographical information may be used by physiological rate coaching manager 310 to suggest or determine a fitness plan, or for other purposes. Still, other implementations of user interface 318 may be used.

FIG. 3B illustrates another application architecture for a physiological rate coaching manager, according to some examples. As shown, physiological rate coaching manager 310 includes modification facility 314, target facility 311, activity rate sensor 317, physiological rate sensor 319, modified rhythm rate 371, target physiological rate 341, detected activity rate 332, and detected physiological rate 331. The spikes or sharp increases in line 371 may indicate a beat or pulse of a media content. For example, the number of spikes per unit time may indicate a rhythm rate or BPM. The spikes in lines 341 and 331 may indicate a cyclical physiological parameter, such as a heartbeat, etc. The spikes in line 332 may indicate a cyclical motion unit, such as a stride, swim stroke, etc. Detected activity rate 332 may be captured by activity rate sensor 317. Detected physiological rate 331 may be captured by physiological rate sensor 319. Target physiological rate 341 may be set or determined by target facility 311. Modification facility 314 may be configured to present modified rhythm rate 371 to encourage a user to achieve target physiological rate 341. For example, modification facility 314 may be configured to present modified rhythm rate 371 to encourage an activity rate 332 correlated with target physiological rate 341. Modified rhythm rate 371 may be correlated with detected physiological rate 331 and target physiological rate 341, and may be the same as or different from detected physiological rate 331 and target physiological rate 341. For example, an increase in modified rhythm rate 371 may lead to or encourage an increase in detected physiological rate 331. Modified rhythm rate 371 may also be correlated with a detected activity rate 332, and may be the same as or different from detected activity rate 332. For example, an increase in modified rhythm rate 371 may lead to or encourage an increase in detected activity rate 332.

As shown, for example, a user may adjust his activity such that his detected activity rate 332 substantially equals modified rhythm rate 371. As another example, detected activity rate 332 may have another correlation with modified rhythm rate 371. While detected activity rate 332 changes, detected physiological rate 331 may change proportionally, or with another type of correlation. For example, as a person walks faster, his heart rate may increase. Detected physiological rate 331 and detected activity rate 332 may be compared against target physiological rate 341 and modified rhythm rate 371, and the result of the comparisons may be used by modification facility 314 to further modify the rhythm rate. For example, the difference between detected physiological rate 331 and target physiological rate 341 may be used to modify the rhythm rate. As another example, the difference between detected activity rate 332 and modified rhythm rate 371 may be used to modify the rhythm rate. For example, detected activity rate 332 may be lower than modified rhythm rate 371, and modified rhythm rate 371 may be increased to further encourage a higher activity rate. As another example, detected physiological rate 331 may be substantially equal to target physiological rate 341 (e.g., the user has achieved target physiological rate 341), and detected activity rate 332 may be higher than modified rhythm rate 371. Modification facility 371 may increase modified rhythm rate 371, to encourage the user to maintain detected activity rate 332, which may be correlated with a detected physiological rate 331 that substantially equals target physiological rate 341. Still, other implementations may be used.

FIG. 4 illustrates exercise zones corresponding to physiological rates to be used with a physiological rate coaching manager, according to some examples. Different exercise zones may correspond to different heart rates. Different physiological goals may be achieved in different exercise zones. Different exercise zones may be used to set or determine a target physiological rate or fitness plan to be used with a physiological rate coaching manager. For example, healthy heart zone 441 may correspond to 50% to 60% of a user's maximum heart rate. In this zone, a user may burn a certain percentage of carbohydrates (e.g., 10%), a certain percentage of protein (e.g., 5%), and a certain percentage of fat (e.g., 85%). For example, fitness zone 442 may correspond to 60% to 70% of a user's maximum heart rate. In this zone, a user may burn a certain percentage of carbohydrates (e.g., 10%), a certain percentage of protein (e.g., 5%), and a certain percentage of fat (e.g., 85%). For example, aerobic zone 443 may correspond to 70% to 80% of a user's maximum heart rate. In this zone, a user may burn a certain percentage of carbohydrates (e.g., 50%), a certain percentage of protein (e.g., less than 1%), and a certain percentage of fat (e.g., 50%). For example, anaerobic zone 444 may correspond to 80% to 90% of a user's maximum heart rate. In this zone, a user may burn a certain percentage of carbohydrates (e.g., 85%), a certain percentage of protein (e.g., less than 1%), and a certain percentage of fat (e.g., 15%). For example, red-line zone 445 may correspond to 90% to 100% of a user's maximum heart rate. In this zone, a user may burn a certain percentage of carbohydrates (e.g., 90%), a certain percentage of protein (e.g., less than 1%), and a certain percentage of fat (e.g., 10%). Zones 441-445 may be stored in a fitness plan library, and may be used to derive various fitness plan. For example, a user may select fitness zone 442 for an exercise, and a physiological rate coaching manager may retrieve from a fitness plan library a target physiological rate associated with fitness zone 442. The target physiological rate for a zone may depend on a user's historical data (e.g., the user's maximum heart rate in the past, the user's heart rate while performing an activity at a certain rate, etc.) and biographical data (e.g., age, sex, etc.).

FIG. 5A illustrates media contents selected for presentation by a physiological rate coaching manager based on a target physiological rate, according to some examples. As shown, FIG. 5A includes target physiological rate 540, modified rhythm rate 590, media contents 561-654, and original rhythm rates 571-574. Target physiological rate 540 may be determined based on user input or a predetermined fitness plan stored in a fitness plan library. Target physiological rate 540 may specify a target heart rate to be attained during a workout. Modified rhythm rate 590 may be a rhythm rate that may induce, encourage, guide, or coach the user in attaining target physiological rate 540. For example, modified rhythm rate 590 may be substantially equal to target physiological rate 540. As another example, modified rhythm rate 590 may be correlated with target physiological rate 540, but not may be substantially equal to target physiological rate 540. For example, modified rhythm rate 590 may be correlated with an activity rate that is correlated with target physiological rate 540. Media contents 561-564 may have original rhythm rates 571-574, which may be determined by an artist, singer, producer, or the like. A physiological rate coaching manager may select media contents 561-564 and place them in an order or sequence, such that rhythm rates 571-574 correspond with modified rhythm rate 590. For example, at the beginning, modified rhythm rate 590 may be high, and rhythm rates 572-573 may also be high. At a later time, modified rhythm rate 590 may be low. This may indicate a rest or relief period during an interval training. Media content 564 with a low rhythm rate 574 may be presented at this time. In some examples, the ending of media content 563 may not correspond with the timing of the rest period during the interval training. Media content 563 may not be completely presented at the time the modified rhythm rate 590 becomes low. Media content 563 may be, for example, faded out, and media content 564, having a lower rhythm rate 574, may be faded in. The fading in and out may be indicated by the shaded section 565. A fading out may be presented by gradually decreasing a volume of an audio signal, and a fading in may be presented by gradually increasing the volume of another audio signal. The two audio signals may or may not overlap during the fading in and out.

In some examples, a target activity rate (not shown) may be used in lieu of or in conjunction with target physiological rate 540 to select media contents and/or modify the presentation of media contents. In some examples, target physiological rate 540 may be substantially equal to the target activity rate (e.g., a target heartbeat is substantially equal to a target stride rate). Modified rhythm rate 590 may be substantially equal to target physiological rate 540 and the target activity rate, and media contents may be selected based on whether their rhythm rates may be modified to match modified rhythm rate 590. In other examples, target physiological rate 540 may be different from the target activity rate. During some activities having a repeated or cyclical motion, such as running, for example, modified rhythm rate 590 may be set to be substantially equal to the target activity rate, rather than target physiological rate 540. During other activities, such as yoga, weight lifting, and the like, for example, modified rhythm rate 590 may be set to be substantially equal to target physiological rate 540, rather than the target activity rate. In such activities having no cyclical motion, there may not be a target activity rate. In other examples, modified rhythm rate 590 may be used to encourage both target physiological rate 540 and a target activity rate. For example, media contents having rhythm rates between target physiological rate 540 and the target activity rate may be selected. As another example, a physiological rate coaching manager may determine a first difference between a detected physiological rate and target physiological rate 540, and a second difference between a detected activity rate and the target activity rate. If either the first difference or the second difference fall below a threshold, modified rhythm rate 590 may be adjusted. Still, other implementations may be possible.

FIG. 5B illustrates media contents selected for presentation by a physiological rate coaching manager based on a target physiological rate, according to some examples. As shown, FIG. 5B includes a target physiological rate 541, wherein the spikes or sharp increases in line 541 indicate a cyclical physiological parameter, such as a heartbeat. For example, spike 542 may indicate a first heartbeat, and spike 543 may indicate a second heartbeat. For example, the number of spikes per unit time may indicate a heart rate. FIG. 5B also includes original rhythm rates 576-577 of two different media contents. Similarly, the spikes or sharp increases in lines 576-577 indicate a beat or pulse of the media contents. For example, the number of spikes per unit time may indicate a rhythm rate or BPM. As shown, for example, the BPM indicated by line 576 is slower than the BPM indicated by line 577. A physiological rate coaching manager may determine whether to select media contents having rhythm rates 576-577 to be presented based on target physiological rate 541. As described above, rhythm rates 576-577 may have a predetermined range within which the rhythm rates 576-577 may be modified. Modification beyond the predetermined range may lead to unwanted or undesired distortion. In one example, the predetermined range may be 15% of the original rhythm rate, and a modified rhythm rate may be 15% below or above the original rhythm rate. In another example, the predetermined range may be a number of BPM, for example, 10 BPM, and a modified rhythm rate may be 10 BPM below or above the original rhythm rate. In yet another example, the upper range and the lower range may be different. For example, the predetermined range may be 15% above the original rhythm rate to 10% below the original rhythm rate. In some examples, to encourage a user to achieve target physiological rate 541, a modified rhythm rate may substantially equal the target physiological rate 541, or a modified rhythm rate may substantially equal a doubling or halving (or multiplication or division by another even number) of the target physiological rate 541. As shown, for example, a doubling of target physiological rate 541 may be substantially equal to rhythm rate 576. Rhythm rate 576 may be, for example, 200 BPM, and target physiological rate 541 may be, for example, a heart rate of 100 beats per minute. Thus, a physiological rate coaching manager may present rhythm rate 576 and may use two rhythms or beats of the media content to induce, encourage, train, or coach the user to provide one cyclical physiological parameter, such as a heartbeat. A physiological rate coaching manager may select the media content with rhythm rate 576 to be used with target physiological rate 541. As another example, a media content may have an original rhythm rate four times the target physiological rate. A rhythm rate may be, for example, 320 BPM, and a target physiological rate may be, for example, a heart rate of 80 beats per minute. A physiological rate coaching manager may use four beats of the media content to encourage one heartbeat.

As shown, for example, rhythm rate 577 may not be substantially equal to target physiological rate 541, and may not be substantially equal to a multiple or division by an even number of target physiological rate 541. For example, target physiological rate 541 may not be within a predetermined range of rhythm rate 577, and a halving or doubling of target physiological rate 541 may not be in a predetermined range of rhythm rate 577. Rhythm rate 577 of a media content may be, for example, 180 BPM, and target physiological rate 541 may be, for example, a heart rate of 130 beats per minute. A predetermined range within which the media content may be modified without unwanted distortion may be, for example, 15% of the original rhythm rate. The media content may be modified to have a rhythm rate of, for example, 153 BPM to 207 BPM (e.g., 15% of 180 BPM) to remain within the predetermined range, and target physiological rate 541 may not fall within the range. Similarly, a halving of target physiological rate 541 (e.g., 130 beats per minute/2=75 beats per minute) and a doubling of target physiological rate 541 (e.g., 130 beats per minute×2=260 beats per minute) may not fall within the range. A physiological rate coaching manager may determine that the media content having rhythm rate 577 may not be used to induce or encourage target physiological rate 541, and may not select this media content to be presented.

FIG. 6A illustrates a modification of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples. As shown, FIG. 6A includes target physiological rate 640, detected physiological rate 630, difference 650, modified rhythm rate 690, and a media content 661. A physiological rate coaching manager may modify a presentation of media contents based on difference 650 in a variety of ways. For example, a physiological rate coaching manager may process sensor data to determine a difference 650 between detected physiological rate 630 and target physiological rate 640 at time t. Based on the difference, the physiological rate coaching manager may modify or adjust modified rhythm rate 690 at time t, while presenting the same media content 661. For example, media content 661 may be presented at its original rhythm rate before time t. When difference 650 is detected, media content 661 continues to be presented, but is presented at a different rate. As shown, for example, detected physiological rate 630 is below target physiological rate 640. Modified rhythm rate 690 may be increased to encourage a user to increase his physiological rate.

FIG. 6B illustrates another modification of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples. As shown, FIG. 6B includes target physiological rate 640, detected physiological rate 630, difference 650, modified rhythm rate 690, and media contents 662-663. For example, a physiological rate coaching manager may process sensor data to determine a difference 650 between detected physiological rate 630 and target physiological rate 640 at time t. Based on the difference, the physiological rate coaching manager may modify or adjust modified rhythm rate 690 at time t, by ending the presentation of media content 662 and starting the presentation of media content 663. As shown, for example, detected physiological rate 630 is below target physiological rate 640. In one example, media content 663 may have an original rhythm rate that is higher than media content 662. In another example, before time t, media content 662 may be presented at a modified rhythm rate that is at or near the maximum of a predetermined range within which the rhythm rate may be modified before a distortion is detected. Since the rhythm rate of media content 662 may not be further increased, for example, the presentation of media content 662 may be ended or stopped, and the presentation of media content 663, having a higher original rhythm rate, may begin. In some examples, the transition between media contents 662-663 may include a fading out of media content 662 and a fading in of media content 663, as indicated by the shaded section 664. Media contents 662-663 may overlap with each other during the fading in and out. Still, other modifications may be possible.

FIG. 7 illustrates an interruption of a presentation of a media content by a physiological rate coaching manager based on sensor data, according to some examples. As shown, FIG. 7 includes target physiological rate 740, detected physiological rate 730, difference 750, modified rhythm rate 790, and media content 761, and other media content 769. A physiological rate coaching manager may modify a presentation of media contents based on difference 650 by interrupting, stopping, or pausing the presentation of media contents. A physiological rate coaching manager may stop a presentation of media content based on a match between sensor data and an interruption pattern. A physiological rate coaching manager may determine that detected physiological rate 730 matches an interruption pattern, difference 750 matches an interruption pattern, or other sensor data matches or is associated with an interruption pattern. For example, a physiological rate coaching manager may process sensor data to determine a difference 750 between detected physiological rate 760 and target physiological rate 740 at time t, while media content 761 is being presented. The physiological rate coaching manager may determine that difference 750 exceeds a threshold, and may stop or decrease the volume of the presentation of media content 761. The stop may be an abrupt stop or a fading out. In some examples, the physiological rate coaching manager may begin to present another media content 769. Media content 769 may not be one of the media contents selected by the physiological rate coaching manager based on target physiological rate 740. Media content 769 may be marked as “disfavored” by the user. Media content 769 may be a voice recording, such as a voice stating, “You are falling behind!”

In some examples, sensor data may include motion data (not shown). For example, an accelerometer may be physically coupled to a headset worn on a user's ear. Motion data may be detected by the accelerometer. An interruption pattern may be a motion associated with a turning of a user's head. A turning of a user's head may indicate that a user is being distracted or interrupted, or paying attention to her surroundings. A match may be determined between the motion data and the interruption pattern. Presentation of media content 761 may be stopped, which may allow the user to manage the distraction or interruption. As another example, sensor data may include location data (not shown). For example, a GPS receiver may be physically coupled to a wearable device worn by the user. An interruption pattern may be a location in a coffee shop or restaurant. A user at a coffee shop or restaurant may desire to order a drink. Presentation of media content 761 may be stopped, which may allow the user to engage with the surroundings, such as ordering a drink. A match between sensor data and an interruption pattern may be found if they are substantially the same, or match within a tolerance. Still, other interruption patterns may be used.

FIG. 8 illustrates adding a media content to a collection by a physiological rate coaching manager based on sensor data, according to some examples. As shown, FIG. 8 includes target physiological rate 840, detected physiological rate 830, difference 850, modified rhythm rate 890, media contents 861-862, favored collection 881, and disfavored collection 882. A physiological rate coaching manager may add a media content to a collection of media contents, such as a favored collection or a disfavored collection, based on detected physiological rate 830, difference 850 between detected physiological rate 830 and target physiological rate 840, and/or other sensor data. A collection may be stored in a local or external memory, and subsequently retrieved for use by a physiological rate coaching manager. For example, a collection may be used to select a subset of files associated with a target physiological rate. As another example, a collection may be shared with multiple users over a network using a node, server, or other intermediary device. As shown, for example, while media content 861 is presented, difference 850 is small, and while media content 862 is presented, difference 850 is large. As shown, modified rhythm rate 890 remains constant during this time period. Modified rhythm rate 890 may remain constant because, for example, difference 850 has not exceeded a threshold. In other examples, modified rhythm rate 890 may be adjusted (as shown in FIGS. 6A and 6B). For example, based on difference 850, media content 861 may be added to a favored collection 881, and media content 862 may be added to a disfavored collection 882. Favored collection 881 may include media contents associated with achieving target physiological rate 840, while disfavored collection 882 may include media contents associated with not achieving target physiological rate 840. Still, other collections may be created. For example, a collection may include media contents which a user has marked as “favorites.”

FIG. 9 illustrates a network of wearable devices of a plurality of users, the wearable devices to be used with physiological rate coaching managers, according to some examples. As shown, FIG. 9 includes server 980, fitness plan library 981, media and collections library 982, interruption pattern library 983, and users 921-923. Each user 921-923 may have one or more wearable devices having a physiological rate coaching manager. The wearable devices of users 921-923 may communicate with each other over a network, and may be in direct data communication with each other, or be in data communication with server 980. Server 980 may include fitness plan library 981, media collections library 982, and interruption pattern library 983. Fitness plan library 981 may have data representing a fitness plan or a target physiological rate. A fitness plan may correspond with a certain fitness goal. A fitness plan may correspond with a certain workout, for example, a run on a certain route in the neighborhood. A fitness plan may be a model fitness plan designed by a physician or trainer, or may be a model fitness plan that is used by a professional athlete. Media and collections library 982 may have data representing a media content and a collection. Interruption pattern library 983 may have data representing an interruption pattern, such as a threshold of a difference between a detected physiological rate and a target physiological rate, which, if crossed, triggers an interruption in a presentation of a media content. Fitness plans, media contents and collections, and interruption patterns may be shared among users over a network. Further, fitness plans, media contents and collections, and interruption patterns may be downloaded, purchased, or retrieved from a marketplace. A marketplace may be a portal, website, or centralized service from which a plurality of users may retrieve or download resources, such as fitness plans, media contents and collections, and interruption patterns. A marketplace may be accessible over a network, such as using server 980, or over the Internet, or other networks.

FIG. 10 illustrates a process for a physiological rate coaching manager, according to some examples. At 1001, data representing a target physiological rate may be received. The target physiological rate may be heart rate, a respiration rate, a metabolic rate, or other. The target physiological rate may be manually entered by a user, determined based on a fitness plan, or set based on other methods. At 1002, a subset of files having data representing media contents to be presented is selected based on the target physiological rate. For example, the media contents may have rhythm rates that may be modified to be used with the target physiological rate. For example, the target physiological rate may fall within a predetermined range within which the rhythm rates of the media contents may be modified. At 1003, sensor data received from one or more sensors (e.g., local or remote) may be processed to determine a difference from the target physiological rate. For example, heart rate data may be received from a heart rate sensor, and the detected heart rate may be compared to the target heart rate. At 1004, a presentation of the subset of files is modified based on the difference. For example, if the detected heart rate is slower than the target heart rate, a rate of presentation of the subset of files may be increased, to induce or encourage an increase in a user's heart rate. Other examples include modifying a presentation sequence of the subset of files, fading out and fading in certain files of the subset of files, interrupting or stopping the presentation of the subset of files, and others.

FIG. 11 illustrates a computer system suitable for use with a physiological rate coaching manager, according to some examples. In some examples, computing platform 1110 may be used to implement computer programs, applications, methods, processes, algorithms, or other software to perform the above-described techniques. Computing platform 1110 includes a bus 1101 or other communication mechanism for communicating information, which interconnects subsystems and devices, such as processor 1119, system memory 1120 (e.g., RAM, etc.), storage device 1118 (e.g., ROM, etc.), a communications module 1117 (e.g., an Ethernet or wireless controller, a Bluetooth controller, etc.) to facilitate communications via a port on communication link 1123 to communicate, for example, with a computing device, including mobile computing and/or communication devices with processors. Processor 1119 can be implemented with one or more central processing units (“CPUs”), such as those manufactured by Intel® Corporation, or one or more virtual processors, as well as any combination of CPUs and virtual processors. Computing platform 1110 exchanges data representing inputs and outputs via input-and-output devices 1122, including, but not limited to, keyboards, mice, audio inputs (e.g., speech-to-text devices), user interfaces, displays, monitors, cursors, touch-sensitive displays, LCD or LED displays, and other I/O-related devices. An interface is not limited to a touch-sensitive screen and can be any graphic user interface, any auditory interface, any haptic interface, any combination thereof, and the like. Computing platform 1110 may also receive sensor data from sensor 1121, including a heart rate sensor, a respiration sensor, an accelerometer, a gyroscope, a GPS receiver, and the like.

According to some examples, computing platform 1110 performs specific operations by processor 1119 executing one or more sequences of one or more instructions stored in system memory 1120, and computing platform 1110 can be implemented in a client-server arrangement, peer-to-peer arrangement, or as any mobile computing device, including smart phones and the like. Such instructions or data may be read into system memory 1120 from another computer readable medium, such as storage device 1118. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions for implementation. Instructions may be embedded in software or firmware. The term “computer readable medium” refers to any tangible medium that participates in providing instructions to processor 1119 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks and the like. Volatile media includes dynamic memory, such as system memory 1120.

Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read. Instructions may further be transmitted or received using a transmission medium. The term “transmission medium” may include any tangible or intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such instructions. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1101 for transmitting a computer data signal.

In some examples, execution of the sequences of instructions may be performed by computing platform 1110. According to some examples, computing platform 1110 can be coupled by communication link 1123 (e.g., a wired network, such as LAN, PSTN, or any wireless network) to any other processor to perform the sequence of instructions in coordination with (or asynchronous to) one another. Computing platform 1110 may transmit and receive messages, data, and instructions, including program code (e.g., application code) through communication link 1123 and communication interface 1117. Received program code may be executed by processor 1119 as it is received, and/or stored in memory 1120 or other non-volatile storage for later execution.

In the example shown, system memory 1120 can include various modules that include executable instructions to implement functionalities described herein. In the example shown, system memory 1120 includes target module 1111, difference module 1112, media content module 1113, modification module 1114, and interruption module 1116. A fitness plan library, a media and collections library, and an interruption pattern library may be stored on storage device 1118 or another memory.

Although the foregoing examples have been described in some detail for purposes of clarity of understanding, the above-described inventive techniques are not limited to the details provided. There are many alternative ways of implementing the above-described invention techniques. The disclosed examples are illustrative and not restrictive.

Claims

1. A method, comprising:

receiving data representing a target physiological rate;
selecting a subset of files having data representing media contents to be presented at a speaker based on the target physiological rate;
processing sensor data received from one or more sensors to determine a difference from the target physiological rate; and
modifying a presentation of the subset of files based on the difference.

2. The method of claim 1, wherein the modifying the presentation of the subset of files based on the difference comprises modifying a rate of the presentation of the subset of files.

3. The method of claim 1, wherein the modifying the presentation of the subset of files based on the difference comprises:

determining the difference is greater than a threshold while one of the subset of files is being presented; and
reducing an amplitude of an audio signal associated with the one of the subset of files in coordination with increasing an amplitude of another audio signal associated with another of the subset of files.

4. The method of claim 1, wherein the modifying the presentation of the subset of files based on the difference comprises:

determining the difference is greater than a threshold;
terminating the presentation of the subset of files; and
presenting a file having data representing another media content, the file not being one of the subset of files.

5. The method of claim 1, further comprising:

comparing the difference from the target physiological rate while one of the subset of files is being presented to another difference from the target physiological rate while another of the subset of files is being presented;
determining that the difference from the target physiological rate is smaller than the another difference from the target physiological rate; and
adding the one of the subset of files to a collection of files having data representing other media contents, the collection of files being associated with the target physiological rate and being stored in a memory.

6. The method of claim 5, wherein the memory is configured to be accessible by a plurality of users.

7. The method of claim 1, wherein the subset of files is selected from a collection of files having data representing other media contents, the collection of files being associated with the target physiological rate and being received from a node.

8. The method of claim 1, further comprising:

receiving data representing a fitness plan, the fitness plan configured to specify a plurality of planned physiological rates over a time period; and
determining the target physiological rate based on the fitness plan.

9. The method of claim 1, further comprising:

receiving data representing a target activity rate;
processing another sensor data received from the one or more sensors to determine another difference from the target activity rate; and
modifying the presentation of the subset of files based on the difference and the another difference.

10. The method of claim 1, wherein the target physiological rate comprises a heart rate.

11. A system, comprising:

a memory configured to store data representing a target physiological rate, and to store sensor data received from one or more sensors; and
a processor configured to select a subset of files having data representing media contents to be presented based on the target physiological rate, to process the sensor data to determine a difference from the target physiological rate, and to modify a presentation of the subset of files based on the difference.

12. The system of claim 11, wherein one of the subset of files has data representing a media content having a rhythm rate, and the target physiological rate falls within a predetermined range of the rhythm rate.

13. The system of claim 11, wherein one of the subset of files has data representing a media content having a rhythm rate, and a doubling of the target physiological rate falls within a predetermined range of the rhythm rate.

14. The system of claim 11, wherein the processor is further configured to modify a rate of the presentation of one of the subset of files having data representing a media content such that a rhythm rate of the media content substantially equals the target physiological rate.

15. The system of claim 11, wherein the processor is further configured to determine that the difference is above a threshold while one of the subset of files is being presented, and to reduce an amplitude of an audio signal associated with the one of the subset of files in coordination with increasing an amplitude of another audio signal associated with another of the subset of files.

16. The system of claim 15, wherein the processor is further configured to add the one of the subset of files to a collection of files having data representing other media contents, the collection of files being associated with not achieving the target physiological rate.

17. The system of claim 11, wherein the processor is further configured to compare the sensor data to an interruption pattern to determine a match, and to terminate the presentation of the subset of files.

18. The system of claim 12, wherein the interruption pattern comprises the difference from the target physiological rate falling below a threshold.

19. The system of claim 11, wherein the processor is further configured to present information associated with the difference at a user interface.

20. The system of claim 11, wherein one of the subset of files is selected by a user.

Patent History
Publication number: 20150258415
Type: Application
Filed: Mar 14, 2014
Publication Date: Sep 17, 2015
Applicant: AliphCom (San Francisco, CA)
Inventors: Mehul Trivedi (San Francisco, CA), Jonathan Todd Witort (Berkeley, CA), Vivek Agrawal (San Francisco, CA), Austin Soldner (Keller, TX)
Application Number: 14/214,065
Classifications
International Classification: A63B 71/06 (20060101);