This is Weekly Challenge #1. Theme: Audio Processing
Your task is to write a program, which writes an audio file to disc (in a format of your choice), which contains the Morse code for 2015
, i.e.
..--- ----- .---- .....
You are free to choose any sort of sound for the segments, like a single-frequency sine wave, a chord, noise, some instrument (e.g. using MIDI files), as long as it's audible. However, there are some constraints on the timing:
- Short segments need to be at least 0.2 seconds in length.
- Long segments need to be at least 3 times as long as short segments.
- Breaks between segments within a digit should be the same length as short segments.
- Breaks between digits should be the same length as long segments.
- Each segment and break may deviate up to 10% from the average length of that type of segment/break.
- The entire audio file may not be longer than 30 seconds.
The breaks don't need to be completely silent, but the Morse segments should be audibly louder than the breaks.
Note that you have to write an audio file. You cannot just play the sound, e.g. using system beeps. You're allowed to use any sort of library to handle the file format and audio generation, but you must not use built-in features for Morse encoding.
This is code golf, so the shortest answer (in bytes) wins.
Please consider linking to an upload of the resulting audio file (on SoundCloud or similar), so people can check out the result without having to run your code. If you upload to SoundCloud, please make sure to enable downloads in the Permissions tab of the track.
If your output uses a rather uncommon file format, please add some information about how to play it back and/or convert it to a more common format and upload it.
Example track
This is a manually generated example track which conforms with the spec and uses noise for the Morse segments (microphone background noise, to be precise). Here is a link to SoundCloud if the embedded player doesn't work for you.
Bounty Details
I will award the bounty to the shortest submission in an audio programming language, i.e. a language that is designed to synthesise sound. That list is not complete, so feel free to use another audio programming language, if you know one. If you're not sure whether some language you want to use classifies as an audio programming language, please let me know in the comments or in chat, and we can discuss that.
Note that your submission still has to comply with all the rules - in particular, it has to write a file, which might not be possible in all audio programming languages. E.g., as far as I can tell, gibber can only play the sound and not save it to a file.