You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 31, 2025. It is now read-only.
New Sounds, produced at the WNYC/WQXR studios, is "A daily showcase of weird and wonderful music from artists, composers and traditional musicians — all gleefully oblivious of their genres." It's an excellent resource for learning about music and performers that American radio stations don't (or didn't) often play. Each episode is centered around playing examples which meet that day's theme, ranging from historic to ultramodern, traditional to avant-garde, soloists to orchestras. Where else can you hear everything from Tuvan throat singing to krautrock to Laurie Anderson to Robert Fripp to Philip Glass to resampled/recomposed Monteverdi, sometimes in a single show?
@@ -8,11 +10,11 @@ There have been over 4500 unique episodes since the early 1980s, with new ones s
8
10
9
11
**Platform**
10
12
11
-
Currently Alexa support is being alpha-tested, with Google in development. Since this code is based on the Jovo Version 3 Framework (https://www.jovo.tech), we should be able to bring it up on some of the other smartspeaker platforms with a minimum of rewriting.
13
+
Currently Alexa support is publicly available, with Google in development. Since this code is based on the Jovo Version 3 Framework (https://www.jovo.tech), we should be able to bring it up on some of the other smartspeaker platforms with a minimum of rewriting.
12
14
13
15
Jovo Version 4 has been released since I started this project, and I expect to have a minimally-migrated version of my code Any Day Now (preferably before 2023). Restructuring to Jovo v4's new preferred structure (which does look promising) may be delayed.
14
16
15
-
Jovo prefers JavaScript (or TypeScript) as its development language, and the examples I used while learning it were JavaScript based. I was learning both Jovo and JavaScript as I went, so this is far from the cleanest or most idiomatic code I've ever written.
17
+
Jovo prefers JavaScript or TypeScript as its development language, and the examples I used while learning it were JavaScript based. I was learning both Jovo and JavaScript as I went, so this is far from the cleanest or most idiomatic code I've ever written. Consider it "whittled" more than designed; stylistic cleanup would be worthwhile at some point.
16
18
17
19
**Usage**
18
20
@@ -22,26 +24,26 @@ On Alexa/Echo devices, most of the usual music-player navigation commands are av
22
24
23
25
For other commands, you will either have to Open the skill first, or explicitly say "**{wake-word}, ask New Sounds On Demand ...**" followed by what you want to do. In addition to the above commands, we support many synonyms of **Play the most recent broadcast**, **Play the oldest episode**, **Play episode {episode-number}**, **Play the show from {date}**, **Play the live stream**, and **Surprise me**. You can also ask it to **read the credits**.
24
26
25
-
** Known issues **
26
-
27
-
IN DEVELOPMENT: The prototype `player.ts` was/is saving its local cache database of episodes and indexes in a FileDB instance, and updating when an action is taken that needs to check for newer episodes. That doesn't work for Lambdas, since they don't have a writable filesystem and lose in-memory tables when they shut down. We are moving toward a model based on a DynamoDB instance on AWS, which avoids those limitations plus allowing daily updates to run asynchronously as a scheduled daily operation. That code will also take the first step toward supporting multiple shows; I want to at least think about integrating the *Sound Check* in-studio sessions.
28
27
29
-
KNOWN LIMITATION: Alexa's default handling of numbers understands "twenty-nine oh three" and similar constructions, and its default handling of dates can accept things like "last Tuesday". Google Dialogflow may not be quite that clever, but we hope to make those work on Google at some point.
28
+
**Known issues**
30
29
31
-
SOMEWHAT-EXPECTED ERROR MESSAGE
30
+
KNOWN LIMITATION ON ALEXA: Alexa's default parsing of incomplete is biased toward assuming "next" instance of the described date -- "Tuesday" is taken as "next Tuesday." This skill is always backward-looking, so that is the wrong default. Until/unless we can fix this, we have to rely on the skill's checking the date and, if it's later than today, asking the user to rephrase their request.
32
31
33
-
If the alpha release responds to a voice command with
34
-
`Connection error. Your Jovo webhook endpoint is not running. Please run Jovo Run.`
35
-
that usually means a developer has shut down the semantics server (the code checked in here) for debugging or to bring up a new release, though a crash is not completely impossible. Try again in an hour or so, to give us time to work on it; if the outage persists more than a day, open an issue.
32
+
KNOWN BUG ON ALEXA: "Play the highest numbered episode" is currently being misinterpreted as IncompleteEpisodeNumberRequest rather than HighestEpisodeRequest. It could be worse; the user can recover by just saying "Highest" again when asked which episode they want... but it would be good to analyse why the grammar causes this misinterpretation and get it fixed.
36
33
37
-
Yes, this error can interfere with the **Stop** and **Pause** commands. If that happens, the simplest workaround is usually to ask the smartspeaker to begin doing something else, then issue **Stop** to that.
38
34
39
35
**What's New**
40
36
41
37
This skill is a skunkworks project, still in Alpha testing -- it's brand new, the back-end code is running on the developer's account and may be down at times, and we are still actively refining its capabilities and implementation. Alpha testing is in progress now, by invitation; I hope to submit it for approval as an official Alexa skill before the end of 2021.
42
38
39
+
40
+
**Future Goals**
41
+
43
42
There's a long wishlist of known bugs and desired features in the comments at the front of **source/app.js**. Now that I'm posting this on Github those are likely to move to a more official issues-tracker.
44
43
44
+
The back-end database can track multiple shows, though it is currently only loading New Sounds. The front-end currently handles a single show at a time; it could be easily retargeted to other shows in that database, or we can work on developing a dialog structure to let the user select among the available shows. In fact it might be desirable to present New Sounds and Soundcheck, in particular, as a single combined program... To be determined.
45
+
46
+
45
47
**Building and Running the New Sounds On Demand grammar and semantics service**
46
48
47
-
Details to follow. If you don't want to wait for me, look at the instructions for building and running [Jovo's sample podcast player](https://www.jovo.tech/courses/project-3-podcast-player), which supplied the initial framework from which this code was derived.
49
+
Details to follow. If you don't want to wait for me, look at the scripts in the *windevutils* subdirectory, and/or instructions for building and running [Jovo V3's sample podcast player](https://www.jovo.tech/courses/project-3-podcast-player), which supplied the initial framework from which this code was derived.
0 commit comments