Ik ben bezig met een stukje audio code in Java waarbij ik frequencies moet genereren door de sample rate van bijvoorbeeld een square wave te veranderen.
Nu heb ik bijvoorbeeld de mogelijkheid om freq 440hz af te spelen welke op 16.000hz is gesampled. Als ik het goed zeg heb ik bij sample 8.000hz een freq 220hz en bij sample 32.000hz een freq van 880 hz. Echter zit er een vergrotende stap tussen de noten dus kun je niet steeds dezelfde waarde er tussen zetten. Dit zie je duidelijk want tussen 220hz en 440 hz zit een verschil van 8.000hz en tussen 440 hz en 880 hz zit 16.000 hz.
Nu zag ik dat je de juiste tussen stappen krijgt door gebruik van log2.
Hier de uitleg over de frequencies van de noten die ik dus wel kunnen vertalen tegen over de sample rate:
Wikipedia: Piano key frequencies
Log2:
Wikipedia: Binary logarithm
En ja, ik had meer wiskunde mogen doen op school. Met basis wiskunde raak je bij programmeren snel in de knoei
Nu heb ik bijvoorbeeld de mogelijkheid om freq 440hz af te spelen welke op 16.000hz is gesampled. Als ik het goed zeg heb ik bij sample 8.000hz een freq 220hz en bij sample 32.000hz een freq van 880 hz. Echter zit er een vergrotende stap tussen de noten dus kun je niet steeds dezelfde waarde er tussen zetten. Dit zie je duidelijk want tussen 220hz en 440 hz zit een verschil van 8.000hz en tussen 440 hz en 880 hz zit 16.000 hz.
Nu zag ik dat je de juiste tussen stappen krijgt door gebruik van log2.
Hier de uitleg over de frequencies van de noten die ik dus wel kunnen vertalen tegen over de sample rate:
Wikipedia: Piano key frequencies
Log2:
Wikipedia: Binary logarithm
En ja, ik had meer wiskunde mogen doen op school. Met basis wiskunde raak je bij programmeren snel in de knoei
GTA VI - All aboard the hype train!!