2008-10-08 30 views
6

Nous travaillons sur un projet qui nécessite l'extraction de pistes audio de CD vers des fichiers MP3 (idéalement en récupérant également les informations de pistes de CDDB ou similaire).Extraction d'un CD en mp3 en C# - composant tiers ou API là-bas?

Plus d'informations: Diverses étiquettes de musique nous envoient des CD de musique que nous livrons ensuite aux gens via un système de livraison en ligne. Nous cherchons à automatiser le processus de conversion de ces CD en MP3 avec des informations complètes sur la piste lorsque cela est possible. Nous voulons produire une application de bureau simple qui permet à un membre de la rédaction de configurer les informations sur la nouvelle musique que nous recevons. Pour rationaliser le processus, nous aimerions inclure l'extraction de l'audio et la récupération des informations sur la piste.

Répondre

0

Je ne sais pas comment ripper le CD.

Une fois que vous avez les données audio extraites, vous pouvez l'encoder en utilisant LAME

+0

L'encodage n'est pas vraiment le problème tant nous le faisons déjà - c'est le processus d'extraction. Mais merci pour les commentaires :) –

8

Vous pouvez faire tout cela grâce à l'accès à la bibliothèque de Windows Media Player via COM Interop (l'interface IWMPCdromRip couvre l'extraction de CD, par exemple) . Ce n'est pas joli et ne semble pas très contrôlable (vous lui donnez une liste de pistes à déchirer, lui dire de déchirer, il les déchire et les met dans la bibliothèque WMP - que vous pouvez ensuite automatiser et extraire les pistes de) mais cela fonctionnerait de bout en bout, y compris l'interrogation des données de piste et des pochettes d'album. Jetez un oeil à http://msdn.microsoft.com/en-us/library/bb262437(VS.85).aspx pour commencer. Un rapide Google a également trouvé une référence à un article CodeProject où les auteurs ont créé une bibliothèque d'extraction de CD par interop dans les API IOCTL de bas niveau, en interagissant directement avec le lecteur de CD. Cela pourrait être un bon point de départ pour construire votre propre - trouver cela au http://www.codeproject.com/KB/cs/csharpripper.aspx.

Le même auteur a mis en place un encodeur C# utilisant LAME, bien que vous puissiez simplement chaîner dans LAME.EXE, ce qui pourrait être plus simple. Voir http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx.

Interrogation CDDB (ou FreeDB plus probable) est pas sorcier, il est une interface HTTP simple ish (bien que, curieusement pas de service Web que je pouvais trouver). Facile à faire avec un WebRequest.

Vous penseriez que quelqu'un aurait mis en place une simple bibliothèque C# pour cela maintenant, mais cela semble être une demande rare. Peut-être le temps pour un projet parallèle ...

+0

Alors que les trucs CDDB/FREEDB sont simples, s'ils obtiennent des disques des artistes pour une révision, ils ne sont probablement pas encore dans les bases de données. –

0

Pour voir comment accéder à freedb Find the CD, il montre également comment obtenir au TOC et construire une empreinte digitale pour le disque. Quant à la meilleure façon de travailler avec des CD directement - qui sait! Microsoft a fait tellement de faux départs en créant une sorte d'API multimédia que c'est un désordre complet - Vous pouvez utiliser le pilote IOCTL, directx, MCI ou une nouvelle API de gravure de DVD. Personnellement, j'utilise le MCI - son ancien, mais fonctionne avec presque tout et fait ce que je veux faire. J'utilise aussi LAME comme compresseur et ça marche aussi bien.

0

Peut-être que peu de gens savent que l'auteur de l'utilisation mondiale www.exactaudiocopy.de accorde une licence de son logiciel aux développeurs. Il prétend que son logiciel est capable de créer toujours la même copie alors que d'autres bibliothèques sont moins précises. Il existe des licences de développeur et des licences de redistribution. Ils ne sont pas bon marché mais quand vous voulez avoir le meilleur, il est un choix absolu.

+0

Bienvenue sur SO! Votre réponse semble un peu trop comme une publicité à mon avis. La question n'était pas de savoir quel logiciel d'extraction fait le travail le plus exact.Cependant, comme l'utilisateur demandait des éléments tiers, votre réponse fournit une partie de ce que l'utilisateur demandait. – DWright