stanford-oval / genie-toolkit

The Genie open source kit for voice assistant (formerly known as Almond)
Apache License 2.0
194 stars 35 forks source link

(Staging) Unable to play Spotify playlists #702

Open tonyespinoza1 opened 3 years ago

tonyespinoza1 commented 3 years ago

In my account I have the following playlists, none of which were located by Genie.

"tony's playlist" "80s 90s dance" "Z" "Best of Billie"

play jump

I played Jump - 2015 Remaster on Spotify. play tony's playlist

Sorry, there are no playlist matching your request. play 80s 90s dance

Sorry, there are no music matching your request. play Z playlist

Sorry, there are no playlist matching your request. play Best of Billie

Sorry, there are no music matching your request. pause

I paused playback.

====
# main/338f5e0a-a17d-4053-8238-9427500d93da
#! timestamp: 2021-07-18T01:25:54.042Z
U: play jump
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump" => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).player_pause()
C: #[results=[]];
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
#! timestamp: 2021-07-18T01:25:55.268Z
A: I played Jump - 2015 Remaster on Spotify.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_action_success;
#! vote: up
#! timestamp: 2021-07-18T01:26:13.023Z
U: play tony's playlist
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, null^^org.thingpedia.media-source:artist("tony")) => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).player_pause()
C: #[results=[]];
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
#! timestamp: 2021-07-18T01:26:13.710Z
A: Sorry, there are no playlist matching your request.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_empty_search;
#! timestamp: 2021-07-18T01:26:30.593Z
U: play 80s 90s dance
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).player_pause()
C: #[results=[]];
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
#! timestamp: 2021-07-18T01:26:30.788Z
A: Sorry, there are no music matching your request.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_empty_search;
#! timestamp: 2021-07-18T01:26:42.811Z
U: play Z playlist
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "z") => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).player_pause()
C: #[results=[]];
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "z") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
#! timestamp: 2021-07-18T01:26:43.047Z
A: Sorry, there are no playlist matching your request.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_empty_search;
#! timestamp: 2021-07-18T01:26:56.575Z
U: play Best of Billie
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, null^^org.thingpedia.media-source:artist("billie")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).player_pause()
C: #[results=[]];
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter id =~ "jump")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { value="2faa93e1b2b45b85b02b90b497d311c37e7659e7", display="Soundworks’s Mac Pro", playable="spotify:track:7N3PAbqfTjSEU1edb2tY8j"^^org.thingpedia.media-source:playable("Jump - 2015 Remaster"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter contains(artists, "spotify:artist:3LKXWvXFWrkwUzJWxzwVpW"^^org.thingpedia.media-source:artist("Tony Dize")) && contains~(genres, "z") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
C: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playable() filter contains(artists, "spotify:artist:53IIk03HWWJ2Z7QwQ9yFHh"^^org.thingpedia.media-source:artist("Billie Essco")) && contains~(genres, "80s 90s dance") => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[]];
#! timestamp: 2021-07-18T01:26:56.887Z
A: Sorry, there are no music matching your request.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_empty_search;
#! timestamp: 2021-07-18T01:27:02.793Z
U: pause
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-player.player_pause();
====
gcampax commented 3 years ago

All of these are parsing issues. Part of the challenge is that playlist names are free-form and quite difficult to extract.

tonyespinoza1 commented 3 years ago

here's another example of it failing to play a named playlist "This is Nine Inch Nails"

image

====
# main/5036a5c5-86fa-4568-863f-a88b0255d228
#! timestamp: 2021-07-31T01:27:42.278Z
U: play playlist cyn piano
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source.playlist() filter id =~ "cyn piano" => @org.thingpedia.media-player.play(playable=id);
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: (@org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter id =~ "cyn piano")[1] => @org.thingpedia.media-player(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).play(playable=id)
C: #[results=[
C:   { device="55e94e7f-839e-4e71-913f-856ab9dc1ce2"^^org.thingpedia.media-player:device("MR alexa"), playable="spotify:playlist:7yrp8Jmaj5pfzLYXPEhb5D"^^org.thingpedia.media-source:playable("Cyn Piano"), __device="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza") }
C: ]];
#! timestamp: 2021-07-31T01:27:44.260Z
A: I played Cyn Piano on Spotify.
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_action_success;
#! timestamp: 2021-07-31T01:27:59.545Z
U: play playlist this is nine inch nails
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @org.thingpedia.media-source(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).playlist() filter id =~ "this is 9 inch nails" => @org.thingpedia.media-player.play(playable=id);
gcampax commented 3 years ago

I think this last one is different, and is the same as https://github.com/stanford-oval/thingpedia-common-devices/issues/269 - it's because "nine" becomes "9" after normalization and it doesn't look up correctly in the list of playlists. @ryachen01 I thought we fixed that issue?

tonyespinoza1 commented 3 years ago

While we're all here in this issue, I'll share this latest one exploring the same issue further.

====
# main/6d4693d0-3484-4f7a-b81f-3a61f9479f5b
#! timestamp: 2021-07-31T01:31:07.504Z
U: create playlist
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @com.spotify.create_playlist();
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:07.809Z
A: What do you want to name your playlist?
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_slot_fill(name);
AT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:12.728Z
U: one
UT: @com.bing.entities;
C: @com.bing.entities;
#! timestamp: 2021-07-31T01:31:12.745Z
A: According to Bing, the answer is Ocean Network Express. Ocean Network Express Holdings, Ltd. is a Japanese container transportation and shipping company jointly owned by the Japanese shipping companies Nippon Yusen Kaisha, Mitsui O.S.K. Lines, and K Line. Founded in 2017 as a joint venture, ONE then inherited the container shipping operations of its parent companies. As of 2017, it had a combined fleet capacity of about 1.4 million TEU..
AT: @com.bing.reply;
#! timestamp: 2021-07-31T01:31:20.063Z
U: create playlist
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @com.spotify.create_playlist();
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:20.080Z
A: What do you want to name your playlist?
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_slot_fill(name);
AT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:26.392Z
U: two hundred
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:30.755Z
A: Did you mean create a new playlist?
A: What do you want to name your playlist?
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_slot_fill(name);
AT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:37.896Z
U: two hundred
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
C: $dialogue @org.thingpedia.dialogue.transaction.execute;
C: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:41.317Z
A: Did you mean create a new playlist?
A: What do you want to name your playlist?
AT: $dialogue @org.thingpedia.dialogue.transaction.sys_slot_fill(name);
AT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:46.353Z
U: two hundred
UT: $dialogue @org.thingpedia.dialogue.transaction.execute;
UT: @com.spotify(id="com.spotify-126743886"^^tt:device_id("Spotify Account of Tony Espinoza")).create_playlist();
#! timestamp: 2021-07-31T01:31:55.232Z
A: Did you mean create a new playlist?
A: Sorry, I did not understand that.

image

nrser commented 3 years ago

@jmhw0123 what do you think of this one? Seem approachable given the Spotify skill work you've been doing?