m0ngr31 / kanzi

Alexa skill for controlling Kodi
https://lexigr.am
MIT License
427 stars 149 forks source link

Search top matches for songs and albums. #197

Closed jingai closed 7 years ago

jingai commented 7 years ago

If told to search for x on y, try to find x for all of the matches of y instead of just the first one.

The idea is to allow for songs to be found on duplicate albums and for songs and albums to be found by similar/duplicate artists.

Requires changes in Kodi-Voice from m0ngr31/kodi-voice/pull/14

jingai commented 7 years ago

@ausweider could you test this please with master of puppets on the album woodstock 94?

I uploaded the test package Kodi-Voice 10.9.23 that you'll need to test this.

danielmasur commented 7 years ago

Perfect Example, note the " ' " before 94

[1498155197108] Spiele Song [1498155198251] Trying to match: woodstock vier und neunzig [1498155198259] Simple match failed, trying fuzzy match... [1498155198259] Processing 1418 items... [1498155198259] heard: "woodstock vier und neunzig" [1498155198324] words2roman: "woodstock XCIV" [1498155198398] -- Best score 77% [1498155198398] words2digits: "woodstock 94" [1498155198460] -- Best score 100% [1498155198460] BEST MATCH: "Woodstock 94" @ 100% [1498155198461] Searching on album "Woodstock 94" [1498155198461] Searching for song "master of puppets" [1498155198461] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155198768] Trying to match: master of puppets [1498155198768] Simple match failed, trying fuzzy match... [1498155198768] Processing 1 items... [1498155198768] heard: "master of puppets" [1498155198769] Searching on album "Woodstock '94" [1498155198769] Searching for song "master of puppets" [1498155198769] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155199070] Trying to match: master of puppets [1498155199070] Simple match on direct comparison [1498155199070] BEST MATCH: "Master Of Puppets" [1498155199071] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155199353] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155199625] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155199963] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155200101] [INFO] 2017-06-22T18:13:20.101Z 76b377ce-5776-11e7-b80a-6b0b7704b715 54.240.197.76 - - [22/Jun/2017:18:13:20 +0000] "POST / HTTP/1.1" 200 323 "" "Apache-HttpClient/4.5.x (Java/1.8.0_112)" 0/3346.533

perfect match example.

[1498155290086] Spiele Song [1498155291313] Trying to match: master of puppets [1498155291315] Simple match on direct comparison [1498155291315] BEST MATCH: "Master of Puppets" [1498155291315] Searching on album "Master of Puppets" [1498155291315] Searching for song "master of puppets" [1498155291315] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155291580] Trying to match: master of puppets [1498155291580] Simple match on direct comparison [1498155291580] BEST MATCH: "Master of Puppets" [1498155291580] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155291835] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155292214] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155292472] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155292783] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device amzn1.ask.device.AG5Q..... [1498155292924] [INFO] 2017-06-22T18:14:52.924Z ae18880a-5776-11e7-b544-c147254f611d 54.240.197.76 - - [22/Jun/2017:18:14:52 +0000] "POST / HTTP/1.1" 200 331 "" "Apache-HttpClient/4.5.x (Java/1.8.0_112)" 0/3237.463

Like i said, I'll try a few more though. Looks promising though

jingai commented 7 years ago

Happy it worked as expected :)

danielmasur commented 7 years ago

[1498330112043] Spiele Song [1498330112043] Searching for album "best of" [1498330112043] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device Unknown Device [1498330112932] Trying to match: best of [1498330112952] Simple match failed, trying fuzzy match... [1498330112952] Processing 1418 items... [1498330112952] heard: "best of" [1498330113015] -- Best score 86% [1498330113015] BEST MATCH: "Bäst Of" @ 86% [1498330113016] Searching on album "Bäst Of" [1498330113016] Searching for song "I can't wait" [1498330113016] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device Unknown Device [1498330113176] Trying to match: i can't wait [1498330113176] Simple match failed, trying fuzzy match... [1498330113176] Processing 62 items... [1498330113176] heard: "i can't wait" [1498330113178] [INFO] 2017-06-24T18:48:33.178Z b81dd8fb-590d-11e7-a3e3-352d7c9631d2 72.21.217.166 - - [24/Jun/2017:18:48:33 +0000] "POST / HTTP/1.1" 200 337 "" "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_131)" 0/1505.624 [1498330134333] Spiele Song [1498330134333] Searching for album "best of" [1498330134352] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device Unknown Device [1498330135247] Trying to match: best of [1498330135272] Simple match failed, trying fuzzy match... [1498330135272] Processing 1418 items... [1498330135272] heard: "best of" [1498330135334] -- Best score 86% [1498330135334] BEST MATCH: "Bäst Of" @ 86% [1498330135335] Searching on album "Bäst Of" [1498330135335] Searching for song "Californication" [1498330135335] Sending request to http://asdbla.selfhost.eu:8080/jsonrpc from device Unknown Device [1498330135492] Trying to match: californication [1498330135493] Simple match failed, trying fuzzy match... [1498330135493] Processing 62 items... [1498330135493] heard: "californication" [1498330135495] [INFO] 2017-06-24T18:48:55.495Z c563ac64-590d-11e7-81e8-53c5a63425c6 72.21.217.117 - - [24/Jun/2017:18:48:55 +0000] "POST / HTTP/1.1" 200 343 "" "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_131)" 0/1558.642

Not sure what to say here, it finds an album "Bäst of". It wont play Californication wich it did before, and it still von play I can't wait wich is the next one, alphabetically.

jingai commented 7 years ago

Are you sure Californication is on an album called Best of? When you posted the log previously over on Slack, you asked for it on an album called Greatest Hits.

danielmasur commented 7 years ago

You are so right.

I tested a few things and this is working great. Good job!