mp3 bei stille automatisch schneiden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
albertus
User
Beiträge: 52
Registriert: Mittwoch 7. Juli 2010, 14:48

Guten Morgen,

im Betreff steht mein Problem, übertragen auf 5000 Files wird daraus ein großes. Für das ich ein Python Skript schreiben möchte. Dafür brauche ich aber ein Python Paket das MP3 bearbeiten kann. Dieses sollte eine Methode bitten, mit der ich die "Stille" finden kann, und eine mit der ich die Datei teilen kann. Den ganzen Rest würde dann ich programmieren. Gibt es so ein Paket? Oder sollte ich den Plan unter nicht möglich abhaken?

Mit freundlichen Grüßen

Albertus
Mit freundlichen Grüßen

Albertus
BlackJack

@albertus: Als Lösung für dir Kommandozeile ginge vielleicht mp3splt. Das könnte man von Python aus mit dem `subprocess`-Modul aufrufen. Da die Funktionalität für die verschiedenen Frontends wohl in der `libmp3splt` steckt, könnte man vielleicht auch mit `ctypes` einen Python-Wrapper dafür schreiben.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

albertus hat geschrieben:Gibt es so ein Paket?
Es gibt findsilence, wobei beachtet werden muss, dass nur *.wav Dateien unterstützt werden und vor Benutzung des Paketes ggf. in eine *.wav Datei umgewandelt werden muss (siehe "NOTES" in der README.
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Die Konvertiererei ist der Qualität der Aufnahmen aber nicht besonders zuträglich. IMO ist das Konvertieren nach wav und zurück nach mp3 keine tragfähige Lösung.
albertus
User
Beiträge: 52
Registriert: Mittwoch 7. Juli 2010, 14:48

BlackJack hat geschrieben:@albertus: Als Lösung für dir Kommandozeile ginge vielleicht mp3splt. Das könnte man von Python aus mit dem `subprocess`-Modul aufrufen. Da die Funktionalität für die verschiedenen Frontends wohl in der `libmp3splt` steckt, könnte man vielleicht auch mit `ctypes` einen Python-Wrapper dafür schreiben.
Hallo BlackJack,

ich habe gerade mp3splt übersetzt und installiert. Die Bibliothek libmp3splt.so lest sich mit ctypes nicht laden und da ich mich mit ctypes nicht auskennen kann ich diesen Weg nicht weiterverfolgen. Bleibt noch subprocess das werde ich als nächstes ausprobieren.

Bis dann

Albert
Mit freundlichen Grüßen

Albertus
albertus
User
Beiträge: 52
Registriert: Mittwoch 7. Juli 2010, 14:48

derdon hat geschrieben:
albertus hat geschrieben:Gibt es so ein Paket?
Es gibt findsilence, wobei beachtet werden muss, dass nur *.wav Dateien unterstützt werden und vor Benutzung des Paketes ggf. in eine *.wav Datei umgewandelt werden muss (siehe "NOTES" in der README.
Hallo derdon,

wie du schon geschrieben hattest muss die mp3 erst in *.wav umgewandelt werden dafür könnte man lame gebrauchen. Lame könnte man wiederum mit subproces aufrufen. Da kann ich dann auch gleich bei mp3splt bleiben.
Mit freundlichen Grüßen

Albertus
BlackJack

@albertus: Die Bibliothek sollte sich zwar mit `ctypes` laden lassen, aber man muss für den Weg Ahnung von C-Programmierung, dem `ctypes`-Modul, und natürlich von der API der Bibliothek haben, die man damit „wrappen“ möchte. Da ist das Aufrufen des Kommandozeilenprogramms über `subprocess` der einfachere Weg.

Umwandeln eines MP3 in WAV müsste mit Python auch ohne ``lame`` gehen. Es gibt eine Anbindung an die ``libmad`` und in der Standardbibliothek ein Modul zum lesen und schreiben von WAV-Dateien. Da bleibt dann aber immer noch das Problem mit dem schneiden von MP3s.
Benutzeravatar
snafu
User
Beiträge: 6744
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

albertus hat geschrieben:ich habe gerade mp3splt übersetzt und installiert. Die Bibliothek libmp3splt.so lest sich mit ctypes nicht laden [...]
Die endet ja auch (zumindest bei mir) auf `.so.0`. Du kannst dir sowas übrigens plattformübergreifend wie folgt anzeigen lassen:

Code: Alles auswählen

from ctypes.util import find_library
find_library('mp3splt')
Das Ergebnis lädst du anschließend mittels `ctypes.CDLL()` zur weiteren "Bearbeitung".

Und naja, sofern es kein fertiges Paket für deinen Anwendungsfall gibt, wirst du wahrscheinlich tatsächlich in den sauren Apfel beißen und dich in `ctypes` einarbeiten müssen. Hier im Forum sind ein paar Leute, die sich relativ gut damit auskennen und dir sicher, falls du es denn weiter verfolgen möchtest, Hilfe geben können.
BlackJack

@snafu: Das muss man aber nur machen, wenn einem das Kommandozeilenprogramm ``mp3splt`` und `subprocess` nicht ausreichen. Wenn man kein Interesse an einem Python-Wrapper für die Bibliothek hat, sollte das Aufrufen des Programms wesentlich weniger Arbeit machen.
albertus
User
Beiträge: 52
Registriert: Mittwoch 7. Juli 2010, 14:48

Hallo,

also ich habe mir gerade das Tool von Packmann installiert und versucht eine Datei Testweise per Kommandozeilen Tool zu schneiden das ging nicht bekomme die Meldung "Fehler: Kein Plugin entspricht der Datei »abbreviation.mp3«" damit ist auch das Tool für mich gestorben.
Mit freundlichen Grüßen

Albertus
Benutzeravatar
snafu
User
Beiträge: 6744
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich hatte jetzt auch irgendwie einen anderen Thread im Kopf, wo jemand explizit *nicht* `subprocess` nutzen wollte, da es ihm zuviel Overhead war... :oops:
BlackJack

@albertus: Kann es sein dass Du eine Linuxdistribution einsetzt die kein MP3 mag weil es „unfrei“ ist? ``mp3split`` hat Unterstützung für OGG Vorbis und MP3 jeweils als Plugin. Und die Meldung sieht so aus als wenn das MP3-Plugin nicht vorhanden ist!? Oder die MP3-Datei ist beschädigt. Das könnte auch noch sein.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

@BlackJack "Packmann" hört sich nach "pacman" an und wird wahrscheinlich ArchLinux sein,

und bei mir hier scheint sie zu Funktionieren.
the more they change the more they stay the same
albertus
User
Beiträge: 52
Registriert: Mittwoch 7. Juli 2010, 14:48

Hallo,

@Davld und BlackJack Ich meinte das Packman Repository (das eine "n" war zu viel :oops: ). Nein ich habe kein ArchLinux sondern OpenSuse 12.1. Es fehlten ein paar Bibliotheken und noch etwas anderes hat da geklemmt. Ich habe das ganze gelöscht und noch mal installiert jetzt funktioniert es wie gewünscht.

Ich habe mir jetzt auch die grafische Oberfläche zu mp3splt runter-geladen und ausprobiert. Also bei 200 Dateien funktionierte der eingebaute Batch Modus wie gewünscht, es sind ja auch nur kleine Dateien von ca. 40 - 60 KB die da im "Stille Modus" geschnitten werden. Ob er mit 5000 auf einmal zurecht kommt bezweifle ich mal. Aber wenn er mit 500 zurecht kommt bin ich schon zufrieden. Dann spare ich mir das Programmieren einer eigenen Batch und nehme gleich die grafische Oberfläche.

An allen noch mal herzlichen Dank für eure Hilfe. Die Tagelange suche nach einer Lösung hat nun ein gutes Ende gefunden. :D
Mit freundlichen Grüßen

Albertus
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

Ich kenne die GUI nicht - aber warum sollte die das gleichzeitig machen? Eigentlich zeichnet einen Batchmodus ja aus, dass da Aufgaben automatisiert *sequentiell* erledigt werden.
Antworten