Play a local mp3 file on Alexa Echo dot

Bump2, no one able to help how to get this in a standalone nginx proxymanager?

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384";
ssl_ecdh_curve X25519:secp521r1:prime256v1

I had same issue , got that "simon says skill bla bla " error even hosting it myself , i know the file is encoded perfectly as i used ffmpeg and the settings others provided . And i didn’t want to adjust my HA nginix proxy host config just for a simple mp3 file making the rest of the setup use a insecure dated config .

Solution ! ended up using https://jukehost.co.uk/ to host the file , works great

1 Like

I just posted PR to Alexa Media Player integration, so it would support tts.cloud_say. The only requirement is to have HA publicly accessible. It basically does what @MarkWattTech shows in his video, which was great inspiration for this update. There is ffmpeg available from HA, so no need to use Jovo for that conversion, and it’s converted locally.

It’s truly sad these hurdles exist. Google Home supports this easily, can be done directly from HA.
The easiest solution might be to use a Google Home mini or something (whatever they call them now) for playing local mp3s via Home Assistant. I would be using only Google Home devices if they supported alternate wake words. Darn you, Google.
For that reason I have 5,000 echo devices instead.
Such a shame that you can’t even play high quality audio with this method.
Someone mentioned Plex… how about Plex or a custom skill using Plex?
Plex can play high quality audio over the echo…
The problem with the official Plex Alexa skill is that it announces what it is going to play before it plays it, I don’t think that can be turned off.
(I haven’t figured out how to play Plex media using the integration…)

If you are using Nabu Casa, can you just send it an external URL? Sorry if this is a dumb answer, I’m new to Alexa, been using Google Home for a while. I got my first Alexa device and haven’t tried sending local files to it yet.

yes, you can use the NC URL of the file.

I had the same problem with “Simon says …” when I tried to play mp3-files on echos when I followed the instructions from Mark Watt Tech https://www.youtube.com/watch?v=ZJlH6k9PY4I
Finally, I could fix it by correcting the source-statement of the mp3-file.
It seems that the source needs to be like this (watch the different quotation marks):

src='https://abcdef.ui.nabu.casa/local/mp3/Alarm.mp3'/>

Hello everyone. I would like to use a local mp3 to act as a customized alarm clock managed by Home Assistant, that plays on my Amazon Echo Dot. I succeded in converting the mp3 and making the NabuCasa link visible. Then I did a script in HA to play the mp3 with the notify service (let’s call it ScriptA).
Long story short: if I call the script saying “Alexa, play ScriptA” it all works flawlessly. But if I run the script from HA, it works the first time, then no more, and after a few time (sometimes hours) the Echo Dot becomes unavailable. I also tried using tts to simulate through HA the voice command, but it does the same.
Does someone has a suggestion and an explainatkon for that?
Thanks everybody…
D.

I did get this to work with my duckdns.org server.
I can only get short-ish clips to play: a 3 minute clip plays, but a 5 minute clip does not.

I guess the video linked in this thread does show that the audio file can be a maximum of 240 seconds. Link to video

This is the server section of my ha.conf nginx configuration file.

server {
    server_name xxxxxx.duckdns.org;

    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_certificate /etc/nginx/ha_ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ha_ssl/privkey.pem;

    # dhparams file
    ssl_dhparam /etc/nginx/certs/dhparam/dhparam-2048.pem;

    listen 443 ssl;
    http2 on;
    include /etc/nginx/mime.types;
    ssl_prefer_server_ciphers off;
	
	#try for alexa media
	ssl_protocols TLSv1.2 TLSv1.3;
	ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384";
	ssl_ecdh_curve X25519:secp521r1:prime256v1:secp384r1;

    proxy_buffering off;
	}

I don’t really know nginx or the Alexa magic required for longer files, but I would suggest testing with a short mp3.

I seem to find only upload playlist from other music apps…no local file upload. I only have Amazon Music Prime, not Unlimited, so maybe that is the difference?

Use “My Audio” alexa skill

Thanks for sharing this! Still working great!

I play my local music with the MyMediaAlexa skill - for a small fee of €8.50 a year I can install a local server on a pc using software from mymediaalexa.com and set up playlists, then I can issue commands in Home Assistant with Alexa Media Player to use a custom command to use the skill to play my local media.

data:
  media_content_type: custom
  media_content_id: ask My Media to play my Relaxation Playlist
target:
  device_id: 79a74c8c8a16a6fd769fdf5c4215a564
action: media_player.play_media

With this I can play any track or playlist in my local music collection.

Exactly! This is what I use also!

1 Like