♪ tone-quest · ear training
音感トレーニング (絶対音感 / 相対音感) を ブラウザだけで無料で。 音名当て / 音程当て / 和音当て の 3 モード × Easy / Normal / Hard の 3 レベル。 WebAudio API で純合成、 波形をリアルタイム可視化、 連続正解ストリークを伸ばそう。 サインアップ不要、 回答はサーバーに送信されません。
[ ./how_it_works ]
step / I
音名当て / 音程当て / 和音当て の 3 モード。 Easy (候補 3〜4) / Normal (6) / Hard (12) で難易度を切替。 まずは音名当て × Easy から始めるのがおすすめ。
step / II
OscillatorNode (基音 sine + 倍音弱め) で生成されるピアノ風の音が鳴る。 波形は Canvas でリアルタイム可視化。 「もう一度聴く」 で再生し直しも可能。 候補ボタンから答えを選択。
step / III
正解 / 不正解はその場でフィードバック (正解音名 + 周波数を表示)。 累計スコア・正答率・連続正解ストリーク・ベストストリーク を ステージ下に表示。
[ ./faq ]
厳密な 「絶対音感」 (基準音なしで音名を即答する能力) は 6 歳前後までの臨界期があるとされ、 大人から完全な絶対音感を身につけるのは難しいとされています。 ただし 「相対音感」 (基準音との比較で音程を聴き取る能力) は 大人でも確実に伸びます。 本ツールの 音程当て / 和音当て モードは相対音感の訓練として有効です。
WebAudio API の OscillatorNode を 4 つ重ねて、 基音 sine + 2倍音 (32%) + 3倍音 (16%) + 4倍音 (8%) の合成でピアノ風の音色を作っています。 録音された音源ファイルは使っていません (DL 不要、 すべてブラウザ内合成)。 12 平均律で A4 = 440Hz を基準に算出。
音程: 短2度 / 長2度 / 短3度 / 長3度 / 完全4度 / 増4度 (tritone) / 完全5度 / 短6度 / 長6度 / 短7度 / 長7度 / 完全8度 の 12 種。 和音: Major / Minor / dim / aug / M7 / m7 / 7 / m7♭5 の 8 種。 すべてランダムな root から出題されます。
AnalyserNode の getByteTimeDomainData () で取得した時間領域波形を Canvas 2D で描画しています。 鳴っている音の振幅変化が gilt gold で揺れます。 音が止まると 128 (silence line) に戻ります。
iOS Safari / Android Chrome の最新版で動作確認。 iOS では最初に画面をタップするまで AudioContext が suspended のため、 「トレーニングを始める」 ボタンを必ず押してから出題されます。 ヘッドホン推奨 (スピーカーだと低域が痩せます)。
送られません。 スコア・ストリーク・回答履歴 はすべて React state 上のメモリ持ちで、 リロードすると消えます (永続化なし、 サインアップなし)。 後の IMPROVE で localStorage 保存を任意で追加予定。
ai-lab.org の インタラクティブ学習 thesis 枠の 1本目です (charter 8 thesis 枠で初)。 計算ツール (CoinStack / RoofFund)、 占い (FateNum)、 データ可視化 (WikiOrbit)、 ジェネレーター (TypeForge)、 on-device ML 14本 とは別 thesis。 学習系では 道場 (cmd-dojo / sql-dojo / regex-dojo / git-dojo) が古くからありますが、 ToneQuest は 「実技 (耳を鍛える)」 軸で別アプローチ。