# GROVE — はじめての3レイヤー / First layers [日英の練習ページ](practice.html) · [TAB・五線譜](practice-score.svg) 独自の初心者向け練習曲です。FKJ「Ylang Ylang」の採譜・再現ではなく、原曲の音源・旋律は使用していません。`ylang-*` は互換性のために残した旧ファイル識別子で、曲の出典ではありません。 ## 1. 音源と長さ - 108 BPM、4/4、A4=440Hz。Am7 → Fmaj7 → Cmaj7 → G6を各1小節、2回弾く。 - 4小節=8.8889秒、**1ループは8小節=17.7778秒**。4小節1回を8小節と数えない。 - `ylang-demo-mix.wav`: 8小節の完成例。クリック・カウントなし。 - `ylang-count-in-practice.wav`: **4拍だけの予備カウント1小節 + 演奏8小節=20秒**。演奏中もクリックあり。1回で終了。 - `ylang-guitar.wav`: 8小節のギター用合成プラック。 - `ylang-pad.wav`: コード確認用の合成パッド。実演では省略可。 - `ylang-hum.wav`: ハミング旋律のサイン波音程ガイド。人声ではない。 - `ylang-horn.wav`: 合成ホルン音程ガイド。1〜4小節は無音、5〜8小節で演奏。 - `ylang-click.wav`: 8小節のクリックのみ。予備カウントなし。 - `ylang-practice.mid`: ギター・パッド・ハミング・ホルンの実音MIDI。**外部DAW用。GROVE nativeへの直接インポート用ではない**。 音はすべて合成ガイドです。実際のギター・人声・ホルンの録音や、演奏動画の代用品ではありません。WAVは44.1kHz・16bit・モノラル。各音にフェードを入れ、共通ゲインでミックス/カウント付き音源のサンプルピークを最大0.85以下に抑えます。聴感は本人確認が必要です。 ## 2. 調弦と準備 この教材は**A4=440Hz**で生成しています。既存Web画面の432Hz基準音とは別です。楽器・既存音源・アプリ設定を自動変更しません。すでに432Hzで調弦している場合は違いを確認してから、この教材に合わせるときだけ本人が440Hzへ調弦してください。 ギターは標準調弦 **E2 A2 D3 G3 B3 E4**、カポなし。小音量のヘッドホンでガイドを聴きます。Babyfaceの出力先・TotalMixのヘッドホン経路を確認。ギターCh3、声/ホルンCh1は初期候補で、端子対応は実入力メーターを見て確認します。入力ピークはまず-12dBFS付近を目安に、赤くならないよう調整。TotalMixで直接聴く場合はGROVE側の入力モニターをOFFにし、二重音を避けます。 ## 3. ギター:4つの押さえ方 数字は6弦→1弦。`x`は弾かない、`0`は開放。指番号は1=人差し指、2=中指、3=薬指。 | 小節 | コード | 構成音 | 押さえ方 | 押さえる弦/フレット/指 | |---|---|---|---|---| | 1・5 | Am7 | A C E G | x02010 | 4/2/2、2/1/1 | | 2・6 | Fmaj7 | F A C E | xx3210 | 4/3/3、3/2/2、2/1/1 | | 3・7 | Cmaj7 | C E G B | x32000 | 5/3/3、4/2/2 | | 4・8 | G6 | G B D E | 320000 | 6/3/3、5/2/2 | 最初は各小節の1拍目だけ軽くストロークしてコードチェンジを覚えます。慣れたら**各欄8分音符、半拍ずつ**の下記アルペジオへ。「1 と 2 と 3 と 4 と」と数え、右手の親指で低音、3弦は人差し指、2弦は中指、1弦は薬指。 | コード | 弾く弦の順序(8分音符×8) | 鳴る実音(中央ド=C4) | |---|---|---| | Am7 | 5 3 2 1 2 3 2 1 | A2 G3 C4 E4 C4 G3 C4 E4 | | Fmaj7 | 4 3 2 1 2 3 2 1 | F3 A3 C4 E4 C4 A3 C4 E4 | | Cmaj7 | 5 3 2 1 2 3 2 1 | C3 G3 B3 E4 B3 G3 B3 E4 | | G6 | 6 3 2 1 2 3 2 1 | G2 G3 B3 E4 B3 G3 B3 E4 | G6のアルペジオはDを省略し、G・B・Eを弾く形です。全弦のグリップはG B D G B E。4コードを2回で8小節。Fmaj7はバレー不要です。 ## 4. ハミングとホルン 音名は中央ド=C4。下表の**各音は2分音符(2拍)**、1小節に2音。五線譜も同じ長さです。 | 小節 | ハミング実音 | ホルン実音 | F管ホルン記譜 | |---|---|---|---| | 1〜4 | 下の4行と同じ旋律 | 全休止 | 全休止 | | 5 / Am7 | C4 → E4 | A3 → C4 | E4 → G4 | | 6 / Fmaj7 | F4 → E4 | A3 → F3 | E4 → C4 | | 7 / Cmaj7 | E4 → G4 | G3 → E3 | D4 → B3 | | 8 / G6 | D4 → E4 | D3 → G3 | A3 → D4 | 声は「んー」で、息を詰めず楽な音域で。ガイドはC4〜G4(MIDI60〜67)。高ければ1オクターブ下でも構いません。コードパッドを声で再現する必要はなく、ハミングは単音です。 ホルンは実音D3〜C4(MIDI50〜60)。F管の記譜は**実音より完全5度上、+7半音**。WAV/MIDIは実音で鳴るので二重に移調しないこと。1〜4小節で息を整え、5小節目から入ります。運指は使用楽器・普段のF/B♭側に合わせて確認してください。 ## 5. GROVE nativeに生演奏を録る 1. 既存セッションを保存。録音中のアプリを勝手に終了しない。 2. ガイドをヘッドホンに送り、マイクやループバック入力へ混入しないことを確認。 3. 「4拍カウント → 8小節」を再生。4拍の後の1拍目で②Guitar録音を開始し、8小節演奏。**9小節目の1拍目**で同じ録音ボタンを押し、約17.78秒で確定する。カウントを録音に含めない。 4. 外部ガイドを停止。以後は**自分のギターループ**とGROVEの周期表示に従う。外部プレイヤーとGROVEには自動同期がなく、手動の開始/終了で誤差が出ます。長さがずれたらギターから録り直す。 5. ③Voiceで録音予約。次の周期からハミングを8小節録る。空トラックの録音と既存トラックへの重ね録りを区別する。 6. 「ホルン準備」で④Hornの録音予約。次の周期を1周休んで持ち替え、録音開始表示を確認する。その**録音周期の1〜4小節は休み、5〜8小節だけ吹く**。準備機能にEQ自動切替はありません。 7. 1周完了後に全停止→保存。nativeの保存形式は`.grovenative`。Web版の`.grove`とは別です。 操作は秒数の固定台本ではなく周期表示を基準にします。声を録った後の持ち替えを急がないこと。初回テイクのUndoはそのテイクを除去し、直前の重ね録りのUndoは前の音へ戻します。大切な録音は先に保存してください。 ## 6. 実演動画の撮影手順 **まだ本人の実演映像はありません。ここから先は撮影待ちです。** 1. スマホを固定し、ギターの手元・顔・ホルン持ち替えが映る構図を用意。画面はMacで別収録する場合も、必ず同じテイクを記録する。 2. 演奏前に手拍子などの同期目印を入れる。入力/出力の遅延を見て編集時に合わせる。 3. まず5秒だけ撮影。実際に保存された音を聴き、GROVE出力・生音のバランス、クリック漏れ、二重音、歪みを確認する。 4. 通しは2〜3分の余裕を取り、ギター→声→ホルン→完成した8小節の順に撮る。ホルンの入りは完成ループ後半なので切り捨てない。 5. 20〜30秒版は、ギターを弾く手元約4秒→声約4秒→持ち替え約3秒→完成8小節約17.78秒で、約28.8秒の構成案。演奏経過を編集で短縮したことが分かる見せ方にする。 6. 本人が全編の音・映像を確認してから公開。ガイド合成音を生演奏の証拠として使わない。 ### 音を録る経路の注意 - macOSの画面収録で「マイク」を選ぶだけではGROVEのアプリ出力が録れるとは限りません。`screencapture`単体で出力音まで録れたと断定しない。 - 推奨はGROVE出力をTotalMixの専用ループバック出力へ送り、対応する録音入力を外部DAW等で記録する方法。使用出力・入力の対応は本人の機材で確認する。**ループバック入力をGROVEの録音トラックやそのまま出力へ戻さない**。フィードバック防止のため低音量から試す。 - スマホのマイクだけでも記録は可能ですが、スピーカー再生と生楽器の二重音・部屋鳴り・クリック漏れが出やすいため試聴確認が必要。 - `.grovenative`の保存はセッション保存であり、そのまま動画用ステレオWAVの書き出しではありません。 ## 7. 再生成・検証・サイトへの組み込み `make_demo_song.py`が音符データの正本です。同じデータからWAV、実音MIDI、TAB/五線譜SVGを生成します。Python環境に既存依存の`numpy`・`midiutil`が必要です。依存追加はプロジェクトの仮想環境で行い、システムPythonを変更しないでください。 `fkj-loop/`から実行: ```sh python3 -B demo-song/make_demo_song.py python3 -B -m unittest discover -s demo-song -p 'test_*.py' -v python3 -B demo-song/test_practice_browser.py ``` ブラウザテストは既存のPlaywright/Chromeを使用します。再生成による旧`ylang-*`の置換は、この独自練習曲への更新です。原曲の素材は参照しません。 2026-09-24の実測: 生成器の単体テスト7件成功(グリップ・音域・MIDI読戻し・譜面照合・PCMピーク・カウント4拍)。Chromeで日英×390/768/1280px、7音源の再生開始とシーク後の終端、反復、停止、欠損音源表示を確認。全尺の連続聴取・実機の聴感・譜面の目視は未確認。lint/typecheckの指定コマンドは未発見・未実行。 HTTPでシークを使う配信先はWAVのRangeリクエストに206を返す必要があります。ブラウザテストは既存`GroveHandler._audio`を利用したテスト専用ハンドラーで実施。既存`serve.py`の公開許可リストには本ページ/音源を追加していないため、そのままのサーバーでは本ページへアクセスできません。単純な`python -m http.server`ではChromeのシークが正しく進まないケースを確認しました。配布先でRange対応を確認してから組み込んでください。 サイトには`practice.html`だけでなく、同じ階層に`practice-score.svg`、全7 WAV、MIDI、`RECORDING-GUIDE.md`を一緒に配置してください。音源URLは相対参照。英語の入口は`practice.html?lang=en`。単独ローカル閲覧もでき、マイク権限・有料API・外部CDNは使いません。親サイトの導線追加・配布先への反映・本人実演動画の撮影/埋め込みは別の確認対象で、ここにファイルがあることを本番公開済みとは扱いません。 ## English quick guide This is an original beginner exercise, not a transcription of FKJ. The `ylang-*` filenames are legacy compatibility identifiers only. All guide sounds are synthesized; the hum guide is a sine tone, not a real voice. - **108 BPM, 4/4, A4=440Hz.** Am7 → Fmaj7 → Cmaj7 → G6, one bar each, played twice: 8 bars / 17.7778 seconds. The count-in track adds exactly four beats (one bar), totaling 20 seconds. It plays once. - Standard guitar tuning E2 A2 D3 G3 B3 E4, no capo. Shapes `x02010 / xx3210 / x32000 / 320000`; digits run string 6 to 1, x=skip, 0=open. Start with one strum per bar, then use the eighth-note TAB. Thumb on the bass, index/middle/ring on strings 3/2/1. - Hum C4–E4 | F4–E4 | E4–G4 | D4–E4, twice, two beats per note. Sing an octave lower if needed. The optional pad demonstrates chords, not a four-note vocal part. - Horn rests bars 1–4; concert pitch in bars 5–8 is A3–C4 | A3–F3 | G3–E3 | D3–G3, two beats per note. **Horn in F written pitch is a perfect fifth higher (+7): E4–G4 | E4–C4 | D4–B3 | A3–D4.** WAV and MIDI use concert pitch. - This exercise does not retune instruments or change the existing 432Hz reference. Check tuning before playing along. - Record guitar on the downbeat after the count-in and close the loop on bar 9's downbeat. Stop the external guide; follow your actual GROVE loop for voice and horn. There is no automatic tempo synchronization. Horn Preparation leaves one upcoming cycle for changing instruments; within the recording cycle, rest four bars and play four. - MIDI is for external DAWs, **not direct import into GROVE native**. Save live takes as `.grovenative`. - Film hands and screen during the same take. Record actual GROVE output separately, test five seconds for click bleed/doubling/clipping, and align using a clap. Screen-recording microphone selection does not guarantee application-audio capture. Never route loopback input back into GROVE output. - No live-performance video has been filmed yet. Website publication and real-device listening remain separate verification steps. The [bilingual practice page](practice.html?lang=en) includes playback, downloads, score and rehearsal instructions.