El efecto de la radio de tubo caliente.

imagen


Al principio, el objetivo de este proyecto doméstico era crear un receptor de radio por Internet a partir de Raspberry Pi. Quería encontrar o restaurar un viejo receptor de madera, o al menos un estuche, poner una Raspberry, una batería, blackjack allí y darle un wifi. Debido a la falta de tiempo, todo esto se guardó de forma segura en un cajón largo, pero, tal vez, me daré cuenta con el tiempo. Pero hice el programa parte del proyecto, del que quiero hablar.


En mi opinión, hacer una radio vieja para que suenen claras tasas de bits modernas no es algo falso. Es decir, déjelos sonar también, pero desde la vieja radio me sería doblemente agradable escuchar el sonido auténtico de aquellos tiempos en que todavía no había convertidores de pulso y los unicornios caminaban alegremente por las calles. La receta de cómo envejecer un sonido me imagino:


  • 1 ... 10 μV señal útil,
  • Eco de 0.3 μV, de la misma transmisión a la misma frecuencia, pero desde un lugar diferente,
  • Señal de 0.2 μV de otra estación que transmite a la misma frecuencia
  • una gota de silbato de interferencia, ya no es necesario, porque molesto,
  • Ruido de entrada de 0.1 μV
  • el ingrediente secreto es el desvanecimiento, es decir, el desvanecimiento de todas las señales enumeradas, excepto el ruido de los circuitos de entrada, harán su trabajo junto con el AGC: ajuste automático de ganancia, como resultado de lo cual una de las señales de fondo aparecerá periódicamente, como es el caso en la radio real,
  • Bueno, al gusto, corte las frecuencias superiores.

Se entiende que la radio funciona en ondas medias, en la tarde, y la señal viaja lejos. La lista puede continuar indefinidamente, pero los recursos de frambuesa son limitados, pero quiero comenzar muchos hilos y cambiar entre ellos. Por lo tanto, me limité a lo anterior. Diseñó todo esto en forma de un servidor basado en Icecast y una serie de otras utilidades útiles. Este servidor me ayuda a crear un ambiente festivo en las vacaciones de Año Nuevo. Quizás útil para alguien más.


El principio del servidor es el siguiente: dos flujos de audio de entrada tomados de Internet se convierten a wav usando ffmpeg, aquí la frecuencia de muestreo se reduce para eliminar las frecuencias altas y facilitar el trabajo del procesador.


Las transmisiones luego pasan por un procesador de sonido improvisado escrito en C. Le pido a los especialistas en programación de sistemas que no me echen mucho por posibles errores, en la vida normal soy un desarrollador web, y C para mí es algo así como una versión rápida de bash. Aquí, a cada señal se le asigna un valor de nivel teniendo en cuenta el desvanecimiento, las señales se resumen teniendo en cuenta los niveles, luego la señal total se divide por el valor de nivel total, por lo que se simula el AGC y el volumen del sonido recibido será aproximadamente constante.


El flujo de salida está codificado por oggenc y, utilizando ezstream, se envía al servidor Icecast, donde está disponible para escuchar.


Puede clonar el proyecto desde aquí , también hay instrucciones de instalación. Es mejor instalarlo primero no en Raspberry, sino en Linux de escritorio común, ya que es posible que tenga que jugar con la frambuesa con el ensamblaje manual de algunos componentes. En lugar del script stream-template-1206am, había un script con mis estaciones de radio favoritas para protegerlas de un posible efecto habrae, y la conciencia del remordimiento, reemplazado por enchufes. En su lugar, ponga secuencias de audio a su gusto y que el sonido del tubo caliente lo acompañe.


¡Buenas y felices fiestas!


ACTUALIZACIÓN: Siguiendo el consejo del usuario, Logonoff agregó una muestra de cómo suena esto al proyecto.

Source: https://habr.com/ru/post/es435096/


All Articles