Ich schreibe Software, die Noten zwischen Tasten transponiert, und ich bin noch neu in der Musiktheorie. Ich hatte gehofft, dass jemand, der mehr weiß, mich wissen lässt, ob mein Ansatz korrekt ist. Hier ist mein Prozess für jede Note:
- Ermitteln Sie den Grad des Buchstabennamens der Notiz in der Skala der aktuellen Tonart.
- Ermitteln Sie die Anzahl der Halbtöne, von denen die Note angehoben oder abgesenkt wird die eigentliche Note in der Skala. Ich nenne dies den Versatz.
- Finden Sie die Note in der Skala der neuen Tonart, die den gleichen Grad hat.
- Erhöhen oder senken Sie die neue Note um den Versatz. ol>
- E # wäre der dritte Grad der Skala.
- Der Versatz wäre +1, da E tatsächlich der dritte Grad von ist Die C-Dur-Tonleiter und E # ist ein Halbton darüber.
- Der dritte Grad der D-Dur-Tonleiter ist F #, das ist also die neue Note.
- Fügen Sie dazu unseren +1-Offset hinzu würde es F ## machen. ol>
- Finden Sie den Abstand zwischen dem Buchstabennamen des aktuellen Schlüssels und dem Buchstabennamen des neuen Schlüssels in der Liste aller Buchstaben (ohne scharfe oder flache Stellen): A, B, C, D, E, F, G.
- Ermitteln Sie den Abstand in Halbtönen zwischen der aktuellen und der neuen Taste.
- Der Buchstabe der neuen Note entspricht der Buchstabenentfernung (Schritt 1) über der aktuellen Note.
- Hinzufügen Schärfen oder Abflachen des Buchstabens der neuen Note, bis die richtige Anzahl von Halbtönen (aus Schritt 2) über der aktuellen Note erreicht ist. ol>
- D ist 1 Buchstabe über C
- D ist 2 Halbtöne über C
- Der neue Buchstabe ist 1 Buchstabe über E #, was F ist li> Die neue Notiz wird 2 Halbtöne über E # sein, was F ## ol>
Hier ist ein Beispiel. Angenommen, wir transponieren die Note E # von C-Dur nach D-Dur. Dann würden wir die obigen Schritte wie folgt ausführen:
Also ist F ## das Ergebnis der Transponierung von E # von C-Dur nach D-Dur. Mir ist klar, dass Sie normalerweise kein E # in der Tonart C-Dur haben würden, aber ich denke, es ist möglich und es funktioniert, um den Algorithmus zu erklären.
Ist dieser Algorithmus korrekt? Sollte ich dies anders angehen?
Eine zweite Frage: Ist es erforderlich, den Modus der Schlüssel zu kennen, wenn diese Art von Algorithmus ausgeführt wird? Die Ergebnisse scheinen gleich zu sein, unabhängig davon, ob ich für die Grad- / Offset-Berechnungen Dur- oder Moll-Skalen verwende. Vielen Dank im Voraus!
Update: Lösung
Es klingt so, als ob der obige Algorithmus korrekt ist, kann aber vereinfacht werden. Das Puzzleteil, das mir fehlte, war, dass Sie das Intervall bestimmen können, ohne sich auf die Skala zu beziehen. Hier ist der aktualisierte Algorithmus. Die Schritte 1 und 2 ermitteln das Intervall zwischen dem aktuellen und dem neuen Schlüssel. Die Schritte 3 und 4 wenden dasselbe Intervall auf die Note an, die wir transponieren.
Wiederholen Sie das ursprüngliche Beispiel, das wir haben:
ist. Vielen Dank an alle, die geantwortet haben, insbesondere an @MattL und @Dom. Alle Antworten und Kommentare waren sehr aufschlussreich!