Wie kann man die prozentuale Tonhöhenänderung zwischen zwei Noten referenzieren oder berechnen?

Ich baue eine Arpeggiator-Software.

Also zu Beginn habe ich eine Note für ein Piano-Sample, nenne sie 'piano-base-note.mp3'.

und ich habe ein Skript, um die Tonhöhe einer MP3-Datei um einige Prozent zu erhöhen / zu verringern. Wenn der Arpeggiator startet, erstellt er die veränderten MP3-Dateien, die zum Spielen des Arpeggios benötigt werden. Das heißt, es wird die Tonhöhe ändern und neue Kopien speichern.

Im Moment definiere ich eine „Note“ als prozentualen Unterschied zur Basisnote. Das heißt, die Tonhöhe um 50 % zu verringern, wäre 0.5. Doppelte Tonhöhe ist 2.0.

Jetzt versuche ich, diesen prozentualen Ansatz zu verwenden, um tatsächliche Skalen zu erstellen, und ich bin mir nicht sicher, wie.

Gibt es eine Art Diagramm, das die prozentuale Tonhöhenänderung zwischen zwei Noten zeigt? Oder eine Formel zur Berechnung?

huygens-fokker.org/scala könnte einen Blick wert sein.
Ich wollte gerade fragen, warum Sie den prozentualen Unterschied (eine unnötige Komplikation) anstelle des Verhältnisses verwenden, aber dann sah ich, dass Sie das Verhältnis verwenden! (Die beiden von Ihnen erwähnten Verschiebungen, ausgedrückt als prozentuale Unterschiede, wären –50 % und +100 %.)
Wenn Sie Objective-C-Code lesen, sehen Sie sich diese von mir erstellte Klasse an, die genau das tut, wonach Sie fragen. Mit der Audio-Player-Klasse in der Bibliothek können Sie auch die Tonhöhe eines Samples in Echtzeit ändern. Hier: github.com/rednebmas/SBMusicUtilities/blob/master/…

Antworten (7)

Die allgemeine Antwort auf "Was ist die prozentuale Tonhöhenänderung zwischen zwei Noten" ist wahrscheinlich "Donnerstag", da das OP keinen Hinweis darauf gegeben hat, was "Note" bedeuten soll.

Wenn Sie von konventioneller westlicher Musik und gleichschwebender Stimmung sprechen, hat eine Oktave ein Frequenzverhältnis von 2:1 und wird in 12 Teile (Halbtöne) unterteilt. Tonhöhenänderungen funktionieren auf einer logarithmischen Skala, sodass ein Halbton ein Tonhöhenverhältnis von (der 12. Wurzel aus 2) : 1 hat, oder eine Erhöhung um 5,94630943592952645618252949463 % (laut Rechner in Windows 10).

Die übliche Art, die numerische Größe musikalischer Intervalle zu beschreiben, ist „Cent“ – ein Cent ist 1/100 eines Halbtons oder 1/1200 einer Oktave, gemessen auf einer logarithmischen Skala. Ein Cent ist daher ein Tonhöhenverhältnis von 0,05777895065548592967925757932 % - beachten Sie, dass dies, da es sich um eine logarithmische Skala handelt, NICHT "die Größe eines Halbtons geteilt durch 100" ist, dh 0,0594630943592952645618252949463 %.

Es gibt viele andere mögliche Stimmungssysteme - versuchen Sie es mit https://en.wikipedia.org/wiki/Musical_temperament oder googeln Sie "musikalisches Temperament".

Bei „Nur Intonation“ sind die Intervalle eines Arpeggios normalerweise ziemlich einfache Brüche wie 5/4, 4/3, 3/2, 8/5 usw.

Es gibt keinen tiefen logischen Grund, warum eine Oktave in 12 gleiche Teile geteilt werden sollte, wie in der populären westlichen Musik. Zum Beispiel verwendet "klassische" indische Musik eine Tonleiter mit 22 ungleichen Unterteilungen. Im Westen wurden auch Skalen mit anderen Zahlen gleicher Unterteilungen verwendet - zum Beispiel 19, 24, 53 oder 72 "Noten pro Oktave" anstelle von 12.

Tolle Antwort, aber es gibt einen (nicht unbedingt tiefen) logischen Grund, eine Tonleiter in gleiche Halbtöne zu unterteilen. Wenn wir nur die Intonation verwenden und um den Kreis der Quinten gehen, von C zurück zu C, landen wir leicht schief von unserem Ausgangspunkt. In der Vergangenheit wurden andere Kompromisse verwendet, wobei einige Tasten besser gestimmt klangen als andere - jede Taste hatte ihre eigene "Farbe". . . Mit dem Aufkommen des gleichschwebenden Temperaments wurde es möglich, Musik zu schreiben, die Tonartwechsel ausnutzte, z. B. das Starten in eine andere Tonart von einem dominanten 7. Akkord. (Ironischerweise klingt ein dominanter Septime-Akkord in reiner Intonation sehr sanft)

Es gibt zwei Arten von Formeln, die Sie verwenden können, um die Beziehung zwischen Noten zu finden – reine Intonation und gleiche Stimmung; Beide haben ihre Vorteile und Nachteile, auf die ich in dieser Antwort nicht näher eingehen werde, da dies außerhalb des Rahmens Ihrer Frage zu liegen scheint.

Zunächst eine allgemeine Regel, die in beiden Systemen gilt

Um eine Note eine Oktave über einer anderen Note zu finden, multiplizieren Sie ihre Nummer mit 2. Um eine Note eine Oktave unter einer anderen Note zu finden, teilen Sie ihre Nummer durch 2.

Nur Intonation

Bei reiner Intonation ist die Zahl, mit der Sie eine Tonhöhe multiplizieren, ein Verhältnis zwischen zwei ganzen Zahlen – Sie haben in Ihrer Frage zwei Beispiele angegeben: 1/2 (oder 0,5) und 2/1 (oder 2,0).

Hier sind die Brüche, mit denen Sie Ihre Basisnote multiplizieren sollten, um die Noten der Dur-Tonleiter in reiner Intonation zu erhalten:

Tonikum/1.: 1

2.: 9/8

3.: 5/4

4.: 4/3

5.: 3/2

6.: 5/3

7.: 15/8

Und hier sind die Brüche für die Noten der Moll-Tonleiter:

Tonikum/1.: 1

2.: 9/8

3.: 6/5

4.: 4/3

5.: 3/2

6.: 8/5

7.: 9/5

Gleichschwebendes Temperament

Die Oktave ist in 12 Halbtöne unterteilt. Bei gleicher Stimmung hat jeder der Halbtöne genau die gleiche Größe – die zwölfte Wurzel von zwei. So entspricht 1 Halbton nach oben dem 1-fachen der zwölften Wurzel aus zwei, 2 Halbtöne nach oben dem 2-fachen der zwölften Wurzel aus zwei und so weiter. Hier sind die dezimalen Annäherungen für die gleich temperierten Intervalle der Tonleiter.

1 Halbton/kleine Sekunde: 1.059463

2 Halbtöne/große Sekunde: 1,122462

3 Halbtöne/kleine Terz: 1.189207

4 Halbtöne/große Terz: 1,259921

5 Halbtöne/perfekte Quarte: 1,334840

6 Halbtöne/Tritonus: 1.414214

7 Halbtöne/perfekte Quinte: 1,498307

8 Halbtöne/kleine Sexte: 1,587401

9 Halbtöne/große Sexte: 1,681793

10 Halbtöne/Moll-Septakkorde: 1,781797

11 Halbtöne/große Septime: 1,887749

12 Halbtöne/Oktave: 2.0

Welches System sollten Sie also verwenden?

Die Intervalle der reinen Intonation haben einen reineren Klang. Allerdings funktioniert es nur in einer Tonart. Wenn Sie die Verhältnisse für C-Dur in reiner Stimmung einstellen und dann eine D-Dur-Tonleiter oder ein Arpeggio spielen, wird es falsch klingen. Da Sie ein Programm erstellen, gehe ich davon aus, dass es in allen Tonarten funktionieren soll, also würde ich sagen, dass die gleiche Stimmung die richtige Formel für den Job ist. Außerdem haben Sie erwähnt, dass Sie ein Piano-Sample verwenden. Klaviere sind in gleichschwebender Stimmung gestimmt, daher klingt es wahrscheinlich wahrer wie ein echter Klavierklang, wenn Sie gleichschwebende Stimmung verwenden.

Eigentlich sind Klaviere nicht auf gleiches Temperament gestimmt (google "Stretched Tuning") - aber wenn das OP nur mit EINEM Piano-Sample arbeitet, ist das sowieso irrelevant.
Sind bei gestreckter Stimmung die Schritte nicht gleich?
Gestreckte Stimmung ist etwas in der Nähe einer perfekten Quinte, die über 7 Schritte gleichmäßig temperiert ist, also pow ((3/2), (n / 7)), anstatt eine Oktave, die gleichmäßig in 12 Noten aufgeteilt ist. Soweit ich weiß, erwartet Steinway, dass seine Klaviere so gestimmt sind. In Wirklichkeit variiert es je nach Klavier und Register, da die Obertöne einer angeschlagenen Klaviersaite breiter sind als die Obertöne einer idealen Saite und sich je nach den individuellen Eigenschaften jeder Saite ändern (lesen Sie mehr über dieses Phänomen unter en.m. wikipedia.org/wiki/Inharmonicity ).

Ihre Formel im Excel-Stil lautet pow (2, (n / 12)), wobei n n halbe Schritte über der ursprünglichen Tonhöhe liegt.

Verwenden Sie für eine Dur-Tonleiter die Noten 0 2 4 5 7 9 11 und 12.

Dadurch erhalten Sie eine gleichschwebend temperierte Dur-Tonleiter in mp3-Form.

Andere Antworten gehen ziemlich tief in die Tiefe, aber ich habe festgestellt, dass ich für schnelle Berechnungen auf der Rückseite des Umschlags 6% als Halbschritt verwende - multipliziere oder dividiere durch 1,06 -, da dies ungefähr gleich ist 12. Wurzel von 2. Es ist eine anständige Annäherung an 12-TET, wenn Sie sich nicht um die Intonation kümmern und nur schätzen möchten, sagen wir, wie viel kleiner Ihre Gitarrenbünde höher am Hals sein müssen oder so. Wenn ich eine genaue Antwort brauche, würde ich das natürlich nie tun, aber nur für Gedankenexperimente, bei denen ich eine grobe Vermutung brauche, zitiere ich 6%.

6 % ist eine überraschend gute Näherung (0,9 Cent Fehler), aber wenn sich die Fehler summieren, gibt es keinen Grund, in einem Computerprogramm nicht die volle Genauigkeit zu verwenden. Bemerkenswerterweise wurde im Instrumentenbau historisch die "Regel von 18" verwendet, so dass der erste Bund bei 17/18 Länge der Instrumentenskala lag (1,0 Cent Fehler).

Mit dem hochpräzisen Rechner von SpeedCrunch für Linux … fühlt es sich an wie Bitcoin-Mining, wenn die letzte Zahl am Ende mit einer perfekten Reihe von Nullen aufreiht ….

In 64-Bit-Gleitkomma:


1
= 1.00000000000000000000000000000000000000000000000000

ans*2^(1/12)
= 1.05946309435929526456182529494634170077920431749419

ans*2^(1/12)
= 1.12246204830937298143353304967917951623241111061399

ans*2^(1/12)
= 1.18920711500272106671749997056047591529297209246382

ans*2^(1/12)
= 1.25992104989487316476721060727822835057025146470151

ans*2^(1/12)
= 1.33483985417003436483083188118445277491239021262520

ans*2^(1/12)
= 1.41421356237309504880168872420969807856967187537695

ans*2^(1/12)
= 1.49830707687668149879928073202979579630215155373175

ans*2^(1/12)
= 1.58740105196819947475170563927230826039149332789985

ans*2^(1/12)
= 1.68179283050742908606225095246642979008006852471357

ans*2^(1/12)
= 1.78179743628067860948045241118102501597442523175632

ans*2^(1/12)
= 1.88774862536338699328382631333506875201513660667749

ans*2^(1/12)
= 2.00000000000000000000000000000000000000000000000000

@ user19146 es hört sich so an, als ob Sie sich auf die pythagorische Stimmung beziehen, die zwar ziemlich cool und mathematisch elegant ist und einfache Brüche verwendet, aber nicht so funky ist wie das Protokoll von 1/12. Es war nah, aber nicht ganz.

Ist es notwendig, dass die Noten des Arpeggios Noten der Tonleiter sind? Sie könnten erwägen, sie gleichmäßig zu verteilen (in absoluten Frequenzen und nicht in Logarithmen), so dass jeder ein Vielfaches (innerhalb der Toleranz der Temperatur) derselben Grundfrequenz ist. Also: Angenommen, Sie gehen von freq0 zu freq1 mit N-1 Zwischenschritten, die j-te Note eines solchen Arpeggios ist freq0+j*(freq1-freq0)/N.

(Wenn das ideale Verhältnis zwischen den Extremfrequenzen p:q ist, z. B. 5:8 für eine kleine Sexte, sollte N ein Vielfaches von |pq| sein.)

Ich weiß, das ist alt, aber ich habe mich das gleiche gefragt. Nach einigen Recherchen und Berechnungen für mich selbst lautet die Antwort, nach der das OP meiner Meinung nach gesucht hat, wie folgt: Bei einer gleichtemperierten Tonleiter mit 12 Noten pro Oktave ist jede Note oder jeder Halbton 5,946309436% "höher" in der Frequenz als die vorherige Anmerkung. Wenn Sie also ein Piano-Sample in „A“ haben und das Sample mit 1,0596309436-facher Wiedergabegeschwindigkeit abspielen, wird es als A#/Bb wiedergegeben. Für B erhöhen Sie die Wiedergabegeschwindigkeit des A#/Bb-Samples um weitere 5,963...% (was ungefähr der 1,1225-fachen Wiedergabegeschwindigkeit des Original-Samples entspricht). Beim Abwärtsgehen der Tonleiter sollte jede Note (Halbton) 5,612568731 % tiefer/langsamer als die vorherige Note gespielt werden (oder etwa 0,9439-fache Wiedergabegeschwindigkeit).

Hier ist ein einfaches Teildiagramm, das die Wiedergabegeschwindigkeit und die resultierende Frequenz einiger Noten angibt, wenn Sie ein A-Sample mit normaler Geschwindigkeit (440 Hz) verwenden:

F#Gb- 0,8409 x 369,99 Hz (5,61 % langsamer als G)

G------ 0,8909 x 392,00 Hz (5,61 % langsamer als G#/Ab)

G#Ab- 0,9439 x 415,30 Hz (5,61 % langsamer als A)

A------ 1.0000x 440.00Hz

A # Bb- 1,0595 x 466,16 Hz (5,95 % schneller als A)

B------ 1,1225 x 493,88 Hz (5,95 % schneller als A#Bb)

C ------ 1,1892 x 523,25 Hz (5,95 % schneller als B)

C#Db – 1,2599 x 554,37 Hz (5,95 % schneller als C)

Fahren Sie einfach auf die gleiche Weise in beiden Richtungen für jede andere Note fort, die Sie basierend auf dem Original-Sample wiedergeben möchten.

Ich würde die Berechnungsformel für die magischen 5,6...% (12. Wurzel aus 2 minus 1) hinzufügen und empfehlen, langsamer durch niedriger und schneller durch höher zu ersetzen, denn wenn schon von Frequenzen gesprochen wird, ist langsamer/schneller irreführender als hilfreich.