No.1905 PURE PHRASE
タグ : / 解いたユーザー数 89
作問者 :
hitonanode
/ テスター :
Sumitacchan
問題文
サンプリングレート $44100~\mathrm{Hz}$ で記録された長さ $N = 44100$ (すなわち $1$ 秒間)の音の波形 $\mathbf{A} = [A_1, \dots, A_{N}]$ が与えられます.すなわち,$A_i$ $(1 \le i \le N)$ は時刻 $i / N \ \mathrm{[sec]}$ における信号の変位です. この信号は,何らかの楽器を模した演奏音の $1$ 秒間を切り出したもので,音の高さは C4, D4, E4, F4, G4, A4, B4 のいずれかです.なお,それぞれの音の基本周波数は順に 261.6, 294.3, 327.0, 348.8, 392.4, 436.0, 490.5 $\mathrm{Hz}$ と本問では仮定してよいです(基本周波数に関してはサンプルの説明文もご参照ください).どの高さの音が鳴っているかを判別し,答えを出力してください.
備考
本問題のテストケースの作成方法は本ページの末尾に記載しました.
入力
$N$ $A_1\ A_2 \ \dots \ A_N$
- $N = 44100$
- $-32768 \le A_i \le 32767$ $(i = 1, \dots, N)$
- 入力は全て整数
出力
答えとなる文字列(C4, D4, E4, F4, G4, A4, B4 のいずれか一つ)を出力してください.最後に改行してください.
サンプル
本問題は小さい入力データが提供できないため,サンプルデータを GitHub Gist 上に用意しました.お手数ですがこちらのリンクより適宜ダウンロードしてご利用ください.サンプル1
入力
出力
C4
Trumpet による C4 の音です.
なお,サンプル1の波形データの冒頭を波形解析ソフトで図示したのが以下のものです(以下,図の横軸の単位は秒です).
C4 の音の基本周波数が約 $261.6 \mathrm{Hz}$ であることに対応しています.波形(数列)全体を約 $N / 261.6$ 要素だけ前後にシフトさせてもデータの様子はあまり変化しない,というのが入力の特徴です.
サンプル2
入力
出力
D4
Pan Flute による D4 の音です.なお波形は以下の通りです.
D4 の基本周波数と一致しています.
サンプル3
入力
出力
E4
Recorder による E4 の音です.波形は以下の通りです.
補足:テストケースの作成方法について
本問で提出コードの判定に用いられるテストケースは以下の方法で作成されています.
- DAWソフトウェア Cakewalk by BandLab 上でソフトウェアシンセサイザー Cakewalk TTS-1 を使用し,
C4,D4,E4,F4,G4,A4,B4いずれかの単音を 8 秒間鳴らす wav ファイルを作成する.音色はプリセットに用意されたHarmonica,Violin,Trumpet,Shakuhachi,Pan Flute,Alto Sax,Church 1,Recorderを使用した.Wav 信号のフォーマットはサンプリングレート $44100~\mathrm{Hz}$, ビット深度は $16$ bit とした.その他ピッチを微調整したが,それ以外の設定は基本的にデフォルトのものから変更していない. - 作成した wav ファイルから,ちょうど $1$ 秒分の長さの連続した区間を切り出し,テストケースの入力とする.切り出す位置は作問者によって恣意的に定められた可能性がある.
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。