SetSoundFrequency = Pitching?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

SetSoundFrequency = Pitching?

Beitrag von Delle »

Hallo,

ich habe eine .wav-Datei mit 44.1Khz die ich gerne auf eine Pianotastatur (also 12 Buttons) legen will, sie soll also gepitcht werden.

Die erste Taste "C" wäre also dann standardmäßig 44100.

Wenn ich höhere Noten wie C#, D, D#, E usw. drücke... welche Frequenz muss ich dann eintragen?

https://www.phys.unsw.edu.au/jw/notes.html

Bin grad etwas ratlos .-(
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: SetSoundFrequency = Pitching?

Beitrag von STARGÅTE »

Welches C ist es denn? Wenn es das C2 ist, so hat es eine Frequenz von 65.406 Hz.
Nun such du dir die Zielnote und dessen Frequenz, z.B. das A2 mit 110.000 Hz und kannst so den neuen Wert für SetSoundFrequency bestimmen:

Code: Alles auswählen

SetSoundFrequency(#Sound, 44100.0/65.406*110.000, Channel)
Also Sample-Frequenz / Original-Frequenz * Ziel-Frequenz

Du kannst die Frequenzen auch sehr einfach in einem Array speichern, deren Indizes die MIDI-Nummern sind.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten