2011-04-02 1 views

Répondre

8

Vous écrivez les mêmes échantillons plus d'une fois dans le tampon de sortie.

function downOctave(bytes:ByteArray):ByteArray 
     { 
      var returnBytes:ByteArray = new ByteArray(); 
      bytes.position = 0; 
      while(bytes.bytesAvailable > 0) 
      { 
       returnBytes.writeFloat(bytes.readFloat()); 
       returnBytes.writeFloat(bytes.readFloat()); 
       bytes.position -= 8; 
       returnBytes.writeFloat(bytes.readFloat()); 
       returnBytes.writeFloat(bytes.readFloat()); 

      } 
      return returnBytes; 
     } 

Ce pitch-shifting est très simple et rapide et adapté à une utilisation en temps réel en flash, mais cela ne change la vitesse à laquelle le son est en cours de lecture. Pour le pitch-shifting qui ne change pas la durée, vous devez utiliser l'approche basée sur Fourier Transfom. Like this guy did here.

+0

C'est exactement ce dont j'avais besoin, je ne vous remercierai jamais assez! – DLiKS