PDA

View Full Version : Automatic DJ - what is this song?



Paul Webster
2018-11-19, 10:49
Has anyone ever built a plugin that inserts a spoken link between tracks?

I am sure that most people would want to listen to their music without interruption but could be a fun gimmick.

Could have a library of phrases (by language) with keywords for artist/track/year/album etc with a randomiser for selecting the dumb phrase and how many tracks it plays without interrupting.

Could even pause the playlist and play a configured news station "on the hour" ;)

... and even say that this band is touring in your area soon (Songkick API) ...


...
That was $artist-1 with $track-1 and here comes $track+1 by $artist+1
...
With the time coming up to $time, here are the news headlines from $newsstation+3m
...
Back to the music - with something from $artist+1

etc etc ... perhaps ad nauseam and it is better thinking about it than hearing it!

Paul Webster
2019-03-06, 14:47
I see that Amazon have announced a new feature called "Song ID" that allows user to ask for song name to be announced.
A simple subset of my earlier suggestion.

https://venturebeat.com/2019/03/06/alexa-now-tells-you-the-title-and-artist-before-each-song-plays-on-echo-devices/

Roland0
2019-03-07, 09:47
This could be done using the LMS Announce plugin and some scripting.
e.g.


ARTIST=$(echo "00%3A00%3A00%3A00%3A00%3A00 artist ?"|nc6 -q1 lmsserver 9090 2>/dev/null|cut -d" " -f 3)
TITLE=$(echo "00%3A00%3A00%3A00%3A00%3A00 title ?"|nc6 -q1 lmsserver 9090 2>/dev/null|cut -d" " -f 3)
wget "http://lmsserver:9000/plugins/LMSannounce/js.html?cmd=announceTTS&ttsprofile=espeak-en-m&text=playing%20$TITLE%20by%20$ARTIST&playerid=00%3A00%3A00%3A00%3A00%3A00"

Reacting to playlist changes could be done using the approach demonstrated in this script (https://forums.slimdevices.com/showthread.php?109694-piCorePlayer-with-cava-and-tmux-(so-far)&p=927626&viewfull=1#post927626)
Not sure if the latency would be low enough, if it is, one could even mix the speech into the next track (e.g. using sox) and play it using LMS Announce's announceFile function