2010-02-09 15 views
6

Ho un motore audio OpenAl sulla mia app per iPhone. Quando suono un suono che ho caricato, posso controllarlo.Valori di tonalità OpenAl per note musicali particolari in un'ottava

In OpenAl un pitch impostato su 1.0 non ha alcun effetto. Se lo si raddoppia a 2.0, suona la nota 1 ottava più in alto (12 semitoni). Se lo dimezzi a 0,5, sarà un'ottava più bassa (12 semitoni).

Quindi, il mio campione originale sta riproducendo un C. Suppongo che se divido 1 per 12 (semitoni) potrei ottenere il tono per le singole note in quell'ottava. Ma questo non sembra essere il caso. Il che fa pensare che i semitoni non siano valori uguali. È vero?

Qualcuno sa come posso calcolare il valore del pitch aperto per le singole note in un'ottava?

ringraziarvi

risposta

11

semitoni uguali rapporti. Quindi, se il campione è C, C# sarà la dodicesima radice di due. Se contate semitoni C = 0, C# = 1 ecc., Il rapporto è pow(2.0, n*1.0/12.0)

Funziona anche con numeri negativi.

Devo notare, questo non è strettamente vero in ogni schema di sintonia ... ma questo è un buon inizio. Se ti preoccupi veramente delle complesse complessità della sintonizzazione musicale, posso trovarti dei riferimenti.

+1

Grazie Andrew! questo è perfetto! ... esattamente quello che stavo cercando! E sì i riferimenti sarebbero grandiosi. In particolare la relazione tra altezza e lunghezza del campione. Grazie ancora. – Jonathan

+0

Oh, beh, la lunghezza si accorcia sempre dello stesso rapporto. Troverò una buona introduzione alle scale e alla messa a punto. –

+1

http://en.wikipedia.org/wiki/Mathematics_of_musical_scales e http://en.wikipedia.org/wiki/Equal_temperament ti porteranno nel folto degli articoli di Wikipedia su questo argomento. Diventa molto complicato dopo un po ', ma è anche molto importante per la musica pratica, specialmente se stai lavorando con strumenti a corda o a fiato. –

Problemi correlati