Patent Publication Number: US-11650625-B1

Title: Multi-sensor wearable device with audio processing

Description:
BACKGROUND 
     A wearable device is useful to acquire information throughout the day about a user&#39;s well-being. 
    
    
     
       BRIEF DESCRIPTION OF FIGURES 
       The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items or features. 
         FIG.  1    is an illustrative system that includes a wearable device that includes various sensors including a microphone array that is used to acquire speech of a user, according to one implementation. 
         FIG.  2    illustrates a block diagram of sensors and output devices that may be used during operation of the system, according to one implementation. 
         FIG.  3    illustrates a block diagram of a computing device(s) such as a wearable device, smartphone, or other device, according to one implementation. 
         FIG.  4    illustrates a flow diagram of a process performed by the wearable device to generate audio data, according to one implementation. 
         FIG.  5    is a block diagram of the wearable device, according to one implementation. 
         FIG.  6    is an illustrative wearable device, according to one implementation. 
         FIG.  7    is another view of the wearable device of  FIG.  6   , according to one implementation. 
         FIG.  8    is a cross sectional view of the housing, according to one implementation. 
     
    
    
     While implementations are described herein by way of example, those skilled in the art will recognize that the implementations are not limited to the examples or figures described. It should be understood that the figures and detailed description thereto are not intended to limit implementations to the particular form disclosed but, on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean “including, but not limited to”. 
     The structures depicted in the following figures are not necessarily according to scale. Furthermore, the proportionality of one component to another may change with different implementations. In some illustrations the scale or a proportionate size of one structure may be exaggerated with respect to another to facilitate illustration, and not necessarily as a limitation. 
     DETAILED DESCRIPTION 
     Providing a user with the ability to monitor their physiological condition and emotional state may help the user improve their overall well-being. A poor emotional state can directly impact a person&#39;s health, just as an illness or other health event may impact a person&#39;s emotional state. A person&#39;s emotional state may also impact others that they communicate with. For example, a person who speaks with someone in an angry tone may produce in that listener an anxious emotional response. The ability to acquire data that is then used to provide information to a user may result in substantial improvements in the well-being of the user. 
     Described in this disclosure is a multi-sensor wearable device that includes audio processing capabilities. The user authorizes the system to acquire data using the sensors, which may include acquiring and processing the speech of the user. For example, the user may enroll to use the wearable device, and consents to acquisition and processing of audio of the user speaking. In another example, the user may operate a control on the wearable device to initiate acquisition of speech. 
     The sensors may include a pressure sensor that provides data to determine whether the wearable device is properly fitted to the user, a temperature sensor that provides data about the user&#39;s body temperature, accelerometers and gyroscopes that provide data about the user&#39;s movement, a heart rate monitor that provides data on the user&#39;s cardiovascular system, and the microphones that acquire the audio data of the user speaking. The audio data may then be assessed to determine sentiment data while data from the other sensors may be used to determine user status data. 
     The wearable device may perform various processing functions. For example, voice activity detectors may be used to determine if there is speech in a given portion of audio data, a beamforming algorithm may be used to improve the signal to noise ratio (SNR) of the speech in the audio data, audio data may be compressed, encrypted, and so forth. In one implementation the wearable device may send compressed and encrypted audio data to another device, such as a smartphone or server, for further processing to determine the sentiment data. In another implementation, the wearable device may generate the sentiment data. 
     The wearable device may also provide other functionality. For example, the wearable device may provide audio of the user to another device to facilitate a phone call. In another example, the user may trigger the wearable device to store audio data for notetaking purposes. 
     The wearable device may utilize at least two systems on a chip (SoC). For example, a first SoC may perform general tasks such as acquisition of the audio data using the microphones, scheduling when to transfer data, managing communication with other devices, and so forth. A second SoC may be used to provide more computational intensive functions such as the beamforming algorithm, compression of the audio data, encryption of the audio data, and so forth. Overall power consumption in the device is reduced and overall runtime of the wearable device between charges is increased by controlling when the second SoC is used. For example, the second SoC may be in a low power mode until the first SoC signals that there is audio data for processing. The first SoC may implement a first voice activity detection algorithm that attempts to determine if a portion of the audio data is representative of speech. If so, that portion of the audio data may be stored, and the second SoC may be powered up to a normal operating state. That stored audio data may then be sent to the second SoC which may implement a second voice activity detection algorithm that attempts to determine if some portion of that audio data is representative of human speech. If so, the second SoC may further process that portion of the audio data. 
     As described above, the data from the sensors on the wearable device may be used to determine sentiment data and user status data. This data may be processed and used to provide information to the user using an output device on the wearable device, a smartphone, or other device. For example, if the user&#39;s pulse exceeds a threshold value and the sentiment data indicates they are upset, a notification may be presented on a smartphone that is in communication with the wearable device. 
     By acquiring sensor data over extended periods of time, the wearable device provides data that may be used to inform the activities of the user and help them improve their well-being. For example, the user may be provided with advisories in a user interface. These advisories may help a user to regulate their activity, provide feedback to make healthy lifestyle changes, and maximize the quality of their health. 
     Illustrative System 
     The user  102  may have one or more wearable devices  104  on or about their person. The wearable device  104  may be implemented in various physical form factors including, but not limited to, the following: hats, headbands, necklaces, pendants, brooches, torcs, armlets, brassards, bracelets, wristbands, and so forth. In this illustration, the wearable device  104  is depicted as a wristband. 
     The wearable device  104  may use an interface to establish a communication link  106  to maintain communication with a computing device  108 . For example, the computing device  108  may include a phone, tablet computer, personal computer, server, internet enabled device, voice activated device, smart-home device, and so forth. The communication link  106  may implement at least a portion of one or more of the Bluetooth Classic specification, Bluetooth Low Energy specification, and so forth. 
     The wearable device  104  includes a housing  110 . A battery  112  or other power storage or generation device may be arranged within the housing  110 . For example, the battery  112  may comprise a rechargeable battery. 
     The wearable device  104  includes a power management integrated circuit (PMIC)  114 . The PMIC  114  may provide various functions such as controlling the charging of the battery  112 , providing appropriate electrical power to other components in the wearable device  104 , and so forth. 
     The wearable device  104  includes one or more sensors  116 , such as a microphone array  118 . For example, the microphone array  118  may comprise two or more microphones arranged to acquire sound from ports at different locations through the housing  110 . As described below, a microphone pattern  120  may provide gain or directivity using a beamforming algorithm. Speech  122  by the user  102  or other sources within range of the microphone array  118  may be detected by the microphone array  118  and raw audio data  126  may be acquired. In other implementations raw audio data  126  may be acquired from other devices. The sensors  116  are discussed in more detail with regard to  FIG.  2   . 
     In one implementation, an additional processor (not shown) may be used to process the raw audio data  126  from the microphone array  118 . For example, a neural network may be trained to recognize the speech of the user  102 . The raw audio data  126  that is not deemed to be from the user  102  may be discarded. In this implementation, the raw audio data  126  may then comprise audio associated with the user  102 . This functionality may operate in conjunction with, or instead of, the speech identification module  158  described below. 
     The wearable device  104  includes a first system on a chip (SoC)  128 . The first SoC  128  may include, in a single package various, components including one or more processors or “cores”, memory, communication interfaces, input/output ports, and so forth. For example, the first SoC  128  may comprise the RTL8763 SoC from Realtek Semiconductor Corp. of Hsinchu, Taiwan. While the implementations depicted here describe SoC arrangements, other arrangements may be used. For example, several discrete components may be interconnected to provide the same functionality. 
     The first SoC  128  may provide various functions. A data acquisition module  130  may comprise instructions stored in the memory that execute on the processor(s) of the first SoC  128  to acquire sensor data  124  from one or more sensors  116 , and so forth. 
     The first SoC  128  may include a codec module  132 . The codec module  132  may include an analog to digital converter (ADC) that accepts analog input from the microphones in the microphone array  118  and produces a digitized stream of audio data. For example, the codec module  132  may provide as output 16 bit audio data with a sample rate of 16 kilohertz. 
     The first SoC  128  may include a first voice activity detector module  134 . The first voice activity detector module  134  may be implemented in one or more of hardware or as instructions stored in the memory and executed on the processor(s). The first voice activity detector module  134  determines if a portion of the audio data from the codec module  132  is representative of speech  122 . For example, the microphone array  118  may obtain raw audio data  126  that contains ambient noises such as traffic, wind, and so forth. Raw audio data  126  that is not deemed to contain speech  122  may be discarded. Resource consumption is minimized by discarding raw audio data  126  that does not contain speech  122 . For example, power consumption, demands for memory and computational resources, communication bandwidth, and so forth are minimized by limiting further processing of raw audio data  126  determined to not likely contain speech  122 . 
     The first voice activity detector module  134  may use one or more techniques to determine voice activity. For example, characteristics of the signals present in the raw audio data  126  such as frequency, energy, zero-crossing rate, and so forth may be analyzed with respect to threshold values to determine characteristics that are deemed likely to be human speech. 
     The portion of the raw audio data  126  that is determined by the first voice activity detector module  134  to contain speech  122  may be stored in a buffer  136  in the first SoC  128 . A data transfer module  138  may control when audio data in the buffer  136  is sent to a second SoC  142 . 
     The data transfer module  138  may also determine that a memory within the wearable device  104  has reached a predetermined quantity of stored audio data. The communication interface  140  may comprise a Bluetooth Low Energy device that is operated responsive to commands from the data transfer module  138  to send the stored audio data to the computing device  108 . 
     Communication between the wearable device  104  and the computing device  108  may be persistent or intermittent. For example, the wearable device  104  may determine and store audio data while the communication link  106  to the computing device  108  is unavailable. At a later time, when the communication link  106  is available, the audio data may be sent to the computing device  108 . 
     In some implementations, the first SoC  128  may include one or more communication interfaces  140 . For example, the communication interfaces  140  may include a Bluetooth wireless communication interface, a Wi-Fi interface, a serial peripheral interface (SPI), an inter-integrated circuit sound (I2S) interface, and so forth. 
     The second SoC  142  may have different capabilities from the first SoC  128 . The second SoC  142  may include processors, memory, or other hardware that facilitates the processing of audio data such as one or more digital signal processors, neural network processors, audio feature extraction circuitry, and so forth. For example, the second SoC  142  may comprise the Quark SoC X1000 from Intel Corporation of Santa Clara, Calif., United States of America. 
     The second SoC  142  may include one or more audio preprocessing module(s)  144  that are implemented in one or more of hardware or as instructions stored in the memory and executed on the processor(s). In one implementation the audio preprocessing module  144  may implement a beamforming algorithm, noise reduction algorithms, filters, and so forth. For example, the audio preprocessing module  144  may use a beamforming algorithm to provide directivity or gain and improve the signal to noise ratio (SNR) of the speech  122  from the user  102  with respect to speech  122  or noise from other sources. 
     The audio preprocessing module  144  may use information from one or more sensors  116  during operation. For example, sensor data  124  from an accelerometer may be used to determine orientation of the wearable device  104 . Based on the orientation, the beamforming algorithm may be operated to provide a microphone pattern  120  that includes a location where the user&#39;s  102  head is expected to be. 
     The second SoC  142  may include a second voice activity detector module  146 . The second voice activity detector module  146  may be implemented in one or more of hardware or as instructions stored in the memory and executed on the processor(s). The second voice activity detector module  146  determines if a portion of the audio data sent from the first SoC  128  is representative of speech  122 . The second voice activity detector module  146  may implement one or more techniques to determine the presence of speech  122  that are different from the first voice activity detector module  134 . 
     The second voice activity detector module  146  may use one or more techniques to determine voice activity. For example, characteristics of the signals present in the raw audio data  126  such as frequency, energy, zero-crossing rate, and so forth may be analyzed with respect to threshold values to determine characteristics that are deemed likely to be human speech. 
     In some implementations the same techniques may be used by the first voice activity detector module  134  and the second voice activity detector module  146 , but with different sets of threshold values. For example, the first voice activity detector module  134  may use a first set of one or more threshold values during operation while the second voice activity detector module  146  may use a second set of one or more threshold values. 
     The second SoC  142  may also provide an audio compression and encryption module  148 . The audio compression and encryption module  148  may implement Opus audio compression as promulgated by opus-codec.org. Encryption may utilize a public key/private key infrastructure. In other implementations these functions may be performed by separate modules, different hardware, and so forth. 
     The audio data that is not determined to contain speech  122  by the second voice activity detector module  146  may discarded. Resource consumption is minimized by discarding the audio data that does not contain speech  122 . For example, power consumption, demands for memory and computational resources, communication bandwidth, and so forth are minimized by limiting further processing of raw audio data  126  determined to not likely contain speech  122 . 
     During operation, the second SoC  142  produces audio data  150  that is highly likely to contain speech  122 . Compared to the raw audio data  126 , the speech  122  in the audio data  150  may exhibit a greater SNR, have less overall noise, may be compressed, and may also be encrypted. 
     The second SoC  142  may then store the audio data  150  for further processing on the wearable device  104  or for transmission to another device. The further processing may include determining the sentiment data. For example, the audio data  150  may be sent to the computing device  108 . 
     The determination of the sentiment data may comprise determining the portion of the audio data  150  that is associated with the user  102  specifically and processing that portion as described below. 
     The wearable device  104  may determine output data  152 . In one implementation, a user interface module may determine the output data  152 . For example, the output data  152  may comprise hypertext markup language (HTML) instructions that, when processed by a browser engine, generate an image of a graphical user interface (GUI). In another example, the output data  152  may comprise an instruction to play a particular sound, operate a buzzer, or operate a light to present a particular color at a particular intensity. 
     The output data  152  may then be used to operate one or more output devices  154 . Continuing the examples, the GUI may be presented on a display device, a buzzer may be operated, the light may be illuminated, and so forth to provide output. The output may include a user interface, such as the GUI depicted here that provides information about the sentiment for yesterday and the previous hour, information about pulse rate, and so forth. The sentiment may be presented as an indication with respect to a typical range of sentiment associated with the user  102 . 
     In some implementations the wearable device  104  may send one or more of the audio data  150  or the sensor data  124  to another device for processing. For example, the audio data  150  may be sent to the computing device  108  using a Bluetooth wireless communication interface. In other implementations the processing and other operations may be performed on the wearable device  104  by one or more of the first SoC  128  or the second SoC  142 . The modules described in this disclosure may be implemented using one or more of dedicated hardware, programmable hardware, instructions executing on a processor, and so forth. 
     A turn detection module  156  may determine that portions of the audio data  150  are associated with different speakers. When more than one person is speaking, a “turn” is a contiguous portion of speech by a single person. For example, a first turn may include several sentences spoken by a first person, while a second turn includes a response by a second person. The turn detection module  156  may use one or more characteristics in the audio data  150  to determine that a turn has taken place. For example, a turn may be detected based on a pause in speech  122 , change in pitch, change in signal amplitude, and so forth. Continuing the example, if the pause between words exceeds 350 milliseconds, data indicative of a turn may be determined. 
     In one implementation the turn detection module  156  may process segments of the audio data  150  to determine if the person speaking at the beginning of the segment is the same as the person speaking at the end. The audio data  150  may be divided into segments and subsegments. For example, each segment may be six seconds long with a first subsegment that includes a beginning two seconds of the segment and a second subsegment that includes the last two seconds of the segment. The data in the first subsegment is processed to determine a first set of features and the data in the second subsegment is processed to determine a second set of features. Segments may overlap, such that at least some data is duplicated between successive segments. If the first set of features and the second set of features are determined to be within a threshold value of one another, they may be deemed to have been spoken by the same person. If the first set of features and the second set of features are not within the threshold value of one another, they may be deemed to have been spoken by different people. A segment that includes speech from two different people may be designated as a break between one speaker and another. In this implementation, those breaks between speakers may be used to determine the boundaries of a turn. For example, a turn may be determined to begin and end when a segment includes speech from two different people. 
     In some implementations the turn detection module  156  may operate in conjunction with, or as part of, a speech identification module  158 , as described below. For example, if the speech identification module  158  identifies that a first segment is spoken by a first user and a second segment is spoken by a second user, data indicative of a turn may be determined. 
     The speech identification module  158  may access user profile data  160  to determine if the audio data  150  is associated with the user  102 . For example, user profile data  160  may comprise information about speech  122  provided by the user  102  during an enrollment process. During enrollment, the user  102  may provide a sample of their speech  122  which is then processed to determine features that may be used to identify if speech  122  is likely to be from that user  102 . 
     The speech identification module  158  may process at least a portion of the audio data  150  that is designated as a particular turn to determine if the user  102  is the speaker. For example, the audio data  150  of the first turn may be processed by the speech identification module  158  to determine a confidence level of 0.97 that the first turn is the user  102  speaking. A threshold confidence value of 0.95 may be specified. Continuing the example, the audio data  150  of the second turn may be processed by the speech identification module  158  that determines a confidence level of 0.17 that the second turn is the user  102  speaking. 
     Selected audio data  162  is determined that comprises the portion(s) of the audio data  150  that is determined to be speech  122  from the user  102 . For example, the selected audio data  162  may consist of the speech  122  which exhibits a confidence level greater than the threshold confidence value of 0.95. As a result, the selected audio data  162  omits speech  122  from other sources, such as someone who is in conversation with the user  102 . 
     An audio feature module  164  uses the selected audio data  162  to determine audio feature data  166 . For example, the audio feature module  164  may use one or more systems such as signal analysis, classifiers, neural networks, and so forth to generate the audio feature data  166 . The audio feature data  166  may comprise values, vectors, and so forth. For example, the audio feature module  164  may use a convolutional neural network that accepts as input the selected audio data  162  and provides as output vectors in a vector space. The audio feature data  166  may be representative of features such as rising pitch over time, speech cadence, energy intensity per phoneme, duration of a turn, and so forth. 
     A feature analysis module  168  uses the audio feature data  166  to determine sentiment data  170 . Human speech involves a complex interplay of biological systems on the part of the person speaking. These biological systems are affected by the physical and emotional state of the person. As a result, the speech  122  of the user  102  may exhibit changes. For example, a person who is calm sounds different from a person who is excited. This may be described as “emotional prosody” and is separate from the meaning of the words used. For example, in some implementations the feature analysis module  168  may use the audio feature data  166  to assess emotional prosody without assessment of the actual content of the words used. 
     The feature analysis module  168  determines the sentiment data  170  that is indicative of a possible emotional state of the user  102  based on the audio feature data  166 . The feature analysis module  168  may determine various values that are deemed to be representative of emotional state. In some implementations these values may be representative of emotional primitives. (See Kehrein, Roland. (2002). The prosody of authentic emotions. 27. 10.1055/s-2003-40251.) For example, the emotional primitives may include valence, activation, and dominance. A valence value may be determined that is representative of a particular change in pitch of the user&#39;s voice over time. Certain valence values indicative of particular changes in pitch may be associated with certain emotional states. An activation value may be determined that is representative of pace of the user&#39;s speech over time. As with valence values, certain activation values may be associated with certain emotional states. A dominance value may be determined that is representative of rise and fall patterns of the pitch of the user&#39;s voice overtime. As with valence values, certain dominance values may be associated with certain emotional states. Different values of valence, activation, and dominance may correspond to particular emotions. (See Grimm, Michael (2007). Primitives-based evaluation and estimation of emotions in speech. Speech Communication 49 (2007) 787-800.) 
     Other techniques may be used by the feature analysis module  168 . For example, the feature analysis module  168  may determine Mel Frequency Cepstral Coefficients (MFCC) of at least a portion of the selected audio data  162 . The MFCC may then be used to determine an emotional class associated with the portion. The emotional class may include one or more of angry, happy, sad, or neutral. (See Rozgic, Viktor, et. al, (2012). Emotion Recognition using Acoustic and Lexical Features. 13th Annual Conference of the International Speech Communication Association 2012, INTERSPEECH 2012. 1.) 
     In other implementations the feature analysis module  168  may include analysis of the words spoken and their meaning. For example, an automated speech recognition (ASR) system may be used to determine the text of the words spoken. This information may then be used to determine the sentiment data  170 . For example, presence in the selected audio data  162  of words that are associated with a positive connotation, such as compliments or praise, may be used to determine the sentiment data  170 . In another example, word stems may be associated with particular sentiment categories. The word stems may be determined using ASR, and the particular sentiment categorizes determined. (See Rozgic, Viktor, et. al, (2012). Emotion Recognition using Acoustic and Lexical Features. 13th Annual Conference of the International Speech Communication Association 2012, INTERSPEECH 2012. 1.) Other techniques may be used to determine emotional state based at least in part on the meaning of words spoken by the user. 
     The sentiment data  170  determined by the feature analysis module  168  may be expressed as one or more numeric values, vectors, words, and so forth. For example, the sentiment data  170  may comprise a composite single value, such as a numeric value, color, and so forth. For example, a weighted sum of the valence, activation, and dominance values may be used to generate an overall sentiment index or “tone value” or “mood value”. In another example, the sentiment data  170  may comprise one or more vectors in an n-dimensional space. In yet another example, the sentiment data  170  may comprise associated words that are determined by particular combinations of other values, such as valence, activation, and dominance values. The sentiment data  170  may comprise values that are non-normative. For example, a sentiment value that is expressed as a negative number may not be representative of an emotion that is considered to be bad. 
     In some implementations the feature analysis module  168  may consider other sensor data  124  as well. Information such as heart rate, respiration rate, blood pressure, and so forth may be combined and used to determine the sentiment data  170 . For example, a cardiac pulse of the user  102  that is above a threshold value may contribute to a determination of sentiment data  170  indicative of “under stress”. 
     A sensor data analysis module  172  may also be used. The sensor data analysis module  172  may process the sensor data  124  and generate user status data  174 . For example, the sensor data  124  obtained from sensors  116  on the wearable device  104  may comprise information about movement obtained from an accelerometer(s) or gyroscope(s), body temperature, pulse rates obtained from a heart rate monitor, and so forth. The user status data  174  may comprise information such as core body temperature, count of steps, classification of activity based on movement, energy expenditure based on movement, heart rate monitoring, heart rate variability, stress monitoring, sleep monitoring, and so forth. The user status data  174  may provide information that is representative of the physiological state of the user  102 . 
     An advisory module  176  may use the sentiment data  170  and the user status data  174  to determine advisory data  178 . The sentiment data  170  and the user status data  174  may each include timestamp information. Sentiment data  170  for a first time period may be associated with user status data  174  for a second time period. Historical data may be used to determine trends. These trends may then be used by the advisory module  176  to determine advisory data  178 . For example, trend data may indicate that when the user status data  174  indicates that the user  102  sleeps for fewer than 7 hours per night, the following day their overall tone value is below their personal baseline value. As a result, the advisory module  176  may generate advisory data  178  to inform the user  102  of this and suggest more rest. 
     In some implementations the advisory data  178  may include speech recommendations. These speech recommendations may include suggestions as to how the user  102  may manage their speech to change or moderate the apparent emotion presented by their speech. In some implementations, the speech recommendations may advise the user  102  to speak more slowly, pause, breath more deeply, suggest a different tone of voice, and so forth. For example, if the sentiment data  170  indicates that the user  102  appears to have been upset, the advisory data  178  may be for the user  102  to stop speaking for ten seconds and then continue speaking in a calmer voice. In some implementations the speech recommendations may be associated with particular goals. For example, the user  102  may wish to sound more assertive and confident. The user  102  may provide input that indicates these goals, with that input used to set minimum threshold values for use by the advisory module  176 . The advisory module  176  may analyze the sentiment data  170  with respect to these minimum threshold values to provide the advisory data  178 . Continuing the example, if the sentiment data  170  indicates that the speech of the user  102  was below the minimum threshold values, the advisory data  178  may inform the user  102  and may also suggest actions. 
     The computing device  108  may generate output data  152  from one or more of the sentiment data  170  or the advisory data  178 . For example, the output data  152  may comprise hypertext markup language (HTML) instructions that, when processed by a browser engine, generate an image of a graphical user interface (GUI). In another example, the output data  152  may comprise an instruction to play a particular sound, operate a buzzer, or operate a light to present a particular color at a particular intensity. 
     The output data  152  may then be used to operate one or more output devices  154 . Continuing the examples, the GUI may be presented on a display device, a buzzer may be operated, the light may be illuminated, and so forth to provide output. The output may include a user interface, such as the GUI depicted here that provides information about the sentiment for yesterday and the previous hour using several interface elements. In this example, the sentiment is presented as an indication with respect to a typical range of sentiment associated with the user  102 . In some implementations the sentiment may be expressed as numeric values and interface elements with particular colors associated with those numeric values may be presented in the user interface. For example, if the sentiment of the user  102  has one or more values that exceed the user&#39;s  102  typical range for a metric associated with being happy, an interface element colored green may be presented. In contrast, if the sentiment of the user  102  has one or more values that are below the user&#39;s  102  typical range, an interface element colored blue may be presented. The typical range may be determined using one or more techniques. For example, the typical range may be based on minimum sentiment values, maximum sentiment values, may be specified with respect to an average or linear regression line, and so forth. 
     The system may provide output based on data obtained over various time intervals. For example, the user interface illustrates sentiment for yesterday and the last hour. The system  100  may present information about sentiment associated with other periods of time. For example, the sentiment data  170  may be presented on a real time or near-real time basis using raw audio data  126  obtained in the last n seconds, where n is greater than zero. 
     It is understood that the various functions, modules, and operations described in this system  100  may be performed by other devices. For example, the advisory module  176  may execute on a server. 
     The wearable device  104  may operate in a variety of different modes. A first mode involves the wearable device  104  acquiring raw audio data  126  and determining sentiment data  170  continuously. 
     A second mode involves the wearable device  104  automatically acquiring raw audio data  126  and generating corresponding sentiment data  170  for sampled periods of time. For example, a 3.5 minute sample of raw audio data  126  may be obtained every 30 minutes during a 16 hour waking day. Meanwhile the user status data  174  is determined continuously. For example, information such as temperature, acceleration, and so forth may be sampled continuously throughout the day at particular intervals, upon a triggering event, and so forth. 
     A third mode involves user  102  scheduled acquisition of the raw audio data  126 . For example, the user  102  may manually initiate acquisition of the raw audio data  126  by pressing a button, using the computing device  108  to set a schedule in advance for a meeting, and so forth. Meanwhile the user status data  174  is determined continuously. For example, information such as temperature, acceleration, and so forth may be sampled continuously throughout the day at particular intervals, upon a triggering event, and so forth. 
     A fourth mode involves the acquisition of user status data  174  only. The user status data  174  is determined continuously. For example, information such as temperature, acceleration, and so forth may be sampled continuously throughout the day at particular intervals, upon a triggering event, and so forth. No raw audio data  126  is acquired. 
     In other implementations other hardware configurations may be used. For example, a single SoC may include different cores, signal processors, neural networks, or other components and may perform the functions described with regard to the first SoC  128  and the second SoC  142 . 
     In some implementations, the audio feature data  166  may be determined by the components on the wearable device  104  and then sent via the communication link  106  to the computing device  108 . The computing device  108  may then determine the sentiment data  170  or perform other functions. 
       FIG.  2    illustrates a block diagram  200  of sensors  116  and output devices  154  that may be used by the wearable device  104 , the computing device  108 , or other devices during operation of the system  100 , according to one implementation. As described above with regard to  FIG.  1   , the sensors  116  may generate sensor data  124 . 
     The one or more sensors  116  may be integrated with or internal to a computing device, such as the wearable device  104 , the computing device  108 , and so forth. For example, the sensors  116  may be built-in to the wearable device  104  during manufacture. In other implementations, the sensors  116  may be part of another device. For example, the sensors  116  may comprise a device external to, but in communication with, the computing device  108  or the wearable device  104  using Bluetooth, Wi-Fi, 3G, 4G, LTE, ZigBee, Z-Wave, or another wireless or wired communication technology. 
     The one or more sensors  116  may include one or more buttons  116 ( 1 ) that are configured to accept input from the user  102 . The buttons  116 ( 1 ) may comprise mechanical, capacitive, optical, or other mechanisms. For example, the buttons  116 ( 1 ) may comprise mechanical switches configured to accept an applied force from a touch of the user  102  to generate an input signal. In some implementations input from one or more sensors  116  may be used to initiate acquisition of the raw audio data  126 . For example, activation of a button  116 ( 1 ) may initiate acquisition of the raw audio data  126 . 
     A blood pressure sensor  116 ( 2 ) may be configured to provide sensor data  124  that is indicative of the user&#39;s  102  blood pressure. For example, the blood pressure sensor  116 ( 2 ) may comprise a camera that acquires images of blood vessels and determines the blood pressure by analyzing the changes in diameter of the blood vessels over time. In another example, the blood pressure sensor  116 ( 2 ) may comprise a sensor transducer that is in contact with the skin of the user  102  that is proximate to a blood vessel. 
     A heart rate monitor  116 ( 3 ) may be configured to provide sensor data  124  that is indicative of a cardiac pulse rate. For example, the heart rate monitor  116 ( 3 ) may operate as a photoplethysmograph (PPG). Heart rate variability may be determined, based on changes to the cardiac pulse rate over time. In some implementations other data such as oxygen saturation of the user&#39;s  102  blood, respiration rate, and so forth may also be determined. The heart rate monitor  116 ( 3 ) may use one or more light emitting diodes (LEDs) and corresponding detectors to determine changes in apparent color of the blood of the user  102  resulting from oxygen binding with hemoglobin in the blood, providing information about the presence of blood, oxygen saturation, perfusion, and so forth. Changes over time in apparent reflectance of light emitted by the LEDs may be used to determine data such as cardiac pulse. In one implementation the heart rate monitor  116 ( 3 ) may comprise a MAX86141 from Maxim Integrated, Inc. of San Jose, Calif., United States of America. 
     The heart rate monitor  116 ( 3 ) may comprise a multicolor light emitting diode (LED), a first photodiode, a green LED, and a second photodiode that are arranged proximate to a sensor window. During normal operation, the sensor window is either in contact with or near the skin of the user  102 . During operation, one or more of the LED&#39;s may be operated to illuminate a portion of the user  102 . One or more of the photodiodes may be used to detect the light from the illumination which has interacted with the body of the user  102 . The placement and arrangement of the components of the heart rate monitor  116 ( 3 ) are depicted below with regard to  FIG.  8   . 
     The sensors  116  may include one or more touch sensors  116 ( 4 ). The touch sensors  116 ( 4 ) may use resistive, capacitive, surface capacitance, projected capacitance, mutual capacitance, optical, Interpolating Force-Sensitive Resistance (IFSR), or other mechanisms to determine the position of a touch or near-touch of the user  102 . For example, the IFSR may comprise a material configured to change electrical resistance responsive to an applied force. The location within the material of that change in electrical resistance may indicate the position of the touch. 
     One or more microphones  116 ( 5 ) may be configured to acquire information about sound present in the environment. In some implementations, a plurality of microphones  116 ( 5 ) may be used to form the microphone array  118 . As described above, the microphone array  118  may implement beamforming techniques to provide for directionality of gain. 
     A temperature sensor (or thermometer)  116 ( 6 ) may provide information indicative of a temperature of an object. For example, the temperature sensor  116 ( 6 ) may comprise an AS6200 from ams AG of Unterpremstatten, Styria, Austria. The temperature sensor  116 ( 6 ) may be configured to measure ambient air temperature proximate to the user  102 , the body temperature of the user  102 , and so forth. The temperature sensor  116 ( 6 ) may comprise a silicon bandgap temperature sensor, thermistor, thermocouple, or other device. In some implementations, the temperature sensor  116 ( 6 ) may comprise an infrared detector configured to determine temperature using thermal radiation. In one implementation, the temperature sensor  116 ( 6 ) used to determine the body temperature of the user  102  may be located proximate to a bottom surface of a housing of the wearable device  104 . The temperature sensor  116 ( 6 ) used to determine the ambient temperature may be located proximate to a top surface of the wearable device  104 . 
     The sensors  116  may include one or more light sensors  116 ( 7 ). The light sensors  116 ( 7 ) may be configured to provide information associated with ambient lighting conditions such as a level of illumination. The light sensors  116 ( 7 ) may be sensitive to wavelengths including, but not limited to, infrared, visible, or ultraviolet light. In contrast to a camera, the light sensor  116 ( 7 ) may typically provide a sequence of amplitude (magnitude) samples and color data while the camera provides a sequence of two-dimensional frames of samples (pixels). 
     One or more radio frequency identification (RFID) readers  116 ( 8 ), near field communication (NFC) systems, and so forth, may also be included as sensors  116 . The user  102 , objects, locations within a building, and so forth, may be equipped with one or more radio frequency (RF) tags. The RF tags are configured to emit an RF signal. In one implementation, the RF tag may be a RFID tag configured to emit the RF signal upon activation by an external signal. For example, the external signal may comprise a RF signal or a magnetic field configured to energize or activate the RFID tag. In another implementation, the RF tag may comprise a transmitter and a power source configured to power the transmitter. For example, the RF tag may comprise a Bluetooth Low Energy (BLE) transmitter and a battery. In other implementations, the tag may use other techniques to indicate its presence. For example, an acoustic tag may be configured to generate an ultrasonic signal, which is detected by corresponding acoustic receivers. In yet another implementation, the tag may be configured to emit an optical signal. 
     One or more RF receivers  116 ( 9 ) may also be included as sensors  116 . In some implementations, the RF receivers  116 ( 9 ) may be part of transceiver assemblies. The RF receivers  116 ( 9 ) may be configured to acquire RF signals associated with Wi-Fi, Bluetooth, ZigBee, Z-Wave, 3G, 4G, LTE, or other wireless data transmission technologies. The RF receivers  116 ( 9 ) may provide information associated with data transmitted via radio frequencies, signal strength of RF signals, and so forth. For example, information from the RF receivers  116 ( 9 ) may be used to facilitate determination of a location of the device, and so forth. 
     The sensors  116  may include one or more accelerometers  116 ( 10 ). The accelerometers  116 ( 10 ) may provide information such as the direction and magnitude of an imposed acceleration, tilt relative to local vertical, and so forth. Data such as rate of acceleration, determination of changes in direction, speed, tilt, and so forth, may be determined using the accelerometers  116 ( 10 ). For example, the accelerometer  116 ( 10 ) and the gyroscope  116 ( 11 ) may be combined in an inertial measurement unit (IMU), such as an ST Micro LSM6DSL device from ST Microelectronics NV of Schiphol, Amsterdam, Netherlands. 
     Data from the accelerometers  116 ( 10 ) may be used to detect user input. For example, a user  102  may tap the wearable device  104 . For example, two taps may be used to provide a readout of battery charge available, three taps may be used to turn on Bluetooth and initiate the Bluetooth pairing process, and so forth. 
     A gyroscope  116 ( 11 ) or gyrometer provides information indicative of rotation of an object affixed thereto. For example, the gyroscope  116 ( 11 ) may indicate whether the device has been rotated. 
     A magnetometer  116 ( 12 ) may be used to determine an orientation by measuring ambient magnetic fields, such as the terrestrial magnetic field. For example, output from the magnetometer  116 ( 12 ) may be used to determine whether the device containing the sensor  116  has changed orientation or otherwise moved. In other implementations, the magnetometer  116 ( 12 ) may be configured to detect magnetic fields generated by another device. 
     A molecular sensor  116 ( 13 ) may be used to determine a concentration of one or more molecules such as water, glucose, and so forth within the blood or tissues of the user  102 . For example, the molecular sensor  116 ( 13 ) may comprise a near infrared spectroscope that determines a concentration of glucose or glucose metabolites in tissues. In another example, the molecular sensor  116 ( 13 ) may comprise a chemical detector that measures presence of one or more types of molecules at the surface of the user&#39;s  102  skin. In still another implementation, the molecular sensor  116 ( 13 ) may comprise a radio frequency transmitter, a radio receiver, and one or more antennas. A radio frequency (RF) signal may be emitted into a portion of the user  102 . As the RF signal interacts with one or more different types of molecules, changes in signal characteristics such as amplitude, phase, and so forth may be detected by the radio receiver. Information about the presence, concentration, and so forth of particular molecules may be determined based on the received RF signal. 
     A location sensor  116 ( 14 ) is configured to provide information indicative of a location. The location may be relative or absolute. For example, a relative location may indicate “kitchen”, “bedroom”, “conference room”, and so forth. In comparison, an absolute location is expressed relative to a reference point or datum, such as a street address, geolocation comprising coordinates indicative of latitude and longitude, grid square, and so forth. The location sensor  116 ( 14 ) may include, but is not limited to, radio navigation-based systems such as terrestrial or satellite-based navigational systems. The satellite-based navigation system may include one or more of a Global Positioning System (GPS) receiver, a Global Navigation Satellite System (GLONASS) receiver, a Galileo receiver, a BeiDou Navigation Satellite System (BDS) receiver, an Indian Regional Navigational Satellite System, and so forth. In some implementations, the location sensor  116 ( 14 ) may be omitted or operate in conjunction with an external resource such as a cellular network operator providing location information, or Bluetooth beacons. 
     A fingerprint sensor  116 ( 15 ) is configured to acquire fingerprint data. The fingerprint sensor  116 ( 15 ) may use an optical, ultrasonic, capacitive, resistive, or other detector to obtain an image or other representation of features of a fingerprint. For example, the fingerprint sensor  116 ( 15 ) may comprise a capacitive sensor configured to generate an image of the fingerprint of the user  102 . 
     A proximity sensor  116 ( 16 ) may be configured to provide sensor data  124  indicative of one or more of a presence or absence of an object, a distance to the object, or characteristics of the object. The proximity sensor  116 ( 16 ) may use optical, electrical, ultrasonic, electromagnetic, or other techniques to determine a presence of an object. For example, the proximity sensor  116 ( 16 ) may comprise a capacitive proximity sensor configured to provide an electrical field and determine a change in electrical capacitance due to presence or absence of an object within the electrical field. 
     An image sensor  116 ( 17 ) comprises an imaging element to acquire images in visible light, infrared, ultraviolet, and so forth. For example, the image sensor  116 ( 17 ) may comprise a complementary metal oxide (CMOS) imaging element or a charge coupled device (CCD). 
     A pressure sensor  116 ( 18 ) may provide information about the pressure between a portion of the wearable device  104  and a portion of the user  102 . For example, the pressure sensor  116 ( 18 ) may comprise a capacitive element, strain gauge, spring-biased contact switch, or other device that is used to determine pressure data indicative of the amount of pressure between the user&#39;s  102  arm and an inner surface of the wearable device  104  that is in contact with the arm. In some implementations the pressure sensor  116 ( 18 ) may provide pressure data indicative of a force measurement, such as 0.5 Newtons, a relative force measurement, or whether the pressure is greater than a threshold value. 
     The sensors  116  may include other sensors  116 (S) as well. For example, the other sensors  116 (S) may include strain gauges, anti-tamper indicators, and so forth. For example, strain gauges or strain sensors may be embedded within the wearable device  104  and may be configured to provide information indicating that at least a portion of the wearable device  104  has been stretched or displaced such that the wearable device  104  may have been donned or doffed. 
     In some implementations, the sensors  116  may include hardware processors, memory, and other elements configured to perform various functions. Furthermore, the sensors  116  may be configured to communicate by way of a network or may couple directly with the other devices. 
     The wearable device  104 , the computing device  108 , and so forth may include or may couple to one or more output devices  154 . The output devices  154  are configured to generate signals which may be perceived by the user  102 , detectable by the sensors  116 , or a combination thereof. 
     Haptic output devices  154 ( 1 ) are configured to provide a signal, which results in a tactile sensation to the user  102 . The haptic output devices  154 ( 1 ) may use one or more mechanisms such as electrical stimulation or mechanical displacement to provide the signal. For example, the haptic output devices  154 ( 1 ) may be configured to generate a modulated electrical signal, which produces an apparent tactile sensation in one or more fingers of the user  102 . In another example, the haptic output devices  154 ( 1 ) may comprise piezoelectric or rotary motor devices configured to provide a vibration that may be felt by the user  102 . 
     One or more audio output devices  154 ( 2 ) are configured to provide acoustic output. The acoustic output includes one or more of infrasonic sound, audible sound, or ultrasonic sound. The audio output devices  154 ( 2 ) may use one or more mechanisms to generate the acoustic output. These mechanisms may include, but are not limited to, the following: voice coils, piezoelectric elements, magnetostrictive elements, electrostatic elements, and so forth. For example, a piezoelectric buzzer or a speaker may be used to provide acoustic output by an audio output device  154 ( 2 ). 
     The display devices  154 ( 3 ) may be configured to provide output that may be seen by the user  102  or detected by a light-sensitive detector such as the image sensor  116 ( 17 ) or light sensor  116 ( 7 ). The output may be monochrome or color. The display devices  154 ( 3 ) may be emissive, reflective, or both. An emissive display device  154 ( 3 ), such as using LEDs, is configured to emit light during operation. In comparison, a reflective display device  154 ( 3 ), such as using an electrophoretic element, relies on ambient light to present an image. Backlights or front lights may be used to illuminate non-emissive display devices  154 ( 3 ) to provide visibility of the output in conditions where the ambient light levels are low. 
     The display mechanisms of display devices  154 ( 3 ) may include, but are not limited to, micro-electromechanical systems (MEMS), spatial light modulators, electroluminescent displays, quantum dot displays, liquid crystal on silicon (LCOS) displays, cholesteric displays, interferometric displays, liquid crystal displays, electrophoretic displays, LED displays, and so forth. These display mechanisms are configured to emit light, modulate incident light emitted from another source, or both. The display devices  154 ( 3 ) may operate as panels, projectors, and so forth. 
     The display devices  154 ( 3 ) may be configured to present images. For example, the display devices  154 ( 3 ) may comprise a pixel-addressable display. The image may comprise at least a two-dimensional array of pixels or a vector representation of an at least two-dimensional image. 
     In some implementations, the display devices  154 ( 3 ) may be configured to provide non-image data, such as text or numeric characters, colors, and so forth. For example, a segmented electrophoretic display device  154 ( 3 ), segmented LED, and so forth, may be used to present information such as letters or numbers. The display devices  154 ( 3 ) may also be configurable to vary the color of the segment, such as using multicolor LED segments. 
     Other output devices  154 (T) may also be present. For example, the other output devices  154 (T) may include scent dispensers. 
       FIG.  3    illustrates a block diagram of a computing device  300  configured to support operation of the system  100 . As described above, the computing device  300  may be the wearable device  104 , the computing device  108 , a server, other device, or combination thereof. 
     One or more power supplies  302  are configured to provide electrical power suitable for operating the components in the computing device  300 . In some implementations, the power supply  302  may comprise a rechargeable battery, fuel cell, photovoltaic cell, power conditioning circuitry, wireless power receiver, and so forth. 
     The computing device  300  may include one or more hardware processors  304  (processors) configured to execute one or more stored instructions. The processors  304  may comprise one or more cores. One or more clocks  306  may provide information indicative of date, time, ticks, and so forth. For example, the processor  304  may use data from the clock  306  to generate a timestamp, trigger a preprogrammed action, and so forth. 
     The computing device  300  may include one or more communication interfaces  140  such as input/output (I/O) interfaces  308 , network interfaces  310 , and so forth. The communication interfaces  140  enable the computing device  300 , or components thereof, to communicate with other devices or components. The communication interfaces  140  may include one or more I/O interfaces  308 . The I/O interfaces  308  may comprise interfaces such as Inter-Integrated Circuit (I2C), Serial Peripheral Interface bus (SPI), an inter-integrated circuit sound (I2S) interface, Universal Serial Bus (USB) as promulgated by the USB Implementers Forum, RS-232, and so forth. 
     The I/O interface(s)  308  may couple to one or more I/O devices  312 . The I/O devices  312  may include input devices such as one or more of the sensors  116 . The I/O devices  312  may also include output devices  154  such as one or more of an audio output device  154 ( 2 ), a display device  154 ( 3 ), and so forth. In some embodiments, the I/O devices  312  may be physically incorporated with the computing device  300  or may be externally placed. 
     The network interfaces  310  are configured to provide communications between the computing device  300  and other devices, such as the sensors  116 , routers, access devices, and so forth. The network interfaces  310  may include devices configured to couple to wired or wireless personal area networks (PANs), local area networks (LANs), wide area networks (WANs), and so forth. For example, the network interfaces  310  may include devices compatible with Ethernet, Wi-Fi, Bluetooth, ZigBee, 4G, 5G, LTE, and so forth. 
     The computing device  300  may also include one or more busses or other internal communications hardware or software that allow for the transfer of data between the various modules and components of the computing device  300 . 
     As shown in  FIG.  3   , the computing device  300  includes one or more memories  314 . The memory  314  comprises one or more computer-readable storage media (CRSM). The CRSM may be any one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, a mechanical computer storage medium, and so forth. The memory  314  provides storage of computer-readable instructions, data structures, program modules, and other data for the operation of the computing device  300 . A few example functional modules are shown stored in the memory  314 , although the same functionality may alternatively be implemented in hardware, firmware, or as a system on a chip (SOC). 
     The memory  314  may include at least one operating system (OS) module  316 . The OS module  316  is configured to manage hardware resource devices such as the I/O interfaces  308 , the network interfaces  310 , the I/O devices  312 , and provide various services to applications or modules executing on the processors  304 . The OS module  316  may implement a variant of the FreeBSD operating system as promulgated by the FreeBSD Project; other UNIX or UNIX-like operating system; a variation of the Linux operating system as promulgated by Linus Torvalds; the Windows operating system from Microsoft Corporation of Redmond, Wash., USA; the Android operating system from Google Corporation of Mountain View, Calif., USA; the iOS operating system from Apple Corporation of Cupertino, Calif., USA; or other operating systems. 
     Also stored in the memory  314  may be a data store  318  and one or more of the following modules. These modules may be executed as foreground applications, background tasks, daemons, and so forth. The data store  318  may use a flat file, database, linked list, tree, executable code, script, or other data structure to store information. In some implementations, the data store  318  or a portion of the data store  318  may be distributed across one or more other devices including the computing devices  300 , network attached storage devices, and so forth. 
     A communication module  320  may be configured to establish communications with one or more of other computing devices  300 , the sensors  116 , and so forth. The communications may be authenticated, encrypted, and so forth. The communication module  320  may also control the communication interfaces  140 . 
     The memory  314  may also store the data acquisition module  130 . The data acquisition module  130  is configured to acquire raw audio data  126 , sensor data  124 , and so forth. In some implementations the data acquisition module  130  may be configured to operate the one or more sensors  116 , the microphone array  118 , and so forth. For example, the data acquisition module  130  may determine that the sensor data  124  satisfies a trigger event. The trigger event may comprise values of sensor data  124  for one or more sensors  116  exceeding a threshold value. For example, if a heart rate monitor  116 ( 3 ) on the wearable device  104  indicates that the pulse of the user  102  has exceeded a threshold value, the microphone array  118  may be operated to generate raw audio data  126 . 
     In another example, the data acquisition module  130  on the wearable device  104  may receive instructions from the computing device  108  to obtain raw audio data  126  at a specified interval, at a scheduled time, and so forth. For example, the computing device  108  may send instructions to acquire raw audio data  126  for 60 seconds every 540 seconds. The raw audio data  126  may then be processed with the first voice activity detector module  134  to determine is speech  122  is present. If speech  122  is detected, the audio data  150  may be obtained and then sent to the computing device  108 . 
     A user interface module  324  provides a user interface using one or more of the I/O devices  312 . The user interface module  324  may be used to obtain input from the user  102 , present information to the user  102 , and so forth. For example, the user interface module  324  may present a graphical user interface on the display device  154 ( 3 ) and accept user input using the touch sensor  116 ( 4 ). 
     One or more other modules  326 , such as the data transfer module  138 , the turn detection module  156 , the speech identification module  158 , the audio feature module  164 , the feature analysis module  168 , the sensor data analysis module  172 , the advisory module  176 , and so forth may also be stored in the memory  314 . 
     Data  328  may be stored in the data store  318 . For example, the data  328  may comprise one or more of raw audio data  126 , audio data  150 , sensor data  124 , user profile data  160 , selected audio data  162 , sentiment data  170 , user status data  174 , advisory data  178 , output data  152 , and so forth. 
     One or more acquisition parameters  330  may be stored in the memory  314 . The acquisition parameters  330  may comprise parameters such as audio sample rate, audio sample frequency, audio frame size, and so forth. 
     Threshold data  332  may be stored in the memory  314 . For example, the threshold data  332  may specify one or more thresholds used by the voice activity detector modules  134  or  146  to determine if the raw audio data  126  includes speech  122 . 
     The computing device  300  may maintain historical data  334 . The historical data  334  may be used to provide information about trends or changes over time. For example, the historical data  334  may comprise an indication of sentiment data  170  on an hourly basis for the previous 90 days. In another example, the historical data  334  may comprise user status data  174  for the previous 90 days. 
     Other data  336  may also be stored in the data store  318 . 
     In different implementations, different computing devices  300  may have different capabilities or capacities. For example, the computing device  108  may have significantly more processor  304  capability and memory  314  capacity compared to the wearable device  104 . In one implementation, the wearable device  104  may determine the audio data  150  and send the audio data  150  to the computing device  108 . The wearable device  104  may also send other information, such as at least a portion of the sensor data  124  or information based on the sensor data  124 , to the computing device  108 . In another implementation, the wearable device  104  may generate the sentiment data  170 , advisory data  178 , and so forth. Other combinations of distribution of data processing and functionality may be used in other implementations. 
       FIG.  4    illustrates a flow diagram  400  of a process performed by the wearable device  104  to generate audio data  150 , according to one implementation. In the implementation depicted, the process is performed using the first SoC  128  and the second SoC  142 . In other implementations, other combinations of hardware ranging from a single SoC to various discrete devices may perform the process. 
     At  402  the first SoC  128  acquires first audio data using the microphone array  118 . For example, the codec module  132  may generate the raw audio data  126  from the sounds detected by the first and second microphone  116 ( 5 ). 
     At  404  the first SoC  128  determines second audio data using the first voice activity detector  134  to determine a portion of the first audio data that is representative of speech  122 . 
     At  406  the first SoC  128  sends the second audio data to the second SoC  142 . For example, the first SoC  128  may store the second audio data in the buffer  136 . 
     In some implementations, responsive to one or more of the determination of the second audio data, the buffer  136  reaching a threshold fill level, or other conditions, the second SoC  142  may be transitioned from an off or low power state to an operational or full power state. For example, to reach the operational state, the second SoC  142  may transition from a first mode to a second mode, wherein the second mode consumes less electrical power than the first mode. In another example, the second SoC  142  may transition from the second mode to the first mode. In some implementations, the transition may include controlling operation of a load switch that provides electrical power to the second SoC  142 . The first SoC  128  may receive a signal that the second SoC  142  is ready for use. Once ready, the first SoC  128  may send at least a portion of the second audio data that is stored in the buffer  136  to the second SoC  142 . Continuing the example, the second audio data may be sent using an I2S interface. 
     At  408  the second SoC  142  determines, using a beamforming algorithm, third audio data from the second audio data. For example, the beamforming algorithm may utilize phase information in the second audio data to produce the desired microphone pattern  120 . In some implementations the beamforming algorithm may accept as input information about the orientation or positioning of the wearable device  104 . For example, the accelerometers  116 ( 10 ) may provide tilt data that indicates whether the wearable device  104  is flat or vertical. Based at least in part on this information, one or more parameters of the beamforming algorithm may be adjusted to produce a microphone pattern  120  which is expected to include the head of the user  102 . The speech  122  that may be present in the third audio data may exhibit a greater signal to noise ratio (SNR) as a result of the beamforming, due to the effective gain towards the head of the user  102  and the attenuation in noise outside the microphone pattern  120 . 
     At  410  the second SoC  142  determines, using the second voice activity detector module  146 , fourth audio data that is representative of speech  122  in at least a portion of the third audio data. The second voice activity detector module  146  operates to increase the likelihood that the audio data processed to determine the sentiment data  170  actually includes speech  122 . In one implementation, the first voice activity detector module  134  uses a first voice detection algorithm with a first set of one or more threshold values, while the second voice activity detector module  146  uses a second voice detection algorithm with a second set of one or more threshold values. In another implementation, the first voice activity detector module  134  and the second voice activity detector module  146  may use the same algorithm, but with different threshold values. 
     At  412  the second SoC  142  compresses the fourth audio data to produce fifth audio data. For example, the audio compression and encryption module  148  may implement the Opus audio compression as promulgated by opus-codec.org. 
     At  414  the second SoC  142  encrypts the fifth audio data to produce sixth audio data. For example, the second SoC  142  may use a public key associated with the computing device to encrypt the fifth audio data. 
     At  416  the sixth audio data is stored. In some implementation the sixth audio data may be stored for further processing, until there is an opportunity to send to the computing device  108 , and so forth. 
     At  418  the second SoC  142  sends the sixth audio data to the first SoC  128 . For example, the second SoC  142  may send the sixth audio data to the first SoC  128  using SPI. 
     At  420 , the first SoC  128  may receive the sixth audio data and send that sixth audio data to an external computing device. For example, the first SoC  128  may use a Bluetooth wireless communication interface to send the sixth audio data to the computing device  108 . In some implementations the sixth audio data may be encrypted during transmission. For example, the Bluetooth communication link may be encrypted, and the data sent via the Bluetooth communication link may be encrypted. 
     In another implementation (not shown) the first SoC  128 , the second SoC  142 , or another component in the wearable device  104  may perform one or more of the functions associated with turn detection, speech identification, and so forth. For example, the second SoC  142  may be used to determine the sentiment data  170 . 
       FIG.  5    is a block diagram  500  of the wearable device  104 , according to one implementation. To improve clarity of this figure, some components, modules, lines, and other features have been omitted. For example, the cores, memory, busses, and so forth in the SoCs are not necessarily shown. 
     The battery  112  is connected to a fuel gauge  502 . The fuel gauge  502  is also in communication with the first SoC  128 . For example, the fuel gauge  502  may be connected to the first SoC  128  via I2C. The fuel gauge  502  may provide data such as current state or charge of the battery  112 , battery health, battery temperature, and so forth. The battery  112  may comprise one or more rechargeable cells. For example, the battery  112  may comprise a lithium ion battery with a nominal 3.8 V output voltage. 
     The PMIC  114  includes circuitry for power management. For example, the PMIC  114  may comprise a TI BQ25120A from Texas Instruments Inc. of Dallas, Tex., United States of America. The PMIC  114  is in communication with the first SoC  128 . For example, the PMIC  114  may be connected to the first SoC  128  via I2C. The PMIC  114  may include a charger  504  that controls charging the battery  112  using an external power source. 
     The PMIC  114  may include one or more step-down converters (bucks)  506 . The buck  506  reduces or steps down a supply voltage to a lower load voltage. For example, a buck  506  may accept as input the battery voltage of 3.8 V and produce as output 1.8 V. 
     One or more inductors  508  may be present. For example, as shown here an inductor  508 ( 1 ) that is external to the PMIC  114  may be connected to the output of a buck  506 ( 1 ) that produces an output voltage of 1.8 V. The inductor  508 ( 1 ) in turn may be connected to the codec module  132  in the first SoC  128 , various sensors  116  such as the temperature sensor  116 ( 6 ), accelerometer  116 ( 10 ), gyroscope  116 ( 11 ), “Made for iPhone” (MFI)  518  device, a load switch  516 , and so forth. The various sensors  116 , the MFI  518  device, and the load switch  516  are in communication with the first SoC  128 . For example, the temperature sensor  116 ( 6 ), accelerometer  116 ( 10 ), gyroscope  116 ( 11 ), the load switch  516 , the MFI  518  device, and so forth may be connected to the first SoC  128  via I2C. 
     The PMIC  114  may include one or more low dropout regulators (LDO)  510  that provide regulated output voltage. For example, a first LDO  510 ( 1 ) may provide a regulated 3.7 V to the first SoC  128 , a buck  506 ( 2 ), and a boost  512 ( 1 ). The buck  506 ( 2 ) may step down the regulated 3.7 V to 0.9 V which is then provided to the second SoC  142 . 
     A step-up converter (boost)  512  increases or steps up a supply voltage to a higher load voltage. In this illustration, the boost  512 ( 1 ) raises the 3.7 V provided by the LDO  510 ( 1 ) to 4.5 V. This 4.5 V is provided to driver circuitry to operate one or more light emitting diodes (LEDs)  514  in the heart rate monitor  116 ( 3 ). By using the arrangement of LDO  510 ( 1 ) and boost  512 ( 1 ), voltage ripple is minimized. By minimizing voltage ripple, the optical SNR of the heart rate monitor  116 ( 3 ) is improved. 
     A second LDO  510 ( 2 ) may provide a regulated 1.8 V to the heart rate monitor  116 ( 3 ). The heart rate monitor  116 ( 3 ) is in communication with the first SoC  128 . For example, the heart rate monitor  116 ( 3 ) may be connected to the first SoC  128  via SP11. 
     The load switch  516  is used to control the 1.8 V power supplied to the second SoC  142  by the first buck  506 ( 1 ). For example, when the second SoC  142  is not in use, the load switch  516  may be set to prevent the flow of current to the second SoC  142 . In one implementation if an elapsed time has passed since the second SoC  142  has been used to determine or otherwise process audio data or a portion thereof, the load switch  516  may operate to discontinue providing electrical power to the second SoC  142 . In other implementations other load switches  516  may be present. For example, a second load switch may be used to control the 0.9 V power supplied to the second SoC  142  by the first LDO  510 ( 1 ). The load switch  516  may comprise a field effect transistor, relay, transistor, or other device. 
     The MFI  518  device provides various functionality that is associated with interoperation, communication, and other functionality for products compliant with the specification promulgated by Apple Corporation of Cupertino, Calif., United States of America. For example, the MFI  518  device may be used to establish, maintain, and otherwise support Bluetooth communications with other devices, including those produced by Apple Corp. 
     The second SoC  142  may be connected via SPI to memory  520 . The memory  520  may comprise non-volatile flash random access memory (RAM). For example, the memory  520  may comprise W25Q128FV16 MB memory from Winbond from Winbond Electronics Corporation of Taiwan. During operation the memory  520  may be used to store the audio data  150  that is produced by the second SoC  142 . In some implementations the memory  520  may also store one or more of the sensor data  124 , the user status data  174 , and so forth. The memory  520  may be powered by the 1.8 V provided by the first buck  506 ( 1 ). 
     A 38.4 MHz crystal  522  may provide timing for the second SoC  142 . In some implementations the crystal  522  may be internal to the second SoC  142 . 
     The second SoC  142  may include one or more cores  524  and internal memory  526 . The number of cores  524  and the internal memory  526  that is enabled and operational may be configurable. For example, the second SoC  142  may have two cores  524 ( 1 ) and  524 ( 2 ) with 4 MB of embedded SRAM as the internal memory  526 . If the expected computational load to perform the various functions can be performed by a single core  524 , in one implementation the first core  524 ( 1 ) may be used while the second core  524 ( 2 ) is turned off. Likewise, if the memory footprint during operation is expected to be less than 2 MB, the unused 2 MB of the internal memory  526  may be turned off. By turning off these unused components, the power consumption during operation is further reduced, extending the operational runtime. 
     The first SoC  128  may include an integrated third LDO  510 ( 3 ). The third LDO  510 ( 3 ) may be supplied by the 1.8V from the inductor  508 ( 1 ) and the first buck  506 ( 1 ). The third LDO  510 ( 3 ) provides a biasing voltage to the first microphone  116 ( 5 ) and the second microphone  116 ( 5 ) of the microphone array  118 . Each of the microphones  116 ( 5 ) provide an analog signal to the codec module  132 . As described above, the codec module  132  may use an analog to digital converter to generate a digital representation of the analog input. 
     The first SoC  128  may have timing provided by one or more of a 32 KHz crystal  528  or a 40 MHz crystal  530 . In some implementations the crystals  528  or  530  may be internal to the first SoC  142 . 
     By having separate crystals for the first Soc  128  and the second SoC  142 , the overall design of the wearable device  104  is simplified. This also allows the second SoC  142  to be turned off or transitioned to a low power mode when not in use, while leaving the first SoC  128  operational. The first SoC  128  may generate the clock signal used for the I2S interface to the second SoC  142 . For example, the first SoC  128  may provide a 1.024 MHz BCLK signal for the I2S interface to the second SoC  142 . The first SoC  128  may be the I2S bus master. 
     An LED header  532  may be connected to the first SoC  128 . One or more LEDs used to provide output to the user  102  may be connected to the LED header  532 . 
     The network interface  310  may comprise a wireless communication interface. For example, the network interface  310  may comprise a transceiver that is compliant with the Bluetooth wireless communication specifications and is compatible with Bluetooth protocols. 
     An antenna  534  may be connected to a radio frequency (RF) connector  536  which in turn is connected to a matching network  538 . The matching network  538  may then be connected to the transceiver. For example, the antenna  534  may comprise one or more electrically conductive elements arranged proximate to a top surface of the wearable device  104 . The matching network  538  may comprise one or more of inductors, capacitors, tuned circuits, and so forth to provide an impedance match between the transceiver and the antenna  534 . 
       FIG.  6    is an illustrative view of a wearable device  104 , according to one implementation. The wearable device  104  comprises a housing  602  and a band  604 . The housing  602  may comprise a body  606  and an upper cover  608 . The body  606 , upper cover  608 , and other components may comprise one or more of a metal, plastic, composite, ceramic, and so forth. 
     The body  606  may include one or more openings. For example, during assembly components may be placed within the body  606  through an opening that is then closed by the upper cover  608 . The body  606  and the upper cover  608  may be joined such that the resulting housing  602  is sealed. In the implementation shown here, an upper surface of the housing  602  is curved. During wear, the upper surface of the housing  602  faces away from the portion of the user  102  to which the wearable device  104  is retained. A lower surface of the housing  602  is proximate to the portion of the user  102 . For example, at least a portion of the lower surface may be in contact with the user  102  while the wearable device  104  is being worn. 
     The body  606  includes one or more receptacles  610 . As illustrated here, the body  606  is generally rectangular when viewed from above, with two ends. In the implementation depicted here a first receptacle  610  is proximate to a first end of the body  606  while a second receptacle  610  is proximate to a second end of the body  606 . Each receptacle  610  has an opening on the upper surface of the housing  602 . For example, the receptacle  610  may be within the body  606  while the upper cover  608  includes apertures for each of the openings of the receptacles  610 . 
     Each receptacle  610  is configured such that the opening or entry to the receptacle  610  is smaller along at least one dimension than an interior volume of the receptacle  610 . For example, each receptacle  610  may include a retention ridge that is proximate to the opening in the receptacle  610 . The retention ridge introduces a constriction or narrowing. For example, in cross-section the receptacle  610  may appear to resemble a mushroom shape with a root or stalk that is narrower than a larger, bulbous tip. In some implementations the retention ridge may extend along the entire perimeter of the opening. 
     The housing  602  may include one or more apertures  612 . The body  606  may include several apertures  612  for microphone ports, light emitting diodes, air pressure sensors, and so forth. In this view, apertures  612 ( 1 ) and  612 ( 2 ) are shown on a first side of the housing  602 . For example, the aperture  612 ( 1 ) may comprise a pressure equalization port and the aperture  612 ( 2 ) may provide a port for a first microphone  116 ( 5 ) to receive sound from outside the housing  602 . 
     The band  604  may comprise a flexible member  614  having a first end and a second end. The flexible member  614  includes an inner surface and an outer surface. When the band  604  is affixed to the housing  602 , at least a part of the inner surface of the flexible member  614  is proximate to the upper surface of the housing  602 . 
     The flexible member  614  may comprise one or more of fabric, an elastomeric material, a plurality of links, and so forth. For example, the flexible member  614  may comprise an elastic fabric. A loop  616  may be arranged at the first end of the flexible member  614  while an endcap  618  is arranged at the second end. The loop  616  may be a rigid loop. For example, the loop  616  may comprise metal that is encased in plastic. In other implementations, the loop  616  may comprise a flexible material. 
     One or more protrusions  620  extend away from the inner surface of the flexible member  614 . In the implementation shown here, a first protrusion  620  extends from the inner surface of the flexible member  614  at a first location L 1  and a second protrusion  620  extends from the inner surface at a second location L 2 . 
     Each protrusion  620  is configured to maintain mechanical engagement after insertion into the receptacle  610 . The protrusions  620  may comprise an elastomeric material. In one implementation, the protrusions  620  may comprise silicone rubber having a hardness as measured using a durometer with a Shore A reading of between 70 and 90. 
     In one implementation, the protrusions  620  may comprise components that have been joined to the flexible member  614 . For example, the protrusions  620  may be formed and then joined to the flexible member  614  using one or more of an adhesive, mechanical fasteners, thread, and so forth. 
     In another implementation the protrusions  620  may be integral with at least a portion of the flexible member  614 . For example, the flexible member  614  and the protrusions  620  may comprise a unitary piece of elastomeric material. 
     A portion of each protrusion  620  is larger than the narrowest part of the opening into the receptacle  610 . For example, a first distance D 1  indicates the maximum width of the opening in the receptacle  610 . A second distance D 2  indicates the maximum interior width of interior space of the receptacle  610  at the widest point. Due to the constriction in the receptacle  610 , the first distance D 1  is less than the second distance D 2 . 
     A third distance indicates the maximum width of the protrusion  620  at its widest point. The third distance is greater than the first distance D 1 . For example, at the widest point the bulbous tip of the protrusion  620  is larger than the opening of the receptacle  610 . In one implementation, the third distance of the maximum width of the protrusion  620  may be at least 15% greater than the first distance D 1 . 
     In one implementation the third distance may be less than the second distance D 2 . For example, the widest point of the protrusion  620  may be smaller than the largest width of the receptacle  610 . In another implementation the uncompressed protrusion  620  may have a third distance that is greater than the second distance D 2 . For example, after insertion into the receptacle  610  the protrusion  620  may expand and exert some pressure on the interior surface of the receptacle  610  as the elastomeric material attempts to resume a prior shape. In this implementation the portion of the protrusion  620  that is within the receptacle  610  remains at least slightly compressed. 
     In the implementation depicted here, each of the two protrusions  620  extending from the inner surface of the flexible member  614  has a corresponding receptacle  610 . The band  604  is affixed to the housing  602  by placing the inner surface of the flexible member  614  in contact with the outer surface of the upper cover  608 , placing the band  604  atop the housing  602 . For example, the inner surface of the flexible member  614  between L 1  and L 2  may be in contact with the upper cover  608 . 
     Each protrusion  620  is aligned to a respective receptacle  610  and a force is applied to the flexible member  614  on the outer surface opposite the protrusion  620 . The applied force causes the enlarged portion of the protrusion  110  to temporarily deform, allowing it to pass into the cavity of the receptacle  610 . In some implementations an audible “pop” or other sound is produced, providing audible feedback to the user  102  that the band  604  and the housing  602  have been adequately engaged. Once within the receptacle  610 , the elastomeric material expands, securing part of the protrusion  620  within the receptacle  610 . The band  604  is now affixed to the housing  602 . 
     To separate the band  604  from the housing  602 , the process is reversed. A pull may be applied to the flexible member  614 . Under the influence of the pull, the protrusion  620  temporarily deforms and is able to be withdrawn from the receptacle  610 . In some implementations an audible “pop” or other sound is produced, providing audible feedback to the user  102  that the band  604  and the housing  602  have been separated. 
     In one implementation, the one or more receptacles  610  in the housing  602  may be configured with the same dimensions. Likewise, the one or more protrusions  620  on the band  604  may be configured with the same dimensions. In this implementation, the relative orientation of the housing  602  with respect to the band  604  may be easily changed. For example, a left-handed user  102  may wish to reverse the orientation of the housing  602  with respect to the band  604  to allow improved access to one or more controls on the housing  602 . In other implementations the dimensions of one or more of the receptacles  610  or the protrusions  620  may differ, enforcing a particular orientation of the band  604  with respect to the housing  602 . 
     Instead of an elastomeric material, the protrusions  620  may comprise one or more spring elements. For example, the protrusions  620  may comprise a metal or plastic element that forms a living hinge. In another example, the protrusions  620  may comprise one or more features that are biased using one or more compression springs. 
     With the housing  602  and the band  604  attached, the wearable device  104  may be worn by a user  102 . The flexible member  614  may include on the outer surface a loop portion  622  comprising a plurality of loops and a hook portion  624  comprising a plurality of hooks. To affix the wearable device  104  to the user  102 , the second end of the flexible member  614  having the endcap  618  is passed through the loop  616 . The user  102  may place their forearm into the loop formed by the flexible member  614 . The second end of the flexible member  614  may then be pulled such that the inner surface is in comfortable contact with the user  102 &#39;s forearm, and the hook portion  624  is then pressed against the loop portion  622 , securing the flexible member  614 . 
     In other implementations, other mechanisms may be used to secure the wearable device  104  to the user  102 . For example, the flexible member  614  may utilize a buckle, a folding clasp, butterfly closure, and so forth. In another example, the flexible member  614  may comprise a contiguous loop of elastomeric material, allowing the user  102  to pass their hand through the loop and which then contracts to hold the wearable device  104  in place. 
     At least a portion of the flexible member  614  between the first location L 1  and the second location L 2  may comprise an elastomeric material. A distance between the receptacles  610  may be slightly greater than the distance between L 1  and L 2 . In this implementation, during and after installation the portion of the band  604  between L 1  and L 2  is under tension from the elastomeric material of the flexible member  614  attempting to resume a prior shape. This tension provides a biasing force that assists in keeping the inner surface of the flexible member  614  in contact with the upper surface of the housing  602 . By maintaining contact, the flexible member  614  is not wrinkled or otherwise protruding, thus preventing snags, preventing contaminants from accumulating in between the two, and improving the aesthetics of the wearable device  104 . 
     In some implementations the housing  602  may include one or more output devices on the upper surface. For example, a display device may be arranged on the upper surface between the receptacles  610  to provide visual output to the user  102 . At least a portion of the flexible member  614  that is between the first location L 1  and the second location L 2  may be transparent, contain one or more holes, or another opening to allow at least a portion of the display device to be visible. For example, the flexible member  614  may comprise a transparent material such as silicone rubber. In another example, the flexible member  614  may comprise an opening or aperture that is coincident with the display device. In another example, the flexible member  614  may comprise a plurality of holes, perforations, or spaces between threads that allow at least a portion of light from the display device to pass through. 
       FIG.  7    is another view of the wearable device  104  of  FIG.  6    with the band  604  not yet affixed to the housing  602 , according to one implementation. In this view, the inner surface  702  and the outer surface  704  of the flexible member  614  are shown. In this view additional apertures  612 ( 3 ) and  612 ( 4 ) are shown. For example, the aperture  612 ( 3 ) may provide a path for light from an LED to exit the housing  602  while the aperture  612 ( 4 ) may provide a port for a second microphone  116 ( 5 ) to receive sound from outside the housing  602 . 
     A button  706  is also present on this side of the housing  602  between the apertures  612 ( 3 ) and  612 ( 4 ). The button  706  may be used to activate a switch to allow for user  102  input. 
     A sensor window  708  is arranged on a bottom surface of the housing  602 . The sensor window  708  may be transparent to one or more wavelengths of light. For example, the sensor window  708  may be transparent to visible and infrared light. The sensor window  708  may be used by one or more sensors to obtain information about the user  102 . A field of view of one or more sensors may pass through the sensor window  708 . For example, an optical heart rate monitor  116 ( 3 ) may comprise an LED that emits light which passes through the sensor window  708  and to the arm of the user  102 . Reflected or scattered light returns through the sensor window  708  where it is measured by a photodetector. In another example a camera may have a field of view that passes through the sensor window  708  to obtain images of a portion of the user  102 &#39;s arm. 
     In some implementations, the portion of the bottom surface of the housing  602  that includes the sensor window  708  may protrude away from the remainder of the bottom surface. 
     One or more electrical contacts  710  may also be present on the bottom surface of the housing  602 . The electrical contacts  710  may be used to transfer data, provide electrical power, and so forth. In some implementations the electrical contacts  710  may be recessed with respect to the bottom surface. 
       FIG.  8    is a cross sectional view of the housing  602  along line B-B (as shown in  FIG.  6   ), according to one implementation. In this view the upper cover  608  is shown separate from the housing  602 . 
     The receptacles  610  are visible here. Each receptacle  610  has a retention ridge  802  proximate to the entry of the receptacle  610 . In another implementation other engagement features may be used. For example, teeth may extend from the housing  602 . The opening of the receptacle  610 , the retention ridge  802 , and the interior cavity of the receptacle  610  may be rounded or otherwise avoid sharp edges. Rounding of these features may facilitate controlled installation and removal of the protrusion  620  and may also improve lifespan of the protrusion  620  by preventing tearing. 
     The first distance D 1  indicates the maximum width of the opening in the receptacle  610 , as constrained by the retention ridge  802  or other feature. The second distance D 2  indicates the maximum interior width of the receptacle  610  at the widest point of the interior space within the receptacle  610 . Due to the constriction in the receptacle  610 , the first distance D 1  is less than the second distance D 2 . 
     The upper cover  608  may include a first lip  804  and a second lip  804 . The first lip  804  may be proximate to a first end of the upper cover  608  while the second lip  804  may be proximate to a second end of the upper cover  608 . The first lip  804  and the second lip  804  extend from an inside surface of the upper cover  608 . For example, in cross section of the upper cover  608  may resemble a “C”. 
     The housing  602  may also include one or more recesses  806 . For example, the housing  602  may include a first recess  806  that is proximate to the first end the housing  602  and a second recess  806  that is proximate to the second end of the housing  602 . The recess  806  is configured to accept the corresponding lip  804  and retain the upper cover  608  to the housing  602 . For example, during assembly, an adhesive is placed within a groove and the upper cover  608  is moved into contact with the housing  602 . Upon application of a force bringing the upper cover  608  and the housing  602  together, a ridge enters the groove and the first lip  804  enters the first recess  806  and the second lip  804  enters the second recess  806 . 
     A metal chassis  808  is also shown. Various components may be mounted to the metal chassis  808 . A first end of the metal chassis  810  and a second end of the metal chassis  812  may include features to facilitate mounting of other components. For example, the metal chassis  808  may include holes that permit the passage of a mechanical fastener such as a screw. 
     The battery  112  may be placed within the housing  602 . A battery contact block provides electrical connections between contacts on the battery  112  and the electronics of the wearable device  104 . A flexible printed circuit (FPC)  818  provides one or more electrical traces to transfer one or more of power or data between components of the wearable device  104 . 
     The wearable device  104  may utilize a system in package (SIP) construction, as shown with a SIP  820 . The SIP  820  may comprise the first SoC  128 , the second SoC  142 , the memory  520 , the PMIC  114 , or other components. The FPC  818  or other FPCs, wiring harnesses, and so forth may be used to interconnect the components in the wearable device  104 . 
     A FPC  822  may be used as a transmission line to transfer radio frequency signals between the SIP  820  and one or more antenna contacts  826 . When the upper cover  608  is installed on the housing  602  the antenna contacts  826  provide an electrical connection between the FPC  822  and a portion of an antenna trace  828 . The antenna trace  828  may extend along a portion of an inner surface of the upper cover  608 . The antenna trace  828  may be used as the antenna  534 . 
     Also shown in this view is a window barrier  824  that is located between the sensor window  708  and the interior of the housing  602 . For example, the heart rate monitor  116 ( 3 ) may include a multicolor LED  514 ( 1 ), a first photodiode  860 ( 1 ), a green LED  514 ( 2 ), and a second photodiode  860 ( 2 ). The LEDs  514  are operated to emit light and one or more of the photodiodes  860  or other photodetectors detect the light reflected or scattered by the arm of the user  102 . The window barrier  824  may provide an opaque barrier between the LED and the photodetector to prevent the emitted light from intruding on and saturating the photodetector. The window barrier  824  also provides mechanical support to the sensor window  708 . 
     Also shown are the contacts  710  on an underside of the housing  602 . 
     A first temperature sensor  116 ( 6 ) may be positioned proximate to the bottom surface of the housing  602 . The first temperature sensor  116 ( 6 ) may be used to determine the temperature of the user  102 . In this illustration the first temperature sensor  116 ( 6 ) may be arranged at least partially within a well or recess  830  in the housing  602  that is proximate to the bottom surface. A thermally conductive gel, grease, or other material may be arranged around or between the first temperature sensor  116 ( 6 ) and the walls of the well  830 . The housing  602 , or a bottom portion thereof, may comprise a thermally conductive material such as stainless steel. 
     A second temperature sensor  116 ( 6 ) may be positioned proximate to a top surface of the wearable device  104 . For example, the second temperature sensor  116 ( 6 ) may be proximate to the inner surface of the upper cover  608 . 
     Specific physical embodiments as described in this disclosure are provided by way of illustration and not necessarily as a limitation. Those having ordinary skill in the art readily recognize that alternative implementations, variations, and so forth may also be utilized in a variety of devices, environments, and situations. Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features, structures, and acts are disclosed as exemplary forms of implementing the claims. 
     Processes discussed herein may be implemented in hardware, software, or a combination thereof. In the context of software, the described operations represent computer-executable instructions stored on one or more non-transitory computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. Those having ordinary skill in the art will readily recognize that certain steps or operations illustrated in the figures above may be eliminated, combined, or performed in an alternate order. Any steps or operations may be performed serially or in parallel. Furthermore, the order in which the operations are described is not intended to be construed as a limitation. 
     Embodiments may be provided as a software program or computer program product including a non-transitory computer-readable storage medium having stored thereon instructions (in compressed or uncompressed form) that may be used to program a computer (or other electronic device) to perform processes or methods described herein. The computer-readable storage medium may be one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, and so forth. For example, the computer-readable storage media may include, but is not limited to, hard drives, optical disks, read-only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. Further, embodiments may also be provided as a computer program product including a transitory machine-readable signal (in compressed or uncompressed form). Examples of transitory machine-readable signals, whether modulated using a carrier or unmodulated, include, but are not limited to, signals that a computer system or machine hosting or running a computer program can be configured to access, including signals transferred by one or more networks. For example, the transitory machine-readable signal may comprise transmission of software by the Internet. 
     Separate instances of these programs can be executed on or distributed across any number of separate computer systems. Thus, although certain steps have been described as being performed by certain devices, software programs, processes, or entities, this need not be the case, and a variety of alternative implementations will be understood by those having ordinary skill in the art. 
     Additionally, those having ordinary skill in the art will readily recognize that the techniques described above can be utilized in a variety of devices, environments, and situations. Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the claims.