Both sides previous revisionPrevious revisionNext revision | Previous revision |
linux:ubuntu:alexamusictitleonwebsite [2019/10/05 13:46] – lunetikk | linux:ubuntu:alexamusictitleonwebsite [2021/12/29 00:15] (current) – lunetikk |
---|
====== Display playing music title on website ====== | ====== Display playing music title on website ====== |
| |
I wrote my own script based on [[linux:ubuntu:alexaremotecontrol|Alexa Remote Control]] to display the current music title played by my Echo device on my website | I wrote my own script based on [[linux:ubuntu:alexaremotecontrol|Alexa Remote Control]] to display the current music title played by my Echo device on my website. Check my updated version [[linux:ubuntu:alexamusictodatabase|here]] |
| |
{{:linux:ubuntu:pasted:20191005-132910.png}} | {{:linux:ubuntu:pasted:20191005-132910.png}} |
| |
| **Update 2021-12-29:** Amazon redesigned the output via alexa.amazon.de, the string for "album" is now always empty, so can only get the state, artist and title at the moment. If you use Spotify you might want to check out my Spotify script. I also thought about a way to get an album via artist and track out of a musicdatabase (like musicbrainz) but I dont know yet if this will work. |
| |
===== Script ===== | ===== Script ===== |
The script will execute the the "Alexa Remote Control" with "-q / query queue" to get the current tracks, then cuts out the playing song with all its info and albumcover to pipe it into the php file. | The script will execute the the "Alexa Remote Control" with "-q / query queue" to get the current tracks, then cuts out the playing song with all its info and albumcover to pipe it into the php file. |
| |
<code shellscript copyTracks.sh> | <code bash copyTracks.sh> |
#!/bin/bash | #!/bin/bash |
/alexa/alexa-remote-control/alexa_remote_control.sh -q > /tmp/audio.txt | |
| |
TMPFILE=/tmp/audio.txt | TMPFILE=/tmp/audio.txt |
WEBFILE=/var/www/mysite/audio.php | WEBFILE=/var/www/mysite/audio.php |
| |
OFFLINE=`grep -m1 'message' $TMPFILE | cut -d '"' -f 3 | cut -d ' ' -f 2` | /alexa-remote-control/alexa_remote_control.sh -q > $TMPFILE |
| |
| #OFFLINE=`grep -m1 'message' $TMPFILE | cut -d '"' -f 3 | cut -d ' ' -f 2` |
| OFFLINE=`grep -m1 'message' $TMPFILE | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'` |
STATE=`grep -m1 'state' $TMPFILE | cut -d '"' -f 4` | STATE=`grep -m1 'state' $TMPFILE | cut -d '"' -f 4` |
| STATENULL=`grep -m1 'state' /tmp/audio.txt | awk 'BEGIN{FS=" "}{gsub(",",""); print $2}'` |
ARTIST=`grep -m1 'subText1' $TMPFILE | cut -d '"' -f 4` | ARTIST=`grep -m1 'subText1' $TMPFILE | cut -d '"' -f 4` |
TITLE=`grep -m1 'title' $TMPFILE | cut -d '"' -f 4` | TITLE=`grep -m1 'title' $TMPFILE | cut -d '"' -f 4` |
echo "" > $WEBFILE | echo "" > $WEBFILE |
| |
if [ "$OFFLINE" != "null" ]; then | if [ "$OFFLINE" != "null" ] && [ "$STATENULL" != "null" ]; then |
echo "<table style="width:100%"><tr><td>" >> $WEBFILE | echo "<table style='width:100%'><col style='width:90%'><col style='width:10%'><tr><td>" >> $WEBFILE |
echo "State: $STATE </br>" >> $WEBFILE | echo "State: $STATE </br>" >> $WEBFILE |
echo "Artist: $ARTIST </br>" >> $WEBFILE | echo "Artist: $ARTIST </br>" >> $WEBFILE |
echo "Iam not listening to music right now..." >> $WEBFILE | echo "Iam not listening to music right now..." >> $WEBFILE |
fi | fi |
| |
</code> | </code> |
| |