2010-02-26 17 views
1

Je fais un jeu Iphone, nous devons utiliser un format compressé pour le son, et nous voulons être en mesure de boucler SEAMLESSLY à un échantillon spécifique dans le fichier audio (donc il y a une intro, puis il boucle à un offset)Comment utiliser afconvert pour convertir du wav en aac caf SANS RESAMPLING

actuellement LE SEUL processus d'exportation que j'ai trouvé qui permettra la mise en boucle transparente (signale les bons numéros de trame d'amorçage et de remplissage, pas de clic lors de la boucle ect) utilise afconvert de apple en format aac dans un fichier caf. Mais quand nous essayons de coder à des débits binaires plus bas, le son est automatiquement rééchantillonné! nous ne voulons PAS que le son soit échantillonné, tous les autres encodeurs que j'ai rencontrés ont une option pour régler la fréquence d'échantillonnage de sortie, mais je ne la trouve pas pour celle-ci. Sur une autre note, si quelqu'un a eu de la chance avec la mise en boucle transparente d'un format de fichier compressé en utilisant des files d'attente audio, faites le moi savoir.

Je travaille actuellement au large des informations à l'adresse:

http://developer.apple.com/mac/library/qa/qa2009/qa1636.html

Notez que cela ne fonctionne PARFAITEMENT quand je suis parti le débit de l'encodage à défaut (~ 128kbs) mais quand je l'ai mis à 32kbps - avec l'option -b - il a rééchantillonné, et les clics en boucle maintenant.

Répondre

1

Il doit être d'au moins 48kbps. 32kbps va sous-échantillonner à un taux d'échantillonnage inférieur.

+0

Je pense que vous confondez la fréquence d'échantillonnage (valeurs typiques: 32 kHz, 44,1 kHz, 48 kHz) avec le débit binaire (valeurs typiques: 128 kbps, 160 kbps, 192 kbps). –

0

Je pense que vous confondez la fréquence d'échantillonnage (valeurs typiques: 32 kHz, 44,1 kHz, 48 kHz) et le débit binaire (valeurs typiques: 128 kbps, 160 kbps, 192 kbps).

Pour un débit binaire, 32 kbps est extrêmement faible. Le son sera de mauvaise qualité à ce débit binaire. Vous avez probablement prévu de régler la fréquence d'échantillonnage à 32 kHz, ce qui n'est pas tout à fait typique, mais cela a plus de sens. Lorsque vous compressez en AAC et que vous décompressez en WAV, vous n'obtenez pas le même fichier audio, car dans AAC, les données audio sont représentées dans un format complètement différent de celui de l'onde brute. Par exemple. vous pouvez avoir des décalages de quelques microsecondes, qui sont nécessaires pour convertir au format compressé. Vous ne pouvez pas complètement contourner cela avec un format hautement compressé.

Le déclic résulte du changement soudain entre deux échantillons joués en succession directe. Cela est probablement dû au fait que le décalage auquel vous revenez dans votre boucle ne se trouve pas exactement au même endroit dans le fichier AAC que dans le fichier WAV (comme expliqué ci-dessus, il peut y avoir des décalages de microsecondes).

Vous ne contournerez pas ces légers changements lors de la compression. Au lieu de cela, vous devez les compenser après la compression en ajustant le décalage. Cela signifie que vous devez ouvrir le fichier audio compressé dans un éditeur audio, par ex. Audacity, et recherchez manuellement un autre décalage proche de celui d'origine, ce qui convient à la mise en boucle.

Comment trouver un décalage adapté au bouclage?

Effectuez un zoom avant sur la fin de la forme d'onde. Regardez comment la forme d'onde a l'air là. Zoomez ensuite sur la forme d'onde au décalage d'origine et recherchez dans son voisinage un décalage auquel la forme d'onde se connecte de manière transparente à la fin de la forme d'onde.

Pour un exemple à quoi ressemble ce shoud, ouvrez le fichier audio non compressé dans l'éditeur audio et examinez la fin de la forme d'onde et le décalage à cet endroit.