Concurrency rules for network microphone devices having multiple voice assistant services
Systems and methods for managing concurrent voice assistants are disclosed. A network microphone device is associated with a first voice assistant service (VAS). The device receives a request to associate with a second VAS different than the first. The device accesses a concurrency rules engine to determine concurrency restrictions. If the rules engine indicates concurrency is prohibited, concurrency can be restricted by (i) disassociating the network microphone device and the first VAS, and associating the network microphone device with the second VAS; or (ii) precluding associating the network microphone device with the second VAS and maintaining association with the first VAS.
1 . A network microphone device comprising:
one or more microphones;
one or more processors; and
one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
associating the network microphone device with a first voice assistant service (VAS);
receiving a command to associate the network microphone device with a second VAS different from the first;
after receiving the command, accessing a rules engine to determine first concurrency restrictions;
based at least in part on the determination of the first concurrency restrictions, restricting concurrency by precluding associating the network microphone device with the second VAS;
receiving a command to associate the work microphone device with a third VAS different from the first VAS and different from the second VAS;
after receiving the command, accessing the rules engine to determine second concurrency frictions; and
based at least in part on the determination of the second concurrency restrictions, associating the network microphone device with the third VAS while maintaining association between the network microphone device and the first VAS.
2 . The network microphone device of claim 1 , wherein the first VAS is associated with a first wake word, and the second VAS is associated with a second wake word different from the first, and wherein associating the network microphone device with the first VAS comprises activating a first wake-word engine configured to detect the first wake word in sound data captured via the one or more microphones.
3 . The network microphone device of claim 2 , wherein the first concurrency restrictions are based at least in part on similarity between the first wake word and the second wake word.
4 . The network microphone device of claim 1 , wherein the first concurrency restrictions are based at least in part on the identity of the first VAS and the identity of the second VAS.
5 . The network microphone device of claim 1 , wherein the first concurrency restrictions are based at least in part on the number of total VASes associated with the network microphone device.
6 . The network microphone device of claim 1 , wherein accessing the rules engine to determine first concurrency restrictions comprises:
transmitting a request to one or more remote computing devices, wherein the request comprises identification of the first VAS and the second VAS; and
after transmitting the request, receiving state information corresponding to the first concurrency restrictions.
7 . The network microphone device of claim 1 , wherein the rules engine includes limitations to associating the network microphone device with one or more VASes, wherein the limitations comprise at least one of (i) a maximum number of VASes that can be associated with the network microphone device, and (ii) an indication of whether particular VASes may be concurrently associated with the network microphone device.
8 . The network microphone device of claim 1 , wherein after associating the network microphone device with the third VAS while maintaining association between the network microphone device and the first VAS, the network microphone device concurrently activates both a first wake-word engine configured to detect a first wake word associated with the first VAS and a third wake word engine configured to detect a third wake word associated with the third VAS.
9 . The network microphone device of claim 1 , wherein after associating the network microphone device with the third VAS while maintaining association between the network microphone device and the first VAS, the network microphone device is configured to direct a user voice input to either of the first VAS or the third VAS.
10 . A method, comprising:
associating a network microphone device with a first voice assistant service (VAS);
receiving a command to associate the network microphone device with a second VAS different from the first;
after receiving the command, accessing a rules engine to determine first concurrency restrictions;
based at least in part on the determination of the concurrency restrictions, restricting concurrency by precluding associating the network microphone device with the second VAS;
receiving a command to associate the network microphone device with a third VAS different from the first VAS and different from the second VAS;
after receiving the command, accessing the rules engine to determine second concurrency restrictions; and
based at least in part on the determination of the second concurrency restrictions, associating the network microphone device with the third VAS while maintaining association between the network microphone device and the first VAS.
11 . The method of claim 10 , wherein the first VAS is associated with a first wake word, and the second VAS is associated with a second wake word different from the first, and wherein associating the network microphone device with the first VAS comprises activating a first wake-word engine configured to detect the first wake word in sound data captured via one or more microphones of the network microphone device.
12 . The method of claim 11 , wherein the first concurrency restrictions are based at least in part on similarity between the first wake word and the second wake word.
13 . The method of claim 10 , wherein the first concurrency restrictions are based at least in part on the identity of the first VAS and the identity of the second VAS.
14 . The method of claim 10 , wherein the first concurrency restrictions are based at least in part on the number of total VASes associated with the network microphone device.
15 . The method of claim 10 , wherein the accessing the rules engine to determine first concurrency restrictions comprises:
transmitting a request to one or more remote computing devices, wherein the request comprises identification of the first VAS and the second VAS; and
after transmitting the request, receiving state information corresponding to the first concurrency restrictions.
16 . The method of claim 10 , wherein the rules engine includes limitations to associating the network microphone device with one or more VASes, wherein the limitations comprise at least one of (i) a maximum number of VASes that can be associated with the network microphone device, and (ii) an indication of whether particular VASes may be concurrently associated with the network microphone device.
17 . One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a network microphone device, cause the network microphone device to perform operations comprising:
associating a network microphone device with a first voice assistant service (VAS);
receiving a command to associate the network microphone device with a second VAS different from the first;
after receiving the command, accessing a rules engine to determine first concurrency restrictions; and
based at least in part on the determination of the concurrency restrictions, restricting concurrency by precluding associating the network microphone device with the second VAS;
receiving a command to associate the network microphone device with a third VAS different from the first VAS and different from the second VAS;
after receiving the command, accessing the rules engine to determine second concurrency restrictions; and
based at least in part on the determination of the second concurrency restrictions, associating the network microphone device with the third VAS while maintaining association between the network microphone device and the first VAS.
18 . The computer-readable media of claim 17 , wherein the first VAS is associated with a first wake word, and the second VAS is associated with a second wake word different from the first, and wherein associating the network microphone device with the first VAS comprises activating a first wake-word engine configured to detect the first wake word in sound data captured via one or more microphones of the network microphone device.
19 . The computer-readable media of claim 18 , wherein the first concurrency restrictions are based at least in part on similarity between the first wake word and the second wake word.
20 . The computer-readable media of claim 17 , wherein the first concurrency restrictions are based at least in part on the identity of the first VAS and the identity of the second VAS.
21 . The computer-readable media of claim 17 , wherein the first concurrency restrictions are based at least in part on the number of total VASes associated with the network microphone device.
22 . The computer-readable media of claim 17 , wherein the accessing the rules engine to determine first concurrency restrictions comprises:
transmitting a request to one or more remote computing devices, wherein the request comprises identification of the first VAS and the second VAS; and
after transmitting the request, receiving state information corresponding to the first concurrency restrictions.
23 . The computer-readable media of claim 17 , wherein the rules engine includes limitations to associating the network microphone device with one or more VASes, wherein the limitations comprise at least one of (i) a maximum number of VASes that can be associated with the network microphone device, and (ii) an indication of whether particular VASes may be concurrently associated with the network microphone device.