From f4e1f2ba033775e6832e3411a35467ce5c11505e Mon Sep 17 00:00:00 2001 From: Wilson Neto Date: Wed, 26 Nov 2025 21:43:03 -0300 Subject: [PATCH 1/2] fix: correct natural minor chord numbering --- services/theoryService.ts | 6 ++++-- src/test/theoryService.test.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/services/theoryService.ts b/services/theoryService.ts index 7b2ac1e..61b1e44 100644 --- a/services/theoryService.ts +++ b/services/theoryService.ts @@ -39,6 +39,8 @@ const ROMAN_TO_CHORD_TYPE: Record = { i: 'minor', 'ii°': 'diminished', III: 'major', + iv: 'minor', + v: 'minor', VI: 'major', VII: 'major', // Extended chords @@ -103,7 +105,7 @@ const generateKeyMap = (key: Key, isMinor: boolean = false): Record { @@ -256,7 +258,7 @@ const getLevelConfig = ( return { key: `${randomKey} Minor`, map: keyMap, - pool: ['i', 'III', 'iv', 'V', 'VI', 'VII'], + pool: ['i', 'III', 'iv', 'v', 'VI', 'VII'], }; }) .with(LevelType.MIXOLYDIAN, () => { diff --git a/src/test/theoryService.test.ts b/src/test/theoryService.test.ts index 4062fe8..8deb50f 100644 --- a/src/test/theoryService.test.ts +++ b/src/test/theoryService.test.ts @@ -45,7 +45,7 @@ describe('TheoryService', () => { expect(progression.key).toMatch(/^[A-G][#b]? Minor$/); // Check that all chords are valid minor key chords - const validMinorChords = ['i', 'III', 'iv', 'V', 'VI', 'VII']; + const validMinorChords = ['i', 'III', 'iv', 'v', 'VI', 'VII']; progression.chords.forEach((chord: Chord) => { expect(validMinorChords).toContain(chord.roman); }); From cdc58c2694ac162e912be15dd4b4c7e556fe9fdd Mon Sep 17 00:00:00 2001 From: Wilson Neto Date: Wed, 26 Nov 2025 22:15:08 -0300 Subject: [PATCH 2/2] docs(i18n): correct lesson content for Natural Minor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates the lesson content for Level 2 (Natural Minor) to accurately reflect the chords used in the exercise pool. - Removes the 'ii°' chord from the explanation as it is not included in the level's chord pool. - Refines descriptions for other minor chords like 'v' and updates song examples for better relevance. This aligns the in-game music theory lesson with the actual configuration for . --- i18n/locales/en.ts | 17 +++++++++-------- i18n/locales/es.ts | 21 +++++++++++---------- i18n/locales/ja.ts | 25 +++++++++++++------------ i18n/locales/pt.ts | 17 +++++++++-------- 4 files changed, 42 insertions(+), 38 deletions(-) diff --git a/i18n/locales/en.ts b/i18n/locales/en.ts index c33b58b..7b8d78c 100644 --- a/i18n/locales/en.ts +++ b/i18n/locales/en.ts @@ -212,22 +212,23 @@ Listen for the **V → I** movement. It sounds like "The End" of a sentence. ## Level 2: The Natural Minor Scale **Concept** -Welcome to the **Minor Mode**. Songs here sound sadder, more serious, or "epic". The "Home" chord is now minor (**i**). +Welcome to the **Natural Minor Scale**. Songs here often sound sadder, more serious, or can evoke an "epic" feeling. The "Home" chord is now minor (**i**). **The Chords** * **i (One)**: The new Home. Serious and stable. -* **III (Three)**: The "Relative Major". A burst of light in the darkness. +* **III (Three)**: The "Relative Major". A burst of light and hope in the minor landscape. * **iv (Four)**: Deeply sad and emotional. -* **VI (Six)**: Heroic and "epic" sounding. Think superhero movies. -* **VII (Seven)**: A strong major chord, often used in rock music. +* **v (Five minor)**: The minor dominant. It has a slightly softer, more introspective pull back to 'i' compared to a major 'V'. +* **VI (Six)**: A major chord that can feel heroic, grand, or like a "deceptive" surprise. +* **VII (Seven)**: A strong major chord, often used in rock music due to its bold sound. **Listening Tip** -Confusing **i** and **VI**? The **i** feels like rest. The **VI** feels like a surprise lift. +Listen for the quality of the 'v' chord (minor) versus what would be a 'V' chord (major). The minor 'v' creates a less urgent, more subtle resolution back to 'i'. **Song Examples** -1. **Hello** - Adele -2. **All Along the Watchtower** - Jimi Hendrix -3. **Billie Jean** - Michael Jackson +1. **Stairway to Heaven** - Led Zeppelin (verse sections often use natural minor harmony) +2. **The Sound of Silence** - Simon & Garfunkel (folk-style minor progressions) +3. **Black Sabbath** - Black Sabbath (early metal often uses natural minor) `, '3': ` ## Level 3: The Dominant 7th (V7) diff --git a/i18n/locales/es.ts b/i18n/locales/es.ts index 617ed6e..9a51882 100644 --- a/i18n/locales/es.ts +++ b/i18n/locales/es.ts @@ -214,22 +214,23 @@ Escucha el movimiento **V → I**. Suena como "El Fin" de una oración. ## Nivel 2: La Escala Menor Natural **Concepto** -Bienvenido al **Modo Menor**. Las canciones aquí suenan más tristes, serias o "épicas". El acorde de "Inicio" es ahora menor (**i**). +Bienvenido a la **Escala Menor Natural**. Las canciones aquí a menudo suenan más tristes, más serias o pueden evocar un sentimiento "épico". El acorde "Hogar" ahora es menor (**i**). **Los Acordes** -* **i (Uno)**: El nuevo Inicio. Serio y estable. -* **III (Tres)**: El "Relativo Mayor". Un rayo de luz en la oscuridad. +* **i (Uno)**: El nuevo Hogar. Serio y estable. +* **III (Tres)**: El "Relativo Mayor". Un estallido de luz y esperanza en el paisaje menor. * **iv (Cuatro)**: Profundamente triste y emocional. -* **VI (Seis)**: Heroico y "épico". Piensa en películas de superhéroes. -* **VII (Siete)**: Un acorde mayor fuerte, a menudo usado en música rock. +* **v (Cinco menor)**: El dominante menor. Tiene una atracción ligeramente más suave e introspectiva de regreso a 'i' en comparación con un 'V' mayor. +* **VI (Seis)**: Un acorde mayor que puede sentirse heroico, grandioso o como una sorpresa "engañosa". +* **VII (Siete)**: Un acorde mayor fuerte, a menudo utilizado en la música rock por su sonido audaz. -**Listening Tip** -¿Confundiendo **i** y **VI**? El **i** se siente como descanso. El **VI** se siente como una elevación sorpresa. +**Consejo de Escucha** +Escucha la cualidad del acorde 'v' (menor) en comparación con lo que sería un acorde 'V' (mayor). El 'v' menor crea una resolución menos urgente y más sutil de regreso a 'i'. **Ejemplos de Canciones** -1. **Hello** - Adele -2. **All Along the Watchtower** - Jimi Hendrix -3. **Billie Jean** - Michael Jackson +1. **Stairway to Heaven** - Led Zeppelin (las secciones del verso a menudo usan armonía menor natural) +2. **The Sound of Silence** - Simon & Garfunkel (progresiones menores de estilo folk) +3. **Black Sabbath** - Black Sabbath (el metal temprano a menudo usa menor natural) `, '3': ` ## Nivel 3: El Dominante 7 (V7) diff --git a/i18n/locales/ja.ts b/i18n/locales/ja.ts index de6b3cf..0239bcd 100644 --- a/i18n/locales/ja.ts +++ b/i18n/locales/ja.ts @@ -208,25 +208,26 @@ export const ja: TranslationSource = { 3. **I'm Yours** - Jason Mraz `, '2': ` -## レベル 2: ナチュラル・マイナースケール +## レベル2:ナチュラルマイナースケール **コンセプト** -**マイナーモード**へようこそ。ここの曲は、より悲しく、深刻で、「壮大」に聞こえます。「ホーム」のコードはマイナー (**i**) になります。 +**ナチュラルマイナースケール**へようこそ。このスケールの曲は、より悲しく、シリアスな、あるいは「壮大な」雰囲気を持つことがよくあります。ホームとなるコードはマイナー(**i**)です。 **コード** -* **i (1度)**: 新しいホーム。深刻で安定しています。 -* **III (3度)**: 「平行調のメジャー」。暗闇の中の一筋の光。 -* **iv (4度)**: 深く悲しく、感情的です。 -* **VI (6度)**: 英雄的で「壮大」です。スーパーヒーロー映画を想像してください。 -* **VII (7度)**: 強いメジャーコードで、ロック音楽でよく使われます。 +* **i (一番目)**: 新しいホーム。シリアスで安定的。 +* **III (三番目)**: 「リラティブメジャー」。マイナーの世界における一筋の光と希望。 +* **iv (四番目)**: 深く悲しく、感情的。 +* **v (五番目マイナー)**: マイナードミナント。メジャーの「V」と比較して、より穏やかで内省的な「i」への回帰感を生み出します。 +* **VI (六番目)**: 英雄的、壮大、または「偽りの」驚きを感じさせるメジャーコード。 +* **VII (七番目)**: その大胆なサウンドから、ロックミュージックで頻繁に使用される強力なメジャーコード。 -**聴き取りのヒント** -**i** と **VI** を混同していませんか? **i** は休息のように感じます。**VI** は驚きの上昇のように感じます。 +**リスニングのヒント** +「v」コード(マイナー)と「V」コード(メジャー)の響きの質に耳を傾けてみてください。マイナーの「v」は、「i」へのより穏やかで繊細な解決感を生み出します。 **曲の例** -1. **Hello** - Adele -2. **All Along the Watchtower** - Jimi Hendrix -3. **Billie Jean** - Michael Jackson +1. **天国への階段** - レッド・ツェッペリン(ヴァース部分ではナチュラルマイナーハーモニーが頻繁に使われます) +2. **サウンド・オブ・サイレンス** - サイモン&ガーファンクル(フォークスタイルのマイナー進行) +3. **ブラック・サバス** - ブラック・サバス(初期のメタルではナチュラルマイナーがよく使われます) `, '3': ` ## レベル 3: ドミナント 7th (V7) diff --git a/i18n/locales/pt.ts b/i18n/locales/pt.ts index 81cfc61..29e80cf 100644 --- a/i18n/locales/pt.ts +++ b/i18n/locales/pt.ts @@ -213,22 +213,23 @@ Ouça o movimento **V → I**. Soa como "O Fim" de uma frase. ## Nível 2: A Escala Menor Natural **Conceito** -Bem-vindo ao **Modo Menor**. As músicas aqui soam mais tristes, sérias ou "épicas". O acorde "Casa" agora é menor (**i**). +Bem-vindo à **Escala Menor Natural**. As músicas aqui muitas vezes soam mais tristes, mais sérias, ou podem evocar um sentimento "épico". O acorde "Casa" agora é menor (**i**). **Os Acordes** * **i (Um)**: A nova Casa. Sério e estável. -* **III (Três)**: O "Relativo Maior". Um raio de luz na escuridão. +* **III (Três)**: O "Relativo Maior". Uma explosão de luz e esperança na paisagem menor. * **iv (Quatro)**: Profundamente triste e emocional. -* **VI (Seis)**: Heroico e "épico". Pense em filmes de super-heróis. -* **VII (Sete)**: Um acorde maior forte, frequentemente usado em rock. +* **v (Cinco menor)**: A dominante menor. Tem uma atração ligeiramente mais suave e introspectiva de volta para 'i' em comparação com um 'V' maior. +* **VI (Seis)**: Um acorde maior que pode parecer heroico, grandioso, ou como uma surpresa "enganosa". +* **VII (Sete)**: Um acorde maior forte, frequentemente usado na música rock devido ao seu som audacioso. **Dica de Audição** -Confundindo **i** e **VI**? O **i** parece descanso. O **VI** parece uma elevação surpresa. +Ouça a qualidade do acorde 'v' (menor) em comparação com o que seria um acorde 'V' (maior). O 'v' menor cria uma resolução menos urgente e mais sutil de volta para 'i'. **Exemplos de Músicas** -1. **Hello** - Adele -2. **All Along the Watchtower** - Jimi Hendrix -3. **Billie Jean** - Michael Jackson +1. **Stairway to Heaven** - Led Zeppelin (as seções do verso frequentemente usam harmonia menor natural) +2. **The Sound of Silence** - Simon & Garfunkel (progressões menores de estilo folk) +3. **Black Sabbath** - Black Sabbath (o metal antigo frequentemente usa menor natural) `, '3': ` ## Nível 3: A Dominante 7 (V7)