Extraire un CD audio en Python / Java


J'ai environ 500 CD qui ont besoin de sauvegarde, ils contiennent d'anciennes sessions.

J'ai besoin d'une bibliothèque qui peut être utilisée par l'un ou l'autre (Java / Python) pour extraire ces CD

Il n'a pas besoin de prendre en charge ' nix et doit prendre en charge *Fenêtres*

Points bonus donnés pour un framework qui peut également gérer les métadonnées attachées aux pistes.

Je cherche depuis des lustres maintenant, je ne trouve rien et cette question est sur le sujet

Nous sentez vous que les meilleures questions de débordement de pile ont un peu de code source eux, mais si votre question couvre généralement tools les outils logiciels généralement utilisé par les programmeurs ... alors vous êtes au bon endroit pour poser votre question!

Modifier:

Toujours pas trouvé de bibliothèques freeware qui prennent en charge l'extraction de cd audio

Author: Jakob Bowyer, 2012-04-01

4 answers

Je ne trouve rien sur Windows qui a une API directe non plus, mais vous pourriez obtenir ce que vous voulez en recherchant "ligne de commande". J'ai trouvé des choses comme:

Que vous pouvez ensuite intégrer dans un processus java ou python qui gère le processus de conversion plus important. Vous pouvez ensuite utiliser un outil comme Mutagène pour ajouter les métadonnées audio pour vos enregistrements.

Aussi, gardez à l'esprit que si vous pouvez trouver un moyen de monter le CD audio en tant que disque de données (je ne sais pas quel est le comportement actuel de Windows, mais macOS X peut le faire, par exemple), vous pouvez simplement copier les fichiers CDA à partir du disque et utiliser une plus grande variété d'outils et de bibliothèques pour effectuer

 2
Author: Nick Bastin, 2012-04-01 20:53:57

Java a une api son http://www.oracle.com/technetwork/java/index-139508.html

Ce site a quelques bonnes ressources, exemples et code source: http://www.jsresources.org/examples / Et ceci:

Qui lisent les CD audio directement pour extraire les données sonores. Exemple utilisez le paquet javax.son.échantillonner.

Http://www.jsresources.org/examples/audio_cdda.html

 2
Author: Gurnard, 2013-11-18 12:19:01

Si je pouvais, j'aurais fait un "laissez-moi-google-que-pour-vous-lien"...

Http://www.foobar2000.org/

Foobar2000 semble faire ce que vous voulez et a un SDK. Vous pouvez utiliser des CTypes Python bien que honnêtement, je ne pense pas que vous aurez besoin de faire de la programmation pour ce que vous voulez faire.

Additif:

Option Python:

Vous voudrez peut-être également vérifier: http://code.google.com/p/quodlibet / . C'est écrit en Python et est multiplateforme avec des capacités de marquage assez puissantes (grâce à Mutagen qui est gratuit). Cependant (d'un coup d'œil superficiel), il ne semble pas prendre en charge l'extraction, mais vous pouvez utiliser un autre outil pour cela.

Option Java:

Je n'ai pas essayé atunes mais cela semble prometteur: http://www.atunes.org/?page_id=6 . Selon leur site, il existe un installateur Windows mais "Pour ripping, lame, flac ou oggenc doivent être installés."

 0
Author: Adam Gent, 2012-04-02 02:56:10

Je suis presque sûr que l'API Windows Media Player COM inclut des fonctions d'extraction. Semi-garanti pour être sur votre ordinateur Windows. Voici l'interface C++ IWMPCdromRip (MSDN)

Tiré dans la solution Python sombre serait pywin32 pour COM ajouté à l'API COM WMP - devrait vous obtenir ce que vous voulez, bien que je sois aussi curieux de savoir pourquoi vous ne voudriez pas simplement extraire en utilisant WMP (ou autre chose), puis post-traiter les fichiers résultants comme suggéré par Adam Gent. Avec 1 ou 500 + CD, Je m'attendrais à ce que le big time sink charge physiquement le média et attende qu'il se déchire, sans utiliser les boutons pour l'extraction.

Je n'ai pas trop fait avec COM sous Java ou Python (je n'utilise plus beaucoup Windows pour dev), mais il y a des années, c'était assez facile à partir de C/C++ en utilisant le port Windows gcc (donc pas d'aide de MSVS/CLR), Pascal, etc., donc je ne peux pas imaginer qu'il ne serait pas disponible en Java (et bien sûr il est là pour Python en utilisant pywin32).

 0
Author: rsandwick3, 2012-04-22 20:07:36