Acoustic passion

Acoustic passion

Conversion numérique int-float-int : pas si simple !

On aurait pu penser (moi le premier) qu'une simple conversion int => float => int ne peut s'effectuer que d'une seule façon et sans difficulté, et bien il n'en est rien ! En effet, un int signed possède 1 valeur positive de plus que de valeur négative...

 

Il existe de nombreuses méthodes pour effectuer ces conversions ! C'est ce que j'ai découvert sur le blog de Bjorne Roche, programmeur audio. Voici un article intéressant, expliquant 4 différentes méthodes utilisées, suivi d'une analyse sur les performances de chaque méthode :

http://blog.bjornroche.com/2009_12_01_archive.html

 

En résumé voici les 4 différentes méthodes, la meilleure pour le traitement sur signal étant, d'après l'article et l'analyse réalisée par Bjorne Roche, la méthode 4 :

 

 Int to FloatFloat to Int*TransparencyUsed By
0) ((integer + .5)/(0x7FFF+.5) float*(0x7FFF+.5)-.5 Up to at least 24-bit DC DAC Modeled
1) (integer / 0x8000) float * 0x8000 Up to at least 24-bit Apple (Core Audio)1, ALSA2, MatLab2, sndlib2
2) (integer / 0x7FFF) float * 0x7FFF Up to at least 24-bit Pulse Audio2
3) (integer / 0x8000) float * 0x7FFF Non-transparent PortAudio1,2, Jack2, libsndfile1,3
4) (integer>0?integer/0x7FFF:integer/0x8000) float>0?float*0x7FFF:float*0x8000 Up to at least 24-bit At least one high end DSP and A/D/A manufacturer.2,4 XO Wave 1.0.3.
5) Uknown float*(0x7FFF+.49999) Unknown ASIO2

 

Bonne lecture !



04/06/2011
0 Poster un commentaire

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 20 autres membres