Je dois encoder un fichier wav dans un autre format de fichier (pcm). Ce format a les propriétés suivantes: 8 kHz, 16 bits.Encoder le fichier wav à pcm
Quelqu'un at-il une idée de comment faire cela en C# ou vb?
Je dois encoder un fichier wav dans un autre format de fichier (pcm). Ce format a les propriétés suivantes: 8 kHz, 16 bits.Encoder le fichier wav à pcm
Quelqu'un at-il une idée de comment faire cela en C# ou vb?
Voici les principales caractéristiques.
Je ne sais pas exactement ce que vous voulez faire. Les fichiers WAV sont (généralement) juste des wrappers autour de données pcm non compressées. Mais, que vous vouliez accéder aux données ou écrire des fichiers PCM sans en-tête RAW, vous pouvez utiliser libsndfile. J'ai trouvé du C# sample code sur les forums de ArsTechnica.
RE: Réponse
Daniel Brückner L'auteur de libsndfile a également écrit libsamplerate, ce qui peut simplifier rééchantillonnage.
Un fichier Wave non compressé contient des données PCM simples plus quelques métadonnées - vous pouvez trouver une description here sur Wotsit.org.
Si les fréquences d'échantillonnage, les résolutions et le nombre de canaux correspondent, vous pouvez supprimer les métadonnées. Si elles ne correspondent pas, vous devrez rééchantillonner le fichier Wave, mais ce n'est pas une tâche triviale, si vous voulez qu'il soit bien fait (Le downsampling nécessite un filtrage passe-bas des données afin d'éviter l'aliasing à cause du Nyquist–Shannon sampling theorem et les deux - upsampling et downsampling - nécessitent une bonne interpolation - idéalement sinc interpolation