Abstract:
When an indication is received from a user input, a name of an audio source from an ordered list of audio sources to which a headset is currently connected is output. Whenever a successive indication is received within a predefined amount of time, the name of the next wireless audio source in the list is output. If the next wireless audio source in the list is the last wireless audio source in the list, and the successive indication from the user input is received before the elapsed time exceeds the predefined value, the name of the audio source to which the headset is currently connected is output as the next selected wireless audio source in the list. When an amount of time greater than the predefined value elapses without a successive indication from the user input, the last wireless audio source that had its name output is connected.

Description:
PRIORITY CLAIM 
       [0001]    This application is a continuation of and claims priority to U.S. patent application Ser. No. 14/193,737, filed on Feb. 28, 2014, the entire contents of which are incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    The present invention relates to wireless technology, and more specifically to direct selection of an audio source. 
         [0003]    In general, Bluetooth® wireless technology is a wireless communications system intended to replace the cables connecting electronic devices. In order for two devices to communicate over Bluetooth, they must first be paired. A pairing sequence between two Bluetooth devices typically requires user setup actions on both devices and time for the Bluetooth devices to discover each other. Once devices are paired, they may be connected and disconnected under the control of the devices themselves without repeating the pairing process. Devices may be connected for various purposes, including remote control, exchange of data, or playback of audio signals generated by one device on a speaker in another device. One host device may be paired to multiple peripheral devices, but is normally only connected to one at a time, for each of one or more types of connection. In the context of this application, when we refer to “Bluetooth” we are referring to protocols and connections operating according to the version of the Bluetooth specification released by the Bluetooth Special Interest Group (Bluetooth SIG) as of the filing date of this application, which is Version 4.0 [Vol 0], 30 June 2010. Other wireless technologies may provide similar features and capabilities and may be used in the same manner. 
       SUMMARY 
       [0004]    The following presents a simplified summary in order to provide a basic understanding of some aspects of the invention. This summary is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later. 
         [0005]    In general, in one aspect, a wireless audio output device includes at least a processor, a memory, a wireless interface, a user input, and a speaker. A list of two or more paired wireless audio sources is stored in the memory, the list including information about each wireless audio source, the information including a name of each wireless audio source, the list including at least a first wireless audio source and a last wireless audio source. An indication is received from the user input A text-to-speech engine is used to generate an audio signal corresponding to a name of a selected wireless audio source in the list. The speaker is used to output the audio signal. If an amount of time greater than a predefined value elapses without receiving a successive indication from the user input, the output device connects to the selected wireless audio source. 
         [0006]    Implementations may include one or more of the following, in any combination. Whenever a successive indication is received from the user input before the elapsed time exceeds the predefined value, the text-to-speech engine is used to generate a next audio signal corresponding to a name of a next selected wireless audio source in the list, and the speaker is used to output the next audio signal. When an amount of time greater than the predefined value elapses without a successive indication from the user input, the next selected wireless audio source is connected. If the next selected wireless audio source in the list is the last wireless audio source in the list, and the successive indication from the user input is received before the elapsed time exceeds the predefined value, the first wireless audio source in the list is used as the next selected wireless audio source in the list. 
         [0007]    A first and a second wireless audio source from the list may both be connected to the wireless output device, the first connected source being a primary source and the second connected source being a secondary source. Whenever a successive indication is received from the user input before the elapsed time exceeds the predefined value, the text-to-speech engine is used to generate a next audio signal corresponding to a name of a next selected wireless audio source in the list, and the speaker is used to output the next audio signal, and when an amount of time greater than the predefined value elapses without a successive indication from the user input, the wireless output device is connected to the next selected wireless audio source. If the next selected wireless audio source is also the second connected source, the second connected source is re-assigned as the primary source and the first connected source is re-assigned as the secondary source, and if the next selected wireless source is other than the first or the second connected sources, the next selected wireless source is assigned as the primary source and the first connected source is re-assigned as the secondary source. The text-to-speech engine may be used to generate a confirming audio signal corresponding to the names of the primary and secondary sources, and the speaker used to output the confirming audio signal. 
         [0008]    The wireless interface may include a Bluetooth wireless interface, and the list of wireless audio sources may include a list of Bluetooth sources paired with the wireless audio output device. The elapsed time may be measured from the receipt of the indication from the user interface. The elapsed time may be measured from the outputting of the audio signal identifying the current or next audio source. The user input may include a momentary activation of a switch having a momentary activation state. If an indication is received that the switch was held in the momentary activation state for a pre-determined period of time, the wireless interface may be operated to detect an additional wireless audio source, pair with the additional wireless audio source, and add the additional wireless audio source to the list. If connecting to the selected wireless audio source fails and an error message is received from the selected wireless audio source, the wireless device may repair with the selected wireless audio source. The user input may includes an output from an electronic user interface, the output corresponding to a next source indication within the electronic user interface. Using the text-to-speech engine may include accessing the text-to-speech engine through a wireless connection to one of the paired wireless audio sources. The switch may include a three-position sliding switch having first, second, and third positions, the switch remaining in the first or second positions when placed there and returning to the second position when placed in the third position and released, the momentary activation state including being placed in the third position. 
         [0009]    In general, in one aspect, a set of headphones includes a processor, a memory, a Bluetooth wireless interface, a switch having a momentary activation state, and a pair of speakers. The memory contains an ordered list of Bluetooth-enabled audio sources having been previously paired to the wireless audio output device, the list including information about each audio source, the information including a name of each audio source, and at least a first audio source and a last audio source. The processor is configured to carry out an audio source selection process including receiving an indication from the user input and using the speaker to output a name of an audio source in the list to which the headset is currently connected. Whenever a successive indication is received from the user input before an amount of time greater than a predefined value passes after the outputting, the speaker is used to output a next audio signal corresponding to a name of a next wireless audio source in the list If the next wireless audio source in the list is the last wireless audio source in the list, and the successive indication from the user input is received after outputting the next audio signal and before the elapsed time exceeds the predefined value, the name of the audio source to which the headset is currently connected is output as the next selected wireless audio source in the list When an amount of time greater than the predefined value elapses without a successive indication from the user input, the last wireless audio source that had its name output is connected. 
         [0010]    These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of aspects as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  is a block diagram of an exemplary wireless entertainment system. 
           [0012]      FIGS. 2 and 3  are flow diagrams. 
       
    
    
     DETAILED DESCRIPTION 
       [0013]    As shown in  FIG. 1 , an exemplary wireless entertainment system  10  includes a wireless playback device  15  and one or more wireless audio sources  20   a,    20   b  and  20   c.  Example wireless playback devices include, but are not limited to, a headset, a portable speaker, an automobile entertainment system, a home theater system, and so forth. Example wireless audio sources  20   a,    20   b,    20   c  include, but are not limited to, an entertainment system, a communication system, a personal computer, a smart watch, and so forth. In some examples, Bluetooth wireless technology is used to provide wireless communication between the components of the system. 
         [0014]    In some examples, the wireless playback device  15  includes a processor  25 , a memory  30 , a wireless communication module  35 , and a speaker  40 . The wireless communication module may include, for example, a Bluetooth wireless communication interface or other similar interface. The wireless playback device  15  also includes a switch  50  linked to the processor  25 . In one example, the switch  50  is a momentary switch. In another example, as shown in  FIG. 1 , the switch  50  is a multi-position sliding switch, such as a three position switch in which at least one of the positions is stable, i.e., the switch stays there when placed there, and at least one of the positions is momentary, i.e., the switch returns to the stable position from the momentary position when released. In some examples, such a position has two stable positions corresponding to an on state and off state for the device, and a third, momentary position used as the momentary switch  50  as described below. In other examples, the wireless playback device  15  includes an electronic user interface (UI), in which case the switch  50  in  FIG. 1  represents a particular signal output from that UI to the processor  25 . 
         [0015]    The processor  25  controls the general operation of the wireless playback device In some examples, where Bluetooth or a similar wireless technology is used, the processor  25  initiates a Bluetooth-specific function implemented in the wireless module  35  upon detecting certain events, as described below. The processor  25  initiates an operation (e.g., pairing) necessary to establish communication between the wireless playback device  15  and the one or more wireless audio sources  20   a,    20   b,    20   c  using Bluetooth wireless technology. 
         [0016]    The memory  30  may include any suitable memory technology, such as Read Only Memory (ROM), Random Access Memory (RAM), or flash ROM, to name a few examples. Among other things, the memory stores a microcode of a program for processing and controlling the processor  25  and a variety of reference data, data generated during execution of any of the variety of programs performed by the processor  25 , and various updateable data for safekeeping such as a phone book, outgoing messages, incoming messages and the like. Different types of data may be stored in different types of memory. The memory includes executable code for general operation of the wireless playback device, as well as a text-to-speech engine and instructions for performing a process for the direct selection of an audio source. The direct selection of audio source process and the switch  50  enable the processor  25  to connect the wireless module  35  to a wireless audio source from a set of paired sources, as described below, through a simplified user interface (UI) and without manually interacting with the audio sources. 
         [0017]    The wireless module  35  enables a wireless connection using Radio Frequency (RF) communication between the wireless playback device  15  and the wireless audio sources  20   a,    20   b,    20   c.  The wireless module  35  exchanges a radio signal including data input/output through an antenna (not shown). For example, when using Bluetooth wireless technology in a transmission mode, the wireless module  35  processes data by channel coding and spreading, converts the processed data into a Radio Frequency (RF) signal and transmits the RF signal. In a reception mode, the wireless module  35  converts a received RF signal into a baseband signal, processes the baseband signal by de-spreading and channel decoding and restores the processed signal to data. 
         [0018]    Each of the wireless audio sources, audio source  20   a  for example, can include a processor, a memory, and a wireless communication module implementing Bluetooth or other appropriate wireless technology. The particular construction and technology of the source devices is not within the scope of this disclosure, except to note that wireless communication module is compatible with the wireless module  35  of the wireless audio source  15 , such that it interacts with the wireless playback device in the manner described below. In some examples, the text-to-speech engine is contained within one of the connected wireless audio sources and available for use by the wireless playback device, or is provided by an on-line service that the wireless playback device can connect to through one of the wireless audio sources which is also connected to a wide-area network. 
         [0019]    As shown in  FIG. 2 , a process  200  is performed by the wireless playback device  15  to directly select one of the audio sources. The process  200  begins by detecting ( 205 ) wireless audio sources. The playback device then pairs ( 210 ) with each of the detected wireless audio sources, for example by carrying out a Bluetooth pairing process for each audio source. The playback device then stores ( 215 ) a list of the paired audio sources in the memory, the list including information about each paired audio source. The information includes a name of each of the paired audio source. The steps of detecting, pairing with, and storing the information about the sources may be carried out at any time, with the list of sources used in later steps growing as needed. The remaining steps are relevant when at least two sources have been paired and are included in the list. 
         [0020]    In step  220 , the playback device receives an indication that the switch  50  has been activated. In response , the playback device looks up ( 225 ) the name of the current source, from the information about the source in list of sources or in a store of information specifically about the current source. The playback device then uses a text-to-speech engine residing in the memory to generate an audio signal allowing it to speak ( 230 ) the name of the current source. 
         [0021]    Once the name has been output, the playback device waits ( 235 ) a predetermined amount of time to see if the switch  50  is activated again ( 240 , ignoring optional step  265  discussed below). In some examples, the time is measured from the end of the audio output In other examples, the time is measured from the last switch input. If the switch is not activated again within the predetermined amount of time, the playback device connects ( 245 ) to the source associated with the name that was just output For the first time through, when the source announced was the currently connected source, step  245  has the effect of maintaining the status quo. 
         [0022]    If the successive indication from the switch ( 240 ) is received within the predefined amount of time, the playback device offers the next source in the list to the user. It does this by first confirming whether it has reached the end of the list ( 250 ). If there are more sources in the list, the playback device increments the offered source to the next source in the list, and resets ( 255 ) the time to wait for another switch activation. The playback device looks up the name of the new source ( 260 ) and returns to step  230  such that it speaks an audio signal corresponding to the name of the next source in the list This process is repeated until either the switch is not pressed, and the last-announced source is connected ( 245 ), or the end of the list is reached ( 250 ). 
         [0023]    If the switch keeps getting activated such that the process reaches the end of the list of paired audio sources, and the switch is pressed yet again, the playback device cycles back to the currently connected audio source and starts all over again ( 225 ). 
         [0024]    While the example above treated the switch  50  as an electronic switch that a user may manually activate, other methods of user input are also suitable. For example, an automatic voice response system may detect the user saying “next source” and provide an electronic indication as the “switch” input  220  to the process  200 . In another example, a motion sensor may detect that the user waved her hand in a particular manner and interpret this as a “next source” indication to be provided to the process  200 . 
         [0025]    Thus, the switch or equivalent input is used to select any of the audio sources from the list of paired audio sources. Each press of the switch goes to a next paired audio source in the list, and the device connects when no further switch indication is received. In some examples, the switch  50  is used to provide an additional user interface feature. If the switch is held in its momentary position, rather than pressed and released, the system will treat this as a different input For example, as shown by optional step  265  in  FIG. 2 , holding the switch in the momentary position for longer than some preset limit may indicate that the user wishes to connect to a device not already in the list The playback device responds by returning to step  205 , to detect and pair with a new source that wasn&#39;t present when those steps were previously carried out, and add it to the list. The testing of whether the switch has been held for longer than the limit may be performed each time the switch is pressed, i.e., step  265  may be effectively be inserted before step  225 , as shown by the dashed lines in the flow chart, as well as coming before step  235 . The limit for how long the switch is held to restart pairing may be the same as or different from the time within which the switch must be pressed after the last prompt to cycle to the next source in the list. 
         [0026]    The source detecting and pairing steps may also be repeated in other circumstances. For example, if the user has un-paired the playback device from the source device through the user interface of the source device, the playback device will still offer and attempt to connect to the source device when carrying out steps  255 ,  260 , and  230 . In such a situation, however, step  245  will fail with an error message ( 275 ) coming back from the source device (as opposed to no error coming if the device is merely off or out of range). Instead of simply informing the user that connection failed, the playback device may return to step  205  and re-enter the pairing process so that the user can re-pair the playback device to the source device. 
         [0027]      FIG. 3  shows another embodiment of the process of  FIG. 2 , in which active connections are maintained to two of the sources in the list The optional step of testing whether the switch has been held for longer than a limit and restarting the pairing process is not shown, but may be used with this process as with process  200 . The switch inputs after the first are also not shown but are assumed each time the switch press triggers action. This process  300  begins like process  200 , with detecting ( 205 ) and pairing ( 210 ) with the sources, and storing the list ( 215 ) of sources. The playback device then connects to two sources ( 305 ), referred to as primary and secondary sources. In some examples, the two sources are handled differently, for example, user interface inputs may be directed to the primary source, while audio will be played back from either source, either mixed or according to the source&#39;s priority. The priority may be based on the “primary” or “secondary” designation, or may be based on the type of source, for example, in an aviation headset, the flight radio may always take priority, even if it is the secondary source for user input purposes. In some cases, initiating audio playback from the secondary source may cause the primary and secondary sources to switch places. 
         [0028]    When the switch is pressed for the first time ( 220 ), the playback device gets the names of both primary and secondary sources ( 325 ) and speaks them both ( 330 ). If the switch is repeated within the preconfigured time limit ( 235 ), the potential new source is set ( 340 ) to the next source in the list after the primary. For the first button press, there will always be at least one next source in the list, the secondary source. If only one source is present, the system will fall back to process  200 . In some examples, the secondary source is always the first source offered when the user begins this process; in other examples, the order of devices in the list may be fixed, so the secondary source is offered when its turn comes. The playback device gets ( 345 ) and speaks ( 350 ) the name of the new source. If the switch is pressed again within the preconfigured time limit ( 355 ), the device now tests whether it has offered the last source in the list ( 360 ). If it has, the new source is set to the primary source ( 365 ), cycling back to the beginning of the list as before. 
         [0029]    When the user stops pressing the switch, the device connects ( 370 ) to the new source, assuming it is other than the current connected sources. In some examples, the playback device can only be connected to two source devices at once, so the old secondary device may be dropped if it wasn&#39;t selected as the new primary. If the selected new source was previously the secondary source ( 375 ), then the primary and secondary sources are swapped ( 380 ), making the previous primary the new secondary and vice-versa. If the new source is not the previous secondary, the new secondary source is set ( 385 ) to the previous primary source. In some examples, the secondary source can be used without making it the primary source, so the last-used of the previous primary and secondary sources is made (or kept) the new secondary, and the primary source is set ( 390 ) to the new source. This may be advantageous where the user isn&#39;t really expected to know the difference between primary or secondary, and just expects the last-used source to remain connected. The trivial case that the new source is the existing primary source, in which case nothing changes, is not shown. Alternatively, selecting the existing primary source may be used to drop the connection to the secondary source, leaving only the primary source connected. After the primary and secondary sources are updated (or not updated, as the case may be), the device speaks both names ( 395 ) to confirm for the user the result of the interaction. 
         [0030]    For both of the processes discussed above, the list of source devices has an order. In some examples, the order is changed dynamically, so that the primary device, or the only connected device, is at the first position in the list, and the secondary device, if any, is second. Cycling through the list begins with the second position so that the secondary device, if any, is presented first, allowing the user to quickly make it the primary. In some examples, the list as stored in memory is not modified during operation, but the primary device is presented between the last and the first devices when cycling through the list, and the secondary device is presented first when following process  300 , with the rest of the stored list then being used in order. In other examples, the list order is followed and the primary and secondary devices are simply presented in turn according to that order. The starting point may be the beginning of the list each time the process is initiated, or it could be the first device after the current primary device, i.e., the overall order is maintained but the starting point varies. In yet another example, only the secondary device changes order, such that it is always offered first, but the primary device is presented in whatever position it holds in the list. In some examples, the playback device includes a power-down process that stores an updated list with the last devices that were primary and secondary moved to the first and second positions in the list, allowing fast restoration of the status quo when the device is powered back up. 
         [0031]    The direct selection of audio source process  200  is illustrated in the context of the BLUETOOTH SPECIFICATION Version 4.0 [Vol 0], 30 June 2010. However, it should be understood that the approach described above is equally applicable to other wireless protocols. Furthermore, although certain embodiments are described above as not requiring manual intervention to initiate pairing, in some embodiments manual intervention may be required to complete the pairing, for instance to provide further security aspects to the approach or manual selection if the source device has powered off its radio. While the devices and process described above were in the context of audio sources and an audio playback device, other devices using similar wireless pairing lists can make use of the same process. For example, a tablet computer may be paired with multiple wireless keyboards, and may use a single “connect” user interface element to name and cycle through each of the paired keyboards. 
         [0032]    While the above describes a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary, as alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, or the like. References in the specification to a given embodiment indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. 
         [0033]    While given components of the system have been described separately, one of ordinary skill will appreciate that some of the functions may be combined or shared in given instructions, program sequences, code portions, and the like. 
         [0034]    The foregoing description does not represent an exhaustive list of all possible implementations consistent with this disclosure or of all possible variations of the implementations described. A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the systems, devices, methods and techniques described here. Accordingly, other implementations are within the scope of the following claims.