Question

Cette question a été dans mon esprit depuis quelques années et je ne fait trouvé la réponse pour cela.

Ce que je voudrais faire est extrait la forme d'onde / PCM réelle d'un fichier MP3, pour que je puisse jouer à l'aide de la carte son (bien sûr).

Idéalement j'expérimentera des effets DSP.

Ma première étape a consisté à examiner BOITEUX, mais je ne trouve rien de pertinent au sujet de décodage MP3 dans un programme ou des trucs comme ça.

Je demande donc où je pourrais trouver quelque chose comme ça.

Quelle langue dois-je utiliser? Je pensais C, mais peut-être il y a des langages de programmation là-bas qui ferait le travail plus efficacement.

Merci!

Guillaume.

Était-ce utile?

La solution

La question se résume à: qu'est-ce que vous essayez d'accomplir

De la description de votre question de décodage d'un MP3 et de jouer sur la carte son fait il semble que si vous essayez de faire un lecteur multimédia.

Toutefois, si votre intention est de jouer avec des effets DSP, il semble que la question est plus sur le traitement du son plutôt que le décodage MP3. si tel est le cas, probablement à la recherche dans les plug-ins d'écriture pour existants lecteurs multimédias (tels que Windows Media Player et Winamp ) serait plus facile à ce chemin que vous êtes essayez d'accomplir.

Franchement, apprendre à écrire votre propre décodeur à partir de zéro est pas seulement un problème de programmation, mais une mathématique, donc en utilisant les bibliothèques existantes sont la voie à suivre. Parler au système d'exploitation ou les bibliothèques comme DirectSound à l'audio de sortie semble que le travail inutile si quoi que ce soit. Je pense que le travail sur les plug-ins pour les joueurs existants serait le chemin à parcourir, à moins que votre objectif est de faire votre propre lecteur multimédia.

Si ce que vous voulez vraiment accomplir joue avec des données audio, puis décoder probablement un fichier MP3 à PCM non compressé en utilisant un décodeur MP3, puis la manipulation dans la langue de votre choix devrait atteindre votre objectif de traiter les effets avec le son.

Le choix de la langue va dépendre du fait que vous allez interagir directement avec les bibliothèques de décodage MP3, ou si vous pouvez simplement utiliser l'entrée audio brut, qui vous permettra d'utiliser à peu près toutes les langues de votre choix.

Il y avait une question similaire un certain temps, Mise en route avec audio programmatique, où je posté une réponse sur quelques méthodes de base pour manipuler audio, telles que l'amplification, en changeant la vitesse de lecture, et de faire un travail avec FFT.

Autres conseils

libmpg123 devrait faire l'affaire.

J'utilise le SDK Windows Media, et non à cette fin, mais je suis sûr qu'il ya des crochets laissez qui vous permettent d'intercepter le flux audio, ou convertir MP4 en WAV non compressé. Je C ++.

Lots:

http://www.mp3-tech.org/programmer/decoding.html

Choisissez votre poison ...

En outre, des fichiers MP3 BOITEUX exerce ses decode (vérifier l'option --decode), de sorte que vous pourriez trouver quelque chose d'intéressant dans cette source.

-Adam

Cela dépend vraiment de quelle plate-forme vous programmez et ce que vous voulez faire avec le code. Si vous êtes sous Windows, vous devriez regarder le format des médias sdk ou DirectShow . Ils devraient tous deux avoir la capacité de décoder les fichiers mp3 dans la forme d'onde brute. Sur le Mac, je me attends Quicktime d'avoir cette même capacité. D'autres ont déjà suggéré la source pour le code source Linux / open.

Je recommande regarder Cubase et Wavelab que les deux convertira MP3 en WAV etc et vous permettent de jouer avec la forme d'onde

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top