Este es el desafío semanal n. ° 1. Tema: Procesamiento de audio
Su tarea es escribir un programa, que escribe un archivo de audio en el disco (en un formato de su elección), que contiene el código Morse para 2015
, es decir
..--- ----- .---- .....
Usted es libre de elegir cualquier tipo de sonido para los segmentos, como una onda sinusoidal de frecuencia única, un acorde, ruido, algún instrumento (por ejemplo, usando archivos MIDI), siempre que sea audible. Sin embargo, hay algunas limitaciones en el tiempo:
- Los segmentos cortos deben tener al menos 0.2 segundos de longitud.
- Los segmentos largos deben ser al menos 3 veces más largos que los segmentos cortos.
- Los saltos entre segmentos dentro de un dígito deben tener la misma longitud que los segmentos cortos.
- Los saltos entre dígitos deben tener la misma longitud que los segmentos largos.
- Cada segmento y ruptura puede desviarse hasta un 10% de la longitud promedio de ese tipo de segmento / ruptura.
- El archivo de audio completo no puede durar más de 30 segundos.
Los descansos no necesitan ser completamente silenciosos, pero los segmentos Morse deberían ser audiblemente más fuertes que los descansos.
Tenga en cuenta que tiene que escribir un archivo de audio. No puede simplemente reproducir el sonido, por ejemplo, utilizando pitidos del sistema. Puede usar cualquier tipo de biblioteca para manejar el formato de archivo y la generación de audio, pero no debe usar las funciones integradas para la codificación Morse.
Este es el código de golf, por lo que gana la respuesta más corta (en bytes).
Considere vincular a una carga del archivo de audio resultante (en SoundCloud o similar), para que las personas puedan ver el resultado sin tener que ejecutar su código. Si carga en SoundCloud, asegúrese de habilitar las descargas en la pestaña Permisos de la pista.
Si su salida utiliza un formato de archivo poco común, agregue información sobre cómo reproducirlo y / o conviértalo a un formato más común y cárguelo.
Pista de ejemplo
Esta es una pista de ejemplo generada manualmente que se ajusta a la especificación y utiliza ruido para los segmentos Morse (ruido de fondo del micrófono, para ser precisos). Aquí hay un enlace a SoundCloud si el reproductor incorporado no funciona para usted.
Detalles de la recompensa
Otorgaré la recompensa al envío más breve en un lenguaje de programación de audio , es decir, un lenguaje diseñado para sintetizar sonido. Esa lista no está completa, así que siéntase libre de usar otro lenguaje de programación de audio, si conoce uno. Si no está seguro de si algún lenguaje que desea utilizar se clasifica como un lenguaje de programación de audio, hágamelo saber en los comentarios o en el chat , y podemos discutirlo.
Tenga en cuenta que su envío aún debe cumplir con todas las reglas, en particular, tiene que escribir un archivo, que podría no ser posible en todos los lenguajes de programación de audio. Por ejemplo, por lo que puedo decir, gibber solo puede reproducir el sonido y no guardarlo en un archivo.