これがウィークリーチャレンジ#1です。テーマ:オーディオ処理
あなたの仕事は含まれています(お好みの形式で)ディスクにオーディオファイル、書き込むプログラム、書くことですモールスコードのために2015
、すなわち、
..--- ----- .---- .....
単一周波数の正弦波、和音、ノイズ、一部の楽器(MIDIファイルを使用するなど)など、可聴である限り、セグメントに任意の種類のサウンドを自由に選択できます。ただし、タイミングにはいくつかの制約があります。
- 短いセグメントの長さは少なくとも0.2秒である必要があります。
- 長いセグメントは、短いセグメントの少なくとも3倍の長さである必要があります。
- 数字内のセグメント間の区切りは、短いセグメントと同じ長さでなければなりません。
- 数字間の区切りは、長いセグメントと同じ長さでなければなりません。
- 各セグメントとブレークは、そのタイプのセグメント/ブレークの平均長から最大10%逸脱する可能性があります。
- オーディオファイル全体が30秒を超えないようにしてください。
休憩は完全に無音である必要はありませんが、モールス信号音は休憩よりも大きな音量である必要があります。
オーディオファイルを作成する必要があることに注意してください。システムビープ音などを使用して、サウンドを再生することはできません。任意の種類のライブラリを使用してファイル形式とオーディオ生成を処理できますが、モールス符号化に組み込み機能を使用しないでください。
これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。
結果のオーディオファイル(SoundCloudなど)のアップロードへのリンクを検討してください。そうすれば、コードを実行しなくても結果を確認できます。SoundCloudにアップロードする場合は、トラックの[権限]タブでダウンロードを有効にしてください。
出力で一般的でないファイル形式を使用している場合は、再生方法やより一般的な形式に変換してアップロードする方法に関する情報を追加してください。
トラックの例
これは、仕様に準拠し、モールスセグメントにノイズ(正確にはマイクのバックグラウンドノイズ)を使用する、手動で生成されたサンプルトラックです。埋め込みプレーヤーが機能しない場合のSoundCloudへのリンクは次のとおりです。
バウンティの詳細
オーディオプログラミング言語、つまり音声を合成するように設計された言語での最短の提出に対する賞金を授与します。そのリストは完全ではありませんので、ご存じの場合は別のオーディオプログラミング言語を自由に使用してください。使用したい言語がオーディオプログラミング言語として分類されるかどうかわからない場合は、コメントまたはチャットでお知らせください。それについて話し合うことができます。
提出物はすべてのルールに準拠する必要があることに注意してください。特に、すべてのオーディオプログラミング言語では不可能なファイルを書き込む必要があります。たとえば、私が知る限り、gibberはサウンドを再生することしかできず、ファイルに保存することはできません。