J'ai commencé à utiliser le son pour la synthèse audio, je ne sais pas pourquoi j'obtiens ces bruits de clics bruyants dans les sons?Comment générer une onde sinusoïdale dans AS3 sans clics?
Mes boucles est:
for(i in 0...2048)
{
var phase:Float = position/44100.0 * Math.PI * 2;
position+=1;
sample = Math.sin(phase * v); // where v varies between 200 to 400
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
Toute idée?
EDIT
Ce que je dois faire est de fréquence interpoler dans la boucle:
var phaserad:Float= 2*Math.PI/44100;
var delta:Float = current_v - new_v;
var p:Int= 2048;
for(i in 0...2048)
{
p--;
v = new_v + delta * (p/2048); // v will interpolate from current_v to new_v
position += v * phaserad;
sample = Math.sin(position);
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
current_v = new_v;
mais, je ne pouvais rien entendre, j'ai essayé une autre approche:
var delta:Float = current_v - new_v;
var p:Int= 2048;
for(i in 0...2048)
{
var phase:Float = position/44100.0 * Math.PI * 2;
position+=1;
p--;
v = new_v + delta * (p/2048); // v will interpolate from current_v to new_v
sample = Math.sin(phase * v); // where v varies between 200 to 400
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
mais, la fréquence va continuer à augmenter, et il ne s'arrêtera pas à new_v
Changez-vous soit 'position' ou' v' entre l'appel de ces boucles? En outre, si vous augmentez la portée à 8192, cela diminuera-t-il le nombre de clics? – Vesper
J'ai besoin d'avoir la portée au minimum pour que mon application reste réactive – simo
Veuillez voir EDIT au dessus de – simo