Music Service Selection
Methods and apparatus for identifying a music service based on a user command. A content type is identified from a received user command and a music service is selected that supports the content type. A selected music service can then transmit audio content associated with the content type for playback.
1 . A network device comprising:
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the network device to:
receive data indicating a request for audio content to be played back by a playback device, wherein the playback device is a member of a media playback system comprising one or more playback devices;
determine a first confidence metric corresponding to a first audio content service provider, wherein the first confidence metric is based on a history of accesses to the first audio content service provider by any playback device of the media playback system;
determine a second confidence metric corresponding to a second audio content service provider, wherein the second confidence metric is based on a history of accesses to the second audio content service provider by any playback device of the media playback system;
determine that the first confidence metric satisfies a confidence condition better than the second confidence metric;
based on determining that the first confidence metric satisfies the confidence condition better than the second confidence metric, determine an identifier corresponding to the data indicating the request for audio content and the first audio content service provider; and
transmit the identifier to the playback device to cause the playback device to retrieve audio content from the first audio content service provider according to the identifier.
2 . The network device of claim 1 , wherein the request for audio content is based on a voice utterance.
3 . The network device of claim 2 , further comprising:
one or more microphones; and
program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the network device to:
receive the voice utterance via the one or more microphones.
4 . The network device of claim 1 , wherein the request for audio content is based on input provided via a user interface of a controller device.
5 . The network device of claim 4 , wherein the input provided via the user interface of the controller device comprises a text input.
6 . The network device of claim 1 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the network device to:
receive data indicating the first audio content service provider, wherein the first confidence metric is further based on the data indicating the first audio content service provider.
7 . The network device of claim 1 , wherein the playback device comprises the network device.
8 . The network device of claim 1 , wherein the program instructions that, when executed by the at least one processor, cause the network device to determine that the first confidence metric satisfies the confidence condition better than the second confidence metric comprise program instructions that, when executed by the at least one processor, cause the network device to:
determine that the first confidence metric exceeds a confidence level threshold.
9 . The network device of claim 8 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that, when executed by the at least one processor, cause the network device to:
based on determining that the first confidence metric exceeds the confidence level threshold, determine that a difference between the first confidence metric and the second confidence metric is outside of a predetermined range; and
wherein the program instructions that, when executed by the at least one processor, cause the network device to select the first audio content service provider comprise program instructions that, when executed by the at least one processor, cause the network device to select the first audio content service provider further based on determining that the difference between the first confidence metric and the second confidence metric is outside of the predetermined range.
10 . The network device of claim 1 , wherein the data indicating the request for audio content further indicates the playback device.
11 . A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a network device to:
receive data indicating a request for audio content to be played back by a playback device, wherein the playback device is a member of a media playback system comprising one or more playback devices;
determine a first confidence metric corresponding to a first audio content service provider, wherein the first confidence metric is based on a history of accesses to the first audio content service provider by any playback device of the media playback system;
determine a second confidence metric corresponding to a second audio content service provider, wherein the second confidence metric is based on a history of accesses to the second audio content service provider by any playback device of the media playback system;
determine that the first confidence metric satisfies a confidence condition better than the second confidence metric;
based on determining that the first confidence metric satisfies the confidence condition better than the second confidence metric, determine an identifier corresponding to the data indicating the request for audio content and the first audio content service provider; and
transmit the identifier to the playback device to cause the playback device to retrieve audio content from the first audio content service provider according to the identifier.
12 . The non-transitory computer-readable medium of claim 11 , wherein the request for audio content is based on a voice utterance.
13 . The non-transitory computer-readable medium of claim 12 , wherein the network device comprises one or more microphones, and wherein the non-transitory computer-readable medium is further provisioned with program instructions that, when executed by at least one processor, cause the network device to:
receive the voice utterance via the one or more microphones.
14 . The non-transitory computer-readable medium of claim 11 , wherein the request for audio content is based on input provided via a user interface of a controller device.
15 . The non-transitory computer-readable medium of claim 14 , wherein the input provided via the user interface of the controller device comprises a text input.
16 . The non-transitory computer-readable medium of claim 11 , wherein the non-transitory computer-readable medium is further provisioned with program instructions that, when executed by at least one processor, cause the network device to:
receive data indicating the first audio content service provider, wherein the first confidence metric is further based on the data indicating the first audio content service provider.
17 . The non-transitory computer-readable medium of claim 11 , wherein the playback device comprises the network device.
18 . The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by at least one processor, cause the network device to determine that the first confidence metric satisfies the confidence condition better than the second confidence metric comprise program instructions that, when executed by at least one processor, cause the network device to:
determine that the first confidence metric exceeds a confidence level threshold.
19 . The non-transitory computer-readable medium of claim 18 , wherein:
the non-transitory computer-readable medium is further provisioned with program instructions that, when executed by at least one processor, cause the network device to, based on determining that the first confidence metric exceeds the confidence level threshold, determine that a difference between the first confidence metric and the second confidence metric is outside of a predetermined range; and
the program instructions that, when executed by at least one processor, cause the network device to select the first audio content service provider comprise program instructions that, when executed by at least one processor, cause the network device to select the first audio content service provider further based on determining that the difference between the first confidence metric and the second confidence metric is outside of the predetermined range.
20 . A method implemented by a network device, the method comprising:
receiving data indicating a request for audio content to be played back by a playback device, wherein the playback device is a member of a media playback system comprising one or more playback devices;
determining a first confidence metric corresponding to a first audio content service provider, wherein the first confidence metric is based on a history of accesses to the first audio content service provider by any playback device of the media playback system;
determining a second confidence metric corresponding to a second audio content service provider, wherein the second confidence metric is based on a history of accesses to the second audio content service provider by any playback device of the media playback system;
determining that the first confidence metric satisfies a confidence condition better than the second confidence metric;
based on determining that the first confidence metric satisfies the confidence condition better than the second confidence metric, determining an identifier corresponding to the data indicating the request for audio content and the first audio content service provider; and
transmitting the identifier to the playback device to cause the playback device to retrieve audio content from the first audio content service provider according to the identifier.