Tabla de contenido:
- Paso 1: Adquisiciones
- Paso 2: ensamble el hardware
- Paso 3: conéctelo al Pi y conecte sus altavoces
- Paso 4: Descarga Raspbian Lite
- Paso 5: configurar la Pi
- Paso 6: use SSH para abrir una sesión en una máquina remota
- Paso 7: Instale Mopidy
- Paso 8: use Python Pip para instalar otras… instalaciones (extensiones)
- Paso 9: Configurar Mopidy como servicio
- Paso 10: agrega tu propia música
- Paso 11: Archivo de configuración de la tarjeta de sonido - Asound.conf
- Paso 12: asegúrese de que usamos la superposición correcta para Configure.txt en / boot
- Paso 13: disfruta de la música
- Paso 14: Conclusión
Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Reutilice un sombrero de voz AIY de Google anticuado como un dispositivo de transmisión de audio estéreo sin cabeza dedicado.
Ahora que los kits de voz de Google AIY se acercan a los dos años, es posible que haya descubierto que la novedad ha desaparecido un poco. O tal vez se pregunte si los anuncios de su navegador para el festival renacentista más cercano tienen algo que ver con la pregunta que planteó sobre dónde puede encontrar una buena oferta en zapatillas para correr Under Armour.
Si ya posee uno, este proyecto le mostrará cómo tomar su kit de voz AIY de Google existente y reutilizarlo como un transmisor de audio sin cabeza dedicado. Si aún no tiene un kit y vive cerca de un Microcentro; estás de suerte, todavía hay muchos por ahí, y dudo que vayan a ser más baratos que el precio actual de $ 5. (en realidad, son $ 3 a julio de 2019).
Este proyecto tiene que ver con el audio y nada que ver con la IA. Trabajaremos en un sistema operativo completamente separado almacenado en una tarjeta micro sd separada, lo que le permitirá mantener intacta toda la funcionalidad de la IA. Además, mejoraremos la experiencia del usuario mediante la introducción de sonido estéreo (por unos pocos dólares más) a medida que construimos un dispositivo de transmisión de audio escalable. Finalmente, una vez finalizado este proyecto, dejaremos el sombrero de voz en un estado listo para una futura expansión. Las limitaciones de la expansión serán solo las de nuestra creatividad.
Paso 1: Adquisiciones
Escribiré este instructivo desde la perspectiva de que aún no tiene un kit de Google Voice en su poder. Si ya tiene la configuración del kit de voz, los elementos adicionales necesarios están marcados con un * a continuación. Además, la última oferta de Raspberry Pi (Pi 3 A +) se adapta perfectamente a este proyecto en función de su factor de forma, y recomiendo encarecidamente comprar una de todos modos. Sin embargo, cualquier Pi debería funcionar siempre que se adapte al sombrero del kit de voz y a los GPIO.
Ingredientes:
- Raspberry Pi (recomiendo Pi 3 A +)
- Fuente de alimentación micro usb de 5,25 V y 2,4 amperios
- Tarjeta Micro SD (dependiendo del tamaño de su colección de música, 16 GB debería ser suficiente)
- Max98357A dac y amp (de Adafruit) *
- Altavoces). El kit viene con uno, sin embargo, para obtener estéreo necesitaremos un altavoz adicional. (también Adafruit)
- Kit de voz AIY de Google
- Encabezado - banda única *
- Cable de altavoz *
Herramientas necesarias: soldador, soldador, destornillador Philips tamaño 00 o 000. pelacables, cinta adhesiva para enmascarar o pintores para asegurar el cabezal temporalmente durante la soldadura, adaptador USB a micro SD.
Paso 2: ensamble el hardware
Fuera de la caja, el sombrero de voz llega en modo mono. Afortunadamente, los ingenieros de Google diseñaron la placa para permitir una actualización a estéreo simplemente agregando otra placa Max98357a para que se sienta como otro sombrero. Incluso nos delinearon la caja.
Lo has adivinado: estaremos construyendo un sombrero sobre un sombrero. Hardware en la parte superior del hardware ya en la parte superior.
Usando el encabezado provisto por el conjunto de chips Adafruit Max98357a, comenzamos soldando el encabezado de 7 pines al sombrero de voz directamente debajo de las palabras "AIY proyectos Voice Hat". Un trozo de cinta adhesiva pegado a los pines macho más largos en la cara de la placa puede ser útil para evitar que los cabezales se deslicen fuera de su lugar, ya que trabajaremos con la placa al revés durante esta etapa de soldadura.
También suelde dos pines dentro de la caja delineada en blanco al sombrero de voz donde se colocará la placa azul max98357a.
¡NO SOLDUE EL CONECTOR DEL ALTAVOZ A LA PLACA MAX98357a!
En su lugar, conecte los terminales de altavoz al sombrero de voz, alineados directamente debajo de donde se soldaron los dos polos. La conexión del altavoz izquierdo y la conexión del altavoz derecho deben estar alineadas una al lado de la otra, en una fila de cuatro terminales.
Dale la vuelta al tablero con el lado derecho hacia arriba.
Suelde el puente etiquetado como "JP4" cerrado dejando una gota de soldadura en el puente. ¡No olvides esta parte o no tendremos estéreo!
Conecte con cuidado la placa azul max98357a a los pines macho largos que sobresalen del sombrero de voz. Esto fue un poco difícil, así que intente soldar los pines lo más perpendiculares a la placa como sea posible. Con una pequeña disputa del encabezado de dos pines, pude lograr esto con solo un esfuerzo menor.
Complete la soldadura de los pines macho al chip azul max98357a; tanto el cabezal de siete pines como el de dos pines deben sujetar el max98357a firmemente en su lugar.
¡Listo con la soldadura!
Paso 3: conéctelo al Pi y conecte sus altavoces
Usando los dos espaciadores de nailon provistos con el kit, combine con cuidado el kit de voz femenina encima de los encabezados masculinos en el raspberry pi. Los espaciadores de nailon deben encajar en su lugar para darle un ajuste seguro en las esquinas opuestas del cabezal.
Con un destornillador pequeño de cabeza Philips (000 o 00), desenrosque los tornillos del terminal del altavoz lo suficiente como para permitir que el cable del altavoz encaje en las aberturas de compresión. No debería tener que quitar los tornillos, pero abrirlos lo suficiente donde se sientan flojos.
Inserte el cable del altavoz de calibre pequeño en la abertura y apriete los tornillos para sujetar el cable del altavoz firmemente en su lugar.
Encontré que este paso era el desafío más abrumador de todo el proyecto: no pude encontrar un destornillador lo suficientemente pequeño, o mi endeble cable de altavoz era demasiado fino para absorber la compresión del tornillo y prefería romperse antes que mantenerse firme. Hice una modificación construyendo "puntas" o cables más pequeños que eran lo suficientemente firmes para soportar la compresión y lo suficientemente largos para soldarlos a los extremos desnudos del cable del altavoz. Feo, sí, pero efectivo.
¡Hecho con hardware!
Paso 4: Descarga Raspbian Lite
Muchos de ustedes ya están muy familiarizados con el proceso de descargar y grabar imágenes en una tarjeta SD, y los pasos siguientes están un poco más allá del alcance de este proyecto. Voy a enumerar los pasos a continuación por si acaso, pero si aún se encuentra atascado, hay toneladas de recursos para ayudarlo.
Última edición: junio de 2020 para la descarga de Buster Lite.
· Descarga e instala Etcher by Balena Software
· Descargue el último sistema operativo Raspbian Lite de raspberrypi.org
· Usando Etcher, escribe la imagen de Raspbian en la tarjeta SD
· Una vez completado, a menos que use un pi zero w, transfiera la tarjeta SD recién creada a nuestra Raspberry Pi. Si está utilizando un pi zero w, necesitamos hacer algunas ediciones en el archivo WPA_Supplicant.conf en la partición de arranque para configurar su wifi.
Paso 5: configurar la Pi
Con nuestra imagen recién creada, vamos a encender el pi. Pero primero tomemos prestados un monitor y un teclado para ayudar con la configuración. Inserte la tarjeta micro sd y conecte el cable de carga micro usb. Con suerte, la luz LED verde parpadeará varias veces mientras se inicia. El primer arranque puede tardar unos minutos, pero en 5 minutos deberíamos estar listos para trabajar en nuestra configuración. "Lite" Raspbian no tiene escritorio.
Una vez en el símbolo del sistema: inicie sesión como pi, contraseña "frambuesa".
· Accede al panel de configuración escribiendo "sudo raspi-config" en el símbolo del sistema.
· Cambie su contraseña inmediatamente.
· Configura tu wifi usando las opciones de red en el panel de configuración
· Cambia tus opciones de localización y configura tu zona horaria
· Habilite SSH usando la opción del panel de interfaces
· Ejecute "sudo apt-get update" para actualizar su software a la última versión
Necesitaremos la dirección IP del Pi. Recomiendo una aplicación llamada "FING" que se puede descargar a cualquier dispositivo Android y enumerará todos los dispositivos conectados a su red. Estaríamos buscando un dispositivo llamado “raspberrypi”. Escriba la dirección IP.
A partir de este punto, ya no necesitaremos el monitor ni el teclado. Todas las configuraciones adicionales se realizarán utilizando las líneas de comando a través de una sesión SSH.
Paso 6: use SSH para abrir una sesión en una máquina remota
Usar SSH es bastante básico. Abra una ventana de terminal desde cualquier dispositivo de su red y escriba el comando
ssh pi @ myipaddress
Reemplace "myipaddress" con los valores numéricos obtenidos usando fing.
Por primera vez, es posible que reciba una advertencia aterradora que indica que no está en la lista de invitados, sin embargo, hay una oración que debería decir "para eliminar esto …", copie la cadena larga de caracteres y péguela en el comando mensaje, presione enter. Luego, usando la tecla de flecha hacia arriba, repita el comando ssh pi @ myipaddress, elija sí y ahora ingrese su contraseña. ¡Felicitaciones !, ahora está conectado a su dispositivo si está viendo un símbolo del sistema de "pi @ raspberrypi: ~ $".
Paso 7: Instale Mopidy
Vamos a instalar Mopidy como nuestro servidor de música. Hay muchas opciones aquí, pero te mostraré cómo instalar una extensión llamada "Music Box" que te permitirá controlar tu música desde una interfaz web en lugar de un símbolo del sistema.
¿Qué es Mopidy? Según su sitio web, Mopidy es una serie de palabras importantes que me hacen sentir bastante inferior en este momento, pero digamos que Mopidy es la plataforma desde la que se reproducirá la música. Será un servidor de música, un MPD (demonio del reproductor de música) y un servidor web. El complemento PiMusic Box ofrecerá el sitio web desde el que podemos navegar y controlar Mopidy. Pensé que, dado que funciona bien con un montón de servicios populares como Spotify o Google Play Music, sería adecuado para este instructable. Además, es genial.
A continuación se muestran las instrucciones copiadas descaradamente de Mopidy para instalar desde la línea de comando:
1. Agregue la clave GPG del archivo:
sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
2. Agregue el repositorio APT a las fuentes de su paquete:
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list
Finalmente instale mopidy:
sudo apt-get update
sudo apt-get install mopidy
Fin de la copia desvergonzada.
Paso 8: use Python Pip para instalar otras… instalaciones (extensiones)
Acabamos de instalar Mopidy simple, pero recién estamos comenzando. Las extensiones serán nuestros bloques de construcción para agregar personalizaciones a nuestro Mopidy simple de vainilla. Debido a que la mayoría de las extensiones que agregaremos a mopidy básico están escritas en Python, usaremos un equivalente de apt que sea específico de Python.
Antes de comenzar a usar pip, primero asegurémonos de tener todos los complementos de gstreamer usando apt:
sudo apt install
python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-herramientas
Esto puede tardar unos minutos en instalarse. Sin Gstreamer, es posible que no pueda transmitir música.
Y ahora podemos instalar python pip:
sudo apt install build-essential python3-dev python3-pip
Ahora podemos usar pip para agregar más nuggets mopidy. Pip es una herramienta de Python, similar a apt, pero encuentro que funciona un poco más rápido que apt. Un poco más lento del bloque, pero se activa bastante rápido.
A continuación se muestran cuatro para comenzar:
Una interfaz web. Usemos Iris, pero si lo desea, puede probar mopidy-musicbox-webclient en su lugar:
sudo python3 -m pip install Mopidy-Iris
Un concentrador de estaciones de radio por Internet con 30 canales:
sudo python3 -m pip install mopidy-somafm
Otro centro de servicio de radio por Internet con aún más canales:
sudo python3 -m pip install mopidy-TuneIn
Y otra interfaz para dispositivos móviles. Las estaciones de radio e Iris no funcionan bien juntas, pero el móvil tiene todo tipo de estaciones de racionamiento de Internet para escuchar:
sudo python3 -m pip install Mopidy-Mobile
Una vez completado, debería poder acceder a Music Box usando:
myipaddress: 6680 / iris / -o- https:// localhost: 6680 / musicbox_webclient
Aún no saldrá nada de los altavoces si intenta reproducir música.
Para obtener una lista de otras funciones y extensiones: Ayúdese usted mismo:
sudo pip buscar mopidy
Desde aquí, puede continuar agregando extensiones a su elección.
Tengo un archivo de configuración de mopidy de muestra adjunto. Siéntase libre de usar el contenido en /etc/mopidy/mopidy.conf
sudo nano /etc/mopidy/mopidy.conf
Paso 9: Configurar Mopidy como servicio
Dado que queremos ejecutar mopidy al inicio, dos comandos permitirán que mopidy se ejecute en el inicio:
sudo systemctl habilitar mopidy
sudo dpkg-reconfigure mopidy
Reinicie y luego ejecute
sudo systemctl status mopidy - l
para comprobar su estado. Debería ver un indicador verde. Mopidy tiene un sitio de soporte muy útil para ayudar con más opciones de configuración. Consulte el sitio de documentación de Mopidy para obtener más detalles.
Paso 10: agrega tu propia música
Por defecto, mopidy querrá almacenar música local en una carpeta bajo / var / lib / mopidy / media. Copia tu colección de música allí. Me resulta más fácil simplemente quitar la tarjeta sd del pi (después de un apagado seguro), y usar un adaptador micro sd a usb, conectar el adaptador a su unidad de almacenamiento y copiar / pegar allí. (esto puede llevar un tiempo dependiendo del tamaño de su colección). Una vez completado, devuelva la tarjeta sd al pi, enciéndalo, vuelva a conectarlo y luego escriba:
sudo mopidyctl escaneo local
Esto agregará su música a la biblioteca de medios local en Music Box. Puede notar que los archivos.wma no se reconocen como audio y los archivos.ogg parecen perderse durante el escaneo. Sin embargo, los archivos MP3 no deberían ser un problema.
Paso 11: Archivo de configuración de la tarjeta de sonido - Asound.conf
Todavía no debería tener nada en /etc/asound.conf, pero si lo tiene, reemplace el contenido con los siguientes o cree uno usando:
sudo nano /etc/asound.conf
y pegar:
opciones snd_rpi_googlehat_soundcard index = 0
pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}
ctrl-x e Y para guardar lo anterior como su nuevo archivo asound.conf.
Paso 12: asegúrese de que usamos la superposición correcta para Configure.txt en / boot
escribe
sudo nano /boot/config.txt
Las últimas líneas deberían parecerse a algo similar a lo que se muestra a continuación. Queremos asegurarnos de que el audio estándar esté comentado, junto con cualquier superposición anterior, como mi dac hifiberry, mientras implementamos la superposición de sombrero de voz de Google. Finalmente, queremos instruir al pi para que use el mapeo i2s. El indicador # le dice al sistema que ignore la línea.
# Habilitar audio (carga snd_bcm2835)
# dtparam = audio = on # dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap
reinicie si todo parece similar al anterior. Espere unos minutos, abra un navegador en la URL de la caja de música y reproduzca algo de música.
Paso 13: disfruta de la música
Si estás escuchando bondad estéreo, ¡misión cumplida!
Una de las ventajas de usar una Raspberry Pi como servidor de música sin cabeza conectado a wifi es que funciona sin consumir muchos recursos. Es cierto que solo estamos bombeando 3 vatios por canal, pero eso probablemente sea suficiente para escuchar a corta distancia. La batería de tu teléfono te lo agradecerá.
También hay un factor verde muy importante: solo estamos bebiendo 5,25 voltios de energía. Y en comparación con Bluetooth, podemos configurar la transmisión de radio y no estar anclados a un rango de bluetooth de 30 pies. Con respecto a nuestro teléfono, podemos atender una llamada, jugar un juego y deambular un poco más libremente sin interrumpir el flujo de música. Solo hemos arañado la superficie. Hay toneladas de extensiones mopidy disponibles para explorar, y mopidy tiene una base de desarrolladores en crecimiento ya que es de código abierto. Te dejaré explorar las funciones que te interesan por tu cuenta.
Paso 14: Conclusión
Una de las características más destacadas de este proyecto es que no estamos restringiendo nuestro pi bloqueando el acceso al GPIO. Esto nos permite acceder a muchas más opciones porque el sombrero de voz fue diseñado tan bien. Por ejemplo, mi próximo proyecto será agregar un interruptor de botón momentáneo como botón de apagado. Debería ser fácil y ya sé dónde deben aterrizar los pines: no están obstruidos. ¿Desde allí? Bueno, para este proyecto hemos ignorado por completo el micrófono, ¿tal vez un pi karaoke? ¿Quizás un espectáculo de luces LED o agregar un motor para una máquina de discos rodante? Todos los pines todavía están disponibles y accesibles. La pregunta es ¿por qué no? Y en caso de que desee volver a la IA, simplemente inserte la tarjeta SD anterior y haga que Google responda en estéreo.
Recomendado:
Cómo crear y probar un mejor DAC con ESP32: 5 pasos
Cómo hacer y probar un mejor DAC con ESP32: El ESP32 tiene 2 convertidores de digital a analógico (DAC) de 8 bits. Estos DAC nos permiten producir voltajes arbitrarios dentro de un cierto rango (0-3,3 V) con 8 bits de resolución. En este Instructable, le mostraré cómo construir un DAC y caracterizar su p
DAC de audio USB: 12 pasos
USB Audio DAC: utiliza controladores estándar, funciona con Windows, Mac y muchas distribuciones de Linux, pero limita el rendimiento a 16 bits, 48 kHz Salidas de nivel de línea balanceadas (pro) en la parte posterior (XLR / 6,35 mm) Nivel de línea de un solo extremo (pro) salida en el frente (RCA) Sin salida s
Bricolaje: Audio DAC - DSD, MP3 y Radio Volumio Player: 3 pasos
Bricolaje: Audio DAC - DSD, MP3 y Radio Volumio Player: DSD probado: DSD64, DSD128 & DSD256
Reproducción de archivos de sonido de audio (WAV) con un Arduino y un DAC: 9 pasos
Reproducción de archivos de sonido de audio (Wav) con un Arduino y un DAC: reproduzca el audio de un archivo wav desde su tarjeta SD Audino. Este Instructable le mostrará cómo se puede reproducir un archivo wav en su SdCard a través de un circuito simple a un altavoz. El archivo wav debe ser mono de 8 bits. No he tenido problemas para reproducir archivos de 44 KHz. Aunque no
Selector de audio Mint Box: Interruptor de audio de 3,5 mm: 6 pasos
Selector de audio Mint Box: Interruptor de audio de 3,5 mm: Problema: a menudo en mi escritorio necesito usar auriculares para juegos o escuchar música mientras otras personas están en la habitación y luego necesito cambiar a los parlantes si quiero lucir algo gracioso video o hacer una llamada por Internet a un pariente lejano. Th