Discusión

Crea una Skill Privada de Alexa Jukebox para MP3 Personales y Radio por Internet

De Wikiprompt, la enciclopedia libre de prompts

@levelsio
Contribuido por@levelsioXFuente

20 oct 2026

Crea una Skill Privada de Alexa Jukebox para MP3 Personales y Radio por Internet Un prompt completo para construir una skill privada de Alexa que reproduzca MP3 personales desde un bucket en la nube y radio por internet, con instrucciones detalladas de configuración, construcción e implementación.

Contenido del PromptGuardar

🌐
Construye una skill privada de Alexa que reproduzca mi propia música desde un bucket en la nube, además de radio por internet Quiero que mi Amazon Echo reproduzca mis propios MP3 en lugar de estar obligado a usar Amazon Music o Spotify. Construye una skill privada de Alexa para esto. Haz todo lo posible por ti mismo: usa CLIs y APIs, despliégala y pruébala tú mismo, y solo pregúntame por cosas que solo una persona puede hacer (iniciar sesión, hacer clic en Permitir, probar en el Echo). Configuración - Mi música está en un bucket compatible con S3 (AWS S3 o Cloudflare R2) bajo un prefijo music/. Cada carpeta dentro es un género/lista de reproducción (music/Coffee Jazz/) o un artista/álbum (music/Artist/Album/). - Crearé una clave de acceso para el bucket y te la daré. Guárdala en un archivo de configuración y nunca la imprimas. La skill solo necesita acceso de lectura; las herramientas de carga necesitan acceso de escritura. - Mi Echo y mi cuenta de desarrollador de Amazon usan el mismo inicio de sesión de Amazon. Construcción 1. Una skill personalizada alojada en Alexa (Node.js) con nombre de invocación "jukebox" (usa dos palabras si Amazon rechaza una) y la interfaz AudioPlayer habilitada. 2. Modelo de voz: un PlayIntent con un slot AMAZON.SearchQuery ("play {query}", "put on {query}", "tune in to {query}", "shuffle {query}"), un ShuffleAllIntent, un WhatsPlayingIntent, un ListStationsIntent, y todos los intents integrados de AudioPlayer (pause, resume, next, previous, loop on/off, shuffle on/off, start over). 3. Biblioteca: lista todo bajo music/ con ListObjectsV2 (sigue el token de continuación), construye carpetas a partir de los prefijos de clave, conserva solo archivos .mp3/.m4a/.aac, y almacena en caché el resultado durante 5 minutos. Compara frases habladas con nombres de carpetas y archivos de forma flexible: ignora números de pista y espacios ("ama piano" = amapiano), convierte palabras numéricas en dígitos ("thirteen beaches" = 13 Beaches), y maneja alias de género (dnb, drum n bass, hiphop, lo fi). 4. Reproducción: dale a Alexa una URL HTTPS GET prefirmada para cada archivo. Haz que sea válida durante al menos 12 horas para que mezclas largas y pausa/reanudación no caduquen a mitad de reproducción. Mantén el bucket privado. Almacena la cola de reproducción en el token de AudioPlayer (carpeta, semilla de aleatorización, posición) para que no haya base de datos, y encola la siguiente pista en PlaybackNearlyFinished. Las carpetas se aleatorizan y repiten. Una carpeta cuyos archivos comiencen todos con números de pista es un álbum y se reproduce en orden. Una canción suelta continúa con el resto de su carpeta. 5. Radio: una lista de estaciones con streams HTTPS MP3/AAC/HLS, con buenas estaciones electrónicas underground (Rinse FM, NTS, Bassdrive, Intergalactic FM, Kiosk Radio, Refuge Worldwide, y otras) además de noticias (BBC World Service, NPR). Prueba cada URL con curl primero y elimina las de HTTP plano, porque Alexa las rechaza. Soporta "play rinse fm", "drum and bass radio", "techno radio" y "the news", y haz que next/previous cambien de estación. Los streams en vivo se caen y Alexa trata una caída como el final, así que vuelve a encolar el mismo stream con un token nuevo en PlaybackNearlyFinished, y reintenta una vez en PlaybackFailed. 6. Registra una línea por solicitud (tipo, intent, token, offset, error) para que los problemas de reproducción aparezcan en CloudWatch. Despliegue sin la consola web - Instala el ASK CLI (npm i -g ask-cli). Si ask configure no funciona en tu shell, ejecuta ask util generate-lwa-tokens --no-browser, haz que pegue el código de un solo uso, y escribe ~/.ask/cli_config tú mismo. Obtén el ID de vendedor desde GET https://t.co/8eS787CaBt. - El código de la skill alojada es un repositorio git (encuéntralo con ask smapi get-alexa-hosted-skill-metadata). Haz push a master para desplegar, con ask util git-credentials-helper como ayudante de credenciales de git. El ayudante necesita ask-resources.json y .ask/ask-states.json junto al repositorio. Si los pushes empiezan a fallar con 403, borra la credencial en caché del llavero de macOS. - El runtime alojado puede ejecutar una versión antigua de Node, así que fija una versión del SDK de S3 que la soporte, o firma URLs con una pequeña biblioteca SigV4. - Sube el modelo de voz con ask smapi set-interaction-model, verifica que el manifiesto de la skill liste AUDIO_PLAYER, y prueba con ask smapi simulate-skill. El simulador de la consola web no puede reproducir audio, así que un error de "problema con la respuesta de la skill solicitada" allí es esperado. Cuando funcione, dime cómo agregar rutinas en la app de Alexa (Cuándo: voz "coffee jazz" → Acción: Personalizado "ask jukebox to play coffee jazz") para que pueda simplemente decir "Alexa, coffee jazz". Y cómo reproducir estaciones de radio por internet que me gusten.

Iniciá sesión para ver el prompt completo

Continuar con:

Al iniciar sesión, aceptás nuestros Términos de uso y Política de privacidad

Uso

Este prompt está diseñado para usarse con coding. Copiá el contenido de arriba y pegalo en tu herramienta de IA preferida.

Para mejores resultados, personalizá los marcadores (indicados con corchetes o mayúsculas) con tus requisitos específicos.

Referencias

Categorías:coding| twitter| alexa-skill| music-player

Discusión