Abstract:
A user can utter a voice command in an environment where multiple audio playback devices are located to have audio output on a single device, or a predefined group of devices in a synchronized manner. In instances when the voice command uttered by the user does not specify a target for audio output, an implicit target selection algorithm can evaluate one or more criteria to determine an appropriate target for output of the audio corresponding to the voice command. An example criterion is met if a predetermined time period has lapsed since a last utterance was detected by a device in the environment. However, other criteria can be evaluated for determining a target output device(s).
Abstract:
A speech-based audio device may be configured to detect a user-uttered wake expression. For example, the audio device may generate a parameter indicating whether output audio is currently being produced by an audio speaker, whether the output audio contains speech, whether the output audio contains a predefined expression, loudness of the output audio, loudness of input audio, and/or an echo characteristic. Based on the parameter, the audio device may determine whether an occurrence of the predefined expression in the input audio is a result of an utterance of the predefined expression by a user.
Abstract:
Synchronized output of audio on a group of devices comprises sending audio data from an audio distribution master device to one or more slave devices in the group. In group mode, a slave can be configured to receive audio data directly from a master device acting as a soft wireless access point (WAP) in an environment that includes a traditional WAP. In response to a user request to output audio via the slave in individual mode, the slave may be configured to dynamically switch to receiving audio data via the WAP in the environment without routing the audio data through the master device acting as the soft WAP. This dynamic switching to receiving audio data via the WAP in individual mode can reduce bandwidth consumption on the master device.
Abstract:
Synchronized output of audio on a group of devices can comprise sending audio data from an audio distribution master device to one or more slave devices in the group. Scores can be assigned to respective audio playback devices, the scores being indicative of a performance level of the respective audio playback devices acting as a master device. The device with the highest score is designated as a candidate master device and one or more remaining devices are designated as a candidate slave(s). A throughput test is conducted with the highest scoring device acting as the candidate master device. The results of the throughput test are used to determine a master device for a group of devices. Latency of the throughput test can be reduced by using a prescribed time period for completion of the throughput test, and/or by selecting a first group configuration to passes the throughput test.
Abstract:
Described are techniques for synchronizing multiple devices within a group to enable performance of a synchronized action through the exchange of time data. A first device provides a timestamp or other time data to multiple other devices via a multicast transmission. Each of the other devices determines a time at which the timestamp was received and exchanges this data with one another. Based on the determined times, the other devices may be synchronized relative to a selected synchronization master device. One of the other devices may then determine a from the first device, and determine the time at which the timestamp from the first device was received, enabling the first device to be synchronized with the synchronization master device. Devices that are unable to receive multicast transmissions from the first device may exchange timestamps with the first device via an access point.
Abstract:
Systems and methods for adaptive information packet transmission are disclosed. For example, one or more backup packets may be generated for a given data packet and a packet-spacing value and/or packet-sending order may be determined based at least in part on packet-loss data and/or other factors. The data packets and backup packets may be sent according to the packet-spacing value and packet-sending order, and feedback data may be provided by the receiving device. The feedback data may be utilized by the sending device to adapt the packet transmission parameters.
Abstract:
A speech-based audio device may be configured to detect a user-uttered wake expression. For example, the audio device may generate a parameter indicating whether output audio is currently being produced by an audio speaker, whether the output audio contains speech, whether the output audio contains a predefined expression, loudness of the output audio, loudness of input audio, and/or an echo characteristic. Based on the parameter, the audio device may determine whether an occurrence of the predefined expression in the input audio is a result of an utterance of the predefined expression by a user.
Abstract:
A system may be configured to interact with a user through speech using a first and second audio devices, where the first device produces audio and the second device captures audio. The second device may be configured to perform acoustic echo cancellation with respect to a microphone signal based on a reference signal provided by the first device. The reference and microphone signals may have the same nominal signal rates. However, the signal rates may drift from each other over time. In order to synchronize the rates of the signals, each of the devices maintains a signal index. The second device compares the values of the two signal indexes over time to determine rate differences between the reference and microphone signals and then corrects for the rate differences.
Abstract:
A multi-channel audio communication system is configured to receive highly correlated input audio signals, generated as an example by multiple microphones at a far-end site. Each input audio signal is cyclically stepped through a range of discrete delay amounts, between upper and lower limits, using a step size that is a fraction of the sample period of the input audio signals. Delay cycles applied to the different input audio signals are configured to have different phases, thereby reducing the inter-signal correlation of the input audio signals. The delayed input audio signals are then played by loudspeakers. Microphone output, which may contain sound generated by the loudspeakers, is then subjected to multi-channel acoustic echo cancellation.
Abstract:
A multi-channel echo cancellation system that dynamically adapts to changes in acoustic conditions. The system does not require a sequence of “start-up” tones to determine the impulse responses. Rather, the adaptive filters approximate estimated transfer functions for each channel. A secondary adaptive filter adjusts cancellation to adapt to changes in the actual transfer functions over time after the adaptive filters have been trained, even if the reference signals are not unique relative to each other.