[rfu-automation] progress on robo DJ
Joe Futrelle
futrelle at shout.net
Mon Jul 3 11:48:41 CDT 2006
This rather long and technical note is a report on what I've been
doing with the robo-DJ. If you don't want technical details, skip it--
the basic gist is that I'm making enough progress that I should be
able to demonstrate something at the next automation group meeting,
whenever that is.
...
I worked on the robo-DJ prototype yesterday and discovered some
really nice-sounding Microsoft text-to-speech stuff and an easy-to-
use Python interface to it. Then I modified the prototype so it
backannounces each track.
So the basic capabilities required by the robo-DJ are there. The
problem comes now with integrating it into the automation workflow.
I'll attempt to summarize the capabilities and issues.
Capabilities:
- can find today's Zara log file if it knows which directory Zara
keeps its logs in
- can tell from the log file the artist, album, and track name of the
currently playing track
- can restart Zara if it detects a track or album name with a given
pattern in it (like "starts with '[explicit]'") within 1s or however
often we ask it to check the log
- can back-announce the previous song (I could easily rewrite it to
forward-announce but I understand back-announcement is preferable)
Issues (and possible fixes):
- won't switch to a new log file after midnight (I can fix that in my
script)
- can't distinguish iTunes from non-iTunes tracks (I can fix that in
my script)
- when Zara restarts, its volume slider is up (I don't know how to
fix that because it's a Zara issue)
- Zara doesn't pause to wait for the back-announcement (I have a
complicated fix for that one, see below)
Pauses can be accomplished by inserting silent tracks of the
appropriate length into the playlist, and having the robo-DJ wait
until it sees one of these playing to speak. The problem is that
these will need to be fixed-length. If I can figure out how to get
the robo-DJ to save its speech audio as a file, it could generate
backannouncements and insert them into a playlist. I could then write
a Zara "launcher" that would read the playlist you want to launch
with, make a copy of it, generate the backannouncements, insert them
into the right places in the copy of the playlist, and launch Zara
with the modified copy of the playlist.
--
Joe Futrelle
Person
More information about the rfu-automation
mailing list