valeurs de hauteur OpenAL pour les notes musicales particulières dans une octave
Question
J'ai un moteur de son OpenAL sur mon application iPhone. Quand je joue un son que je l'ai chargé, je peux contrôler c'est pas.
Dans OpenAL un terrain mis à 1,0 n'a pas d'effet. Si vous double à 2.0, il joue la note 1 octave plus haut (12 demi-tons). Si vous la réduire de moitié, à 0,5, ce sera une octave inférieure (12 demi-tons).
Alors, mon échantillon d'origine joue un C. Je suppose que si je divise par 12 1 (demi-tons) je pourrais obtenir la hauteur des notes individuelles dans cette octave. Mais cela ne semble pas être le cas. Ce qui en fait, nous pensons que demi-tons ne sont pas des valeurs égales. Est-ce vrai?
Est-ce que quelqu'un sait comment je peux travailler la valeur de pas OpenAL pour les notes individuelles dans une octave?
Merci
La solution
Semitones sont des rapports égaux. Donc, si votre échantillon est C, C # sera la 12e racine de deux. Si vous comptez C = 0 demi-tons, C # = 1 etc, le rapport est pow(2.0, n*1.0/12.0)
Travaux pour les nombres négatifs aussi.
Je tiens à souligner, ce n'est pas strictement vrai dans tous les schémas d'accord ... mais c'est un bon début. Si vous tenez vraiment à toute la complexité de accordage, je peux vous trouver des références.