MP3 - 2 Sekunden Stille einfügen

  • Moin.

    Da mein neues Auto einen Media Player enthält, nutze ich diesen natürlich bevorzugt.
    Mir ist aufgefallen, dass der Player die ersten ~500ms des Titels "verschluckt". Das nervt mich.

    Nun habe ich das Programm "MP3 dirct cut" hergenommen und begonnen bei den Titeln eine Stille von ca. 2sec. am Beginn des Stückes einzufügen.
    Eine sehr mühsame Arbeit. Es soll Programme geben, die das im Batch abarbeiten können - z.B. MPTrim pro Version. Ist aber extrem teuer. Falls jemand dieses, oder ein anderes Programm für mich hätte wäre das eine große Hilfe. (ggf. per P/N)

    Vielleicht gibt es auch noch andere Tools, ausser Audacity, SOX, oder derartige. Die funktionieren nämlich dafür nicht oder codieren jedesmal neu, das Qualitätsverlust bedeutet..


    Greets
    - Backfire -

  • Hmm, meine Lösung ist Mal sicher wieder nicht die einfachste, aber egal. Zuerst mußt du dir ein mp3 mit 2 Sekunden Stille erzeugen, je nach Tool das du hast. Ich mach's mit ffmpeg (nicht alle Builds beinhalten mp3, aus Lizenzgründen):

    ffmpeg -f lavfi -i aevalsrc=0:0::duration=2 silence.mp3

    Das ist stereo mp3.

    Danach könnte man das mit einem Batch File lösen. Nehmen wir an, alle deine Tracks liegen in C:\Music\ in diversen Unterordnern. Die neue "silence.mp3" liegt in D:\sample\. Das auszuführende Script liegt wie die Musikfolder in C:\Music\. Wir gehen davon aus, daß nur mp3 verarbeitet werden soll. Das Script nenne ich Mal addsilence.bat, das wäre einfach mit der cmd in C:\Music\ sitzend auszuführen:

    Code
    @echo off
    for /r %%i in (*.mp3) do (
      copy /B /Y D:\sample\silence.mp3 + %%i %%i_2s
      move /Y %%i_2s %%i
    )


    Du solltest das aber vorher testen. Der Code geht brachial ALLE mp3s in allen Unterordnern von dem Punkt aus an dem das Script liegt durch, und fügt am Beginn eines jeden mp3s die "silence.mp3" hinzu. Soweit ich mich erinnere ist mp3 cat-friendly, ich hoffe ich irre mich da nicht. Denn dann wäre das Mischen unterschiedlicher Bitraten nicht mehr so trivial. Aber ich bilde mir ein das würde gehen. Aber keine Garantien. Ich hab leider grade keinen Sound hier, deswegen kann ich zwar die Dateioperation testen, nicht aber die resultierende Ausgabe. ;)

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich hatte mal eine CD rund um Audio und Tools von C't.
    Da müsste auch was dabei gewesen sein.
    Ich gucke bei Gelegenheit ob ich die noch finde.
    Ist vielleicht etwas einfacher mit GUI, als die Lösung von GAT.

  • @GAT

    FFMPEG meldet 2 Syntaxfehler... ?( mit deinem Scriptvorschlag. Den Pfad habe ich natürlich angepasst.

    Ach quack...!!
    ...jetzt check' ich das erst.
    Der Syntaxfehler wird von der Console gemeldet. FFMPEG brauchte ich nur um das "silence" zu erstellen. Das habe ich ja nun.
    Um die "silence" dem Musikstück hinzuzufügen wird das Script benutzt. Sollte es so einfach sein? Es wird also quasi die Silence vor das Musikstück "vorkopiert" und damit eine neue Datei generiert?

    Jedenfalls - wenn ich diese Batch starte gibts einen Sytaxfehler:

    Code
    @echo off
    for /r %%i in (*.mp3) do
    (
    copy /B /Y E:\_Musik\_Audio-Work\bin\silence.mp3 + %%i %%i_2s
    move /Y %%i_2s %%i
    )


    Grüße
    - Backfire -

    EDIT:
    Bin gerade noch am Lesen des Manuals von FFMPEG. Ein mächtiges Tool. Es kann eventuell dieses 2 Sec. Verzögerung sogar selbst fertigbringen. Aber dafür brauche ich definitiv Hilfe. Durch diese Anleitung steige ich nicht voll durch. Wer kennt sich aus?

  • Versuch zuallererst bitte die öffnende Klammer, die den Instruktionsblock der Schleife einleitet in die Kopfzeile der Schleife hochzuziehen.

    Also nicht so:

    Code
    @echo offfor /r %%i in (*.mp3) do(copy /B /Y E:\_Musik\_Audio-Work\bin\silence.mp3 + %%i %%i_2smove /Y %%i_2s %%i)


    ...sondern so:

    Code
    @echo off
    for /r %%i in (*.mp3) do (
    copy /B /Y E:\_Musik\_Audio-Work\bin\silence.mp3 + %%i %%i_2s
    move /Y %%i_2s %%i
    )


    Batch ist oft gefährlich wählerisch wenn's um Syntax geht. Ansonsten hast du Recht damit was ich versuchte zu tun, die Schleife ist nur zum Anfügen der "silence.mp3" gedacht. Und ja, ffmpeg ist sehr fähig (ähnlich avconv von libav). Ich verwend's aber nicht so oft, müßt selber erst sehen wie es alleine damit zu lösen wär.. müßt auch erst reinschauen.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Habe ich auch schon versucht mit der Klammer... selber Effekt.

    Ich habe gerade was mit ffmpeg versucht. Vielleicht kannst Du da helfend mit ansetzen...


    Code
    ffmpeg -i concat:"silence.mp3|audiofile.mp3" -codec copy combined.mp3

    Das jetzt als Batch für alle Files... ?

    - Backfire -

    Edit:
    Also damit funzt das schonmal. So bekomme ich das silence.mp3 vor das Audiofile.mp3. Klappt. ^^
    Nun möchte ich das aber auf ganze Ordner anwenden. Und natürlich so, dass die Dateinamen beibehalten werden und nicht "combined" heissen. :whistling:
    ... :?: :?:

  • Dafür bräuchte es wieder die for-Schleife von oben! :spitze:

    Wenn wir die debugged kriegen bei dir, dann ist's kein Problem.. Welches Betriebssystem?

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Win7 64 Bit.

    Code
    ffmpeg -i concat:"silence.mp3|*.mp3" -codec copy combined.mp3

    Habe DAS eben mal versucht: Das geht nicht. "invalid Argument" sagt ffmpeg. Also ein Sternchen als Platzhalter für ein vorhandenes .mp3 klappt nicht.


    - Backfire -

  • Mist, ich hab nur eine Windows Vista VM hier. ( :topmodel: ) Aber ich probiers Mal da, schaun ob es da echt Unterschiede gibt.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"


  • Hat sauber funktioniert auf Windows Vista x64 SP2. :( Im Code seh ich keine Unterschiede, vielleicht bin ich auch nur blind...

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Hier passiert das:

    Mache ich was falsch?

    - Backfire -

  • Und die silence.mp3 sollte außerhalb der Pfadstruktur liegen, in der sich das Batchfile und die Musik befinden! Ansonsten fügt er auch zur silence.mp3 WIEDER eine silence.mp3 hinzu, und mit jedem Run ist deine "silence" dann um 2 Sekunden länger als beim letzten. Das ist sicher nicht erwünscht! Also wenn das Batch File (und die Musiksubfolder) in E:\_Musik\ liegen, dann sollte die silence.mp3 z.B. am besten irgendwo auf C:\ oder etwa in E:\temp\ o.ä. liegen.

    Wichtig ist auch: Das Script überprüft alle Dateien im Ordner wo das Script selbst liegt und in allen Unterordnern dieses Ordners. Wennst also in E:\_Musik\_Audio-Work\ mp3's liegen hättest, dann sollte das Script in E:\_Musik\ liegen um alle Dateien darunter zu erfassen. Läge es beispielsweise in E:\_Musik\bin\, würden nur die Unterordner E:\_Musik\bin\* erfasst werden.

    Dein Aufruf ist auch seltsam. Also zuerst "batch" und dann "C:\test cat.bat 1>type"?! Ich verstehe deine Befehle nicht ganz.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich habe nur "batch" eingegeben, der Rest kommt von der Batchdatei.

    Ich versuche es nochmal anders...

    Das passiert jetzt:

    Folgendes:
    Die Silence.mp3 befindet sich in E:\
    Die batch.bat in E:\temp
    Das Audiolfile csd.mp3 in E:\temp\Musik

    Ergebnis ist:
    Es ist eine Datei csd.mp3_2s entstanden. Mit der Endung geht das Abspielen natürlich nicht. Das "_2s" muss man also wieder entfernen. Aber das 2sec Delay ist schonmal eingebunden. Allderdings sagt mir z.B. MP3direct cut nun dass dieses Musikstück über 500 Minuten lang ist. Irgendwie ist das noch unrund.

    Aber was welche Datei kann das System nicht finden? Das muss was mit dem Move Befehl zu tun haben. Vielleicht weil die neue Datei nicht csd_2s.mp3 heisst?

    Aber wir nähern uns.

  • Aaah, entschuldige! Ich glaube fast, du hast meinen Code missinterpretiert, da hätte ich sorgsamer sein müssen. Bei meinem vorletzten Post habe ich "Source Code" gepostet, aber das ist nicht alles Source Code gewesen, was da stand, sondern teilweise auch nur Ein- und Ausgaben auf der Shell.

    Im Script (hier namens "cat.bat") steht nach wie vor nur das:

    Code
    @echo offfor /r %%i in (*.mp3) do (  copy /y /b c:\silence\silence.mp3 + %%i %%i_2s  move /y %%i_2s %%i)

    Und das hier war die Ausgabe beim Aufruf, das Script namens cat.bat liegt in C:\test\, die Musik liegt in C:\test\Music\ und die silence.mp3 liegt in C:\silence\:

    Code
    C:\test>cat.bat
    c:\silence\silence.mp3
    C:\test\Music\largetrack.mp3
               1 file(s) copied.
               1 file(s) moved.
    c:\silence\silence.mp3
    C:\test\Music\testtrack.mp3
               1 file(s) copied.
               1 file(s) moved.

    Im Script selbst ist nur der Pfad zur "silence.mp3" anzupassen, die Pfade zu den anderen mp3s sucht er sich ja rekursiv selbst.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (11. Juni 2013 um 22:55)

  • Das moving passiert hier nicht. Im Post darüber habe ich es nochmal aktuell angegeben, dass der Bildschirm ausgibt...

    Das ist meine Batch:

    Code
    @echo offfor /r %%i in (*.mp3) do (  copy /y /b e:\silence.mp3 + %%i %%i_2s  move /y %%i2s %%i)

    Das ist das Ergebnis:

  • Ich habe gerade einige Infos über das zusammenfögen, dass es auf diese Weise zu Problemen mit den Meta Tags und Headern kommen kann. Daher wohl auch die vergogene Timer-Ausgabe. Ich denke dass es ohne ein sntsprechendes Programm nicht sauber gehen wird.

    Ich habe eben mal "Media-Join" probiert. Das geht. Aber nur Einzeln, nicht im Batch.

    - Backfire -

  • Ajo, natürlich. Die ID3 und ID3v2 Tags sind dann im Arsch. Ich persönlich verwende kein Tagging, orientiere mich also nur nach Datei- und Ordnernamen. Wenn du aber Tags brauchst, dann ist meine primitive Methode ohnehin nicht brauchbar.

    Aber das Script hat einen Bug, du hast hier..

    Code
    move /y %%i2s %%i


    ..ein Underscore vergessen. Deswegen moved er nicht, weil er die Datei nicht finden kann. Diese Zeile müßte also im angegebenen Fall so lauten:

    Code
    move /y %%i_2s %%i

    Aber wie gesagt, wenn du die Tags alle behalten willst, ist meine Lösung ohnehin gar nicht gut.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Hmm.

    Ja, leider wusste ich das vorher auch nicht. Trotzdem vielen Dank für Deine Mühe.
    Ich lese noch gerade einiges über das Programm FFMPEG. Das kann ja wirklich extrem viel, aber das übersteigt doch deutlich meinen Horizont.

    Sie wie es ausschaut ist MPTRIM PRO wohl das richtige und es scheint ein gutes Tool zu sein. Dann werde ich es wohl doch kaufen...

    So Long
    - Backfire -