C'est le défi hebdomadaire n ° 1. Thème: Traitement audio
Votre tâche est d’écrire un programme, qui écrit un fichier audio sur un disque (dans un format de votre choix), qui contient le code Morse pour 2015
, c’est-à-dire
..--- ----- .---- .....
Vous êtes libre de choisir n'importe quel type de son pour les segments, comme une onde sinusoïdale à fréquence unique, un accord, du bruit, un instrument (par exemple, l'utilisation de fichiers MIDI), à condition que ce soit audible. Cependant, le calendrier est soumis à certaines contraintes:
- Les segments courts doivent durer au moins 0,2 seconde.
- Les segments longs doivent être au moins 3 fois plus longs que les segments courts.
- Les sauts entre les segments d’un chiffre doivent avoir la même longueur que les segments courts.
- Les sauts entre les chiffres doivent avoir la même longueur que les longs segments.
- Chaque segment et pause peut s'écarter jusqu'à 10% de la longueur moyenne de ce type de segment / pause.
- La totalité du fichier audio ne doit pas dépasser 30 secondes.
Les pauses n'ont pas besoin d'être complètement silencieuses, mais les segments Morse doivent être plus forts que les pauses.
Notez que vous devez écrire un fichier audio. Vous ne pouvez pas simplement jouer le son, par exemple en utilisant des bips système. Vous êtes autorisé à utiliser n'importe quel type de bibliothèque pour gérer le format de fichier et la génération audio, mais vous ne devez pas utiliser les fonctionnalités intégrées pour le codage Morse.
C'est le code de golf, donc la réponse la plus courte (en octets) gagne.
Veuillez envisager de créer un lien vers un téléchargement du fichier audio résultant (sur SoundCloud ou similaire), afin que les utilisateurs puissent consulter le résultat sans avoir à exécuter votre code. Si vous téléchargez sur SoundCloud, assurez-vous d’activer les téléchargements dans l’onglet Autorisations de la piste.
Si votre sortie utilise un format de fichier plutôt inhabituel, veuillez ajouter des informations sur la manière de la lire et / ou la convertir en un format plus courant, puis téléchargez-la.
Exemple de piste
Il s’agit d’un exemple de piste généré manuellement qui est conforme à la spécification et utilise du bruit pour les segments Morse (bruit de fond du microphone, pour être précis). Voici un lien vers SoundCloud si le lecteur intégré ne fonctionne pas pour vous.
Détails de la prime
J'attribuerai la prime à la soumission la plus courte dans un langage de programmation audio , c'est-à-dire un langage conçu pour synthétiser le son. Cette liste n’est pas complète, alors n'hésitez pas à utiliser un autre langage de programmation audio, si vous en connaissez un. Si vous ne savez pas si un langage que vous souhaitez utiliser peut être considéré comme un langage de programmation audio, veuillez me le faire savoir dans les commentaires ou dans le chat , et nous pourrons en discuter.
Notez que votre soumission doit toujours respecter toutes les règles - en particulier, elle doit écrire un fichier, ce qui pourrait ne pas être possible dans tous les langages de programmation audio. Par exemple, pour autant que je sache , Gibber ne peut que lire le son et ne pas l'enregistrer dans un fichier.