# WinAmp Plugin um einen Song x Sek. anzuspielen

**URL:** https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816
**Category:** Off-Topic - Deutsch
**Created:** [September 3, 2024, 12:45pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816 "2024-09-03T12:45:51Z")
**Posts on this page:** 9
**Page:** 3

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [September 6, 2024, 12:21pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/41 "2024-09-06T12:21:03Z")

</div>

Da mich "der Hafer gestochen" hat, habe ich weiter versucht, via FFmpeg ein crossfading hinzubekommen.

Die folgenden Zeilen sind nur ein " **Proof of Concept**". Das vereinfacht oder verkürzt aufgrund der vielen nötigen manuellen Eingaben nicht wirklich den Ablauf.  
Es soll aufzeigen, dass es technisch möglich wäre, z.B. rund ein Dutzend bestehender MP3 Songs in einem Batch zu kürzen (machst Du bereits) und anschliessend die gekürzten einzelnen Songs in 1 Gesamt-Song zu crossfaden.

Der sehr komplex aussehende Einzeiler-Befehl dafür lautet für 11 Beispiel-Dateien wie folgt:  
`%ffmpeg% -v debug %ShortFiles% -filter_complex "[0a][1a]%CF%[A];[A][2a]%CF%[B];[B][3a]%CF%[C];[C][4a]%CF%[D];[D][5a]%CF%[E];[E][6a]%CF%[F];[F][7a]%CF%[G];[G][8a]%CF%[H];[H][9a]%CF%[I];[I][10a]%CF%" -c:a libmp3lame -b:a %Bitrate%k 11_Merged_7_Seconds_Songs_Crossfaded_%Bitrate%k.mp3`

Damit dieser Befehl so funktioniert, braucht es vorgängig noch die Definitionen für

```auto
SET Bitrate=320
SET CF=acrossfade=d=1:c1=tri:c2=tri
SET ShortFiles=-i "01 - Legendary.mp3" -i "02 - We Made It Look Easy.mp3" -i "03 - Living Proof.mp3" -i "04 - Waves.mp3" -i "05 - Seeds.mp3" -i "06 - Kiss the Bride.mp3" -i "08 - Walls of Jericho.mp3" -i "09 - I Wrote You a Song.mp3" -i "10 - Living in Paradise.mp3" -i "11 - My First Guitar.mp3" -i "12 - Hollow Man.mp3"

```

Folgende Probleme/Pendenzen verhindern eine vollständige Automatisierung:

1. Wenn nicht alle Songs die gleiche Bitrate haben (im Beispiel 320 kbit/s) kann das unter Umständen zu Audio-Verzerrungen und einer Qualitätsverschlechterung führen. Man kann aus einem schlechten 128kbit/s Song keinen qualitativ besseren 320kbit/s errechnen.
2. Es gibt anscheinend keine saubere Variante, um FFmpeg mit einer Liste von Dateien zu füttern die man crossfaden will. Es gibt andere Befehle wie `concat` (der einfach nur einzelne Dateien nahtlos aneinanderklebt), dort ist die Verwendung einer Fileliste möglich. Der `-acrossfade` [Befehl](https://ffmpeg.org/ffmpeg-filters.html#acrossfade) bietet diese Möglichkeit leider nicht, deshalb muss man sehr aufwändig die Dateien einzeln für den Batch-Parameter ShortFiles angeben.
3. Ein grundlegendes Problem mit Batch-Dateien sind Sonderzeichen in Dateinamen. Wenn in einem Dateinamen wie dem Track "07 - The People’s House.mp3" von Bon Jovis "Forever"-Album ein Hochkomma steckt dann führt das unweigerlich zu Verarbeitungsproblemen. Da der Aufwand sämtliche möglichen Fehlerquellen in einem Batch abzufangen zu gross ist, muss man auch hier manuell Hand anlegen und solche Dateinamen vorgängig korrigieren.

Ein allgemeines Problem tritt zusätzlich erschwerend in den Songs selber auf. Es gibt Songs, die haben ein ellenlanges Intro, dass im dümmsten Fall erst nach 10 Sekunden überhaupt hörbar ist. Das kann man nur mit Testhören überhaupt erkennen.

Erklärung des FFmpegs-Befehls:  
Bei einer Verarbeitung könnte man den Parameter `-v debug` weglassen, er dient nur einer ausführlicheren Fehlerausgabe.

Ansonsten ist der FFmpeg-Befehl eigentlich gar nicht so komplex: 😇  
Er nimmt den ersten und den zweiten Song, führt den `acrossfade=d=1` Befehl aus (die letzte Sekunde des ersten Songs wird ausgefadet und die erste Sekunde des zweiten Stücks wird eingefadet) und macht daraus einen neuen Song mit dem Namen [A].  
Zu diesem neuen Song [A] wird der dritte Song neu hinzu "crossgefadet" und das gibt den neuen Song [B]. Und so weiter und so fort.  
Damit alle einzelnen Stücke während dem Vorgang nicht in der Qualität verändert werden, wird die Audioqualität mit `-c:a libmp3lame -b:a %Bitrate%k` auf die vorgegebene Bitrate berechnet.

Am Schluss wird der eine neue Gesamtsong (mit allen crossgefadeten Kurzstücken) in eine neue Datei namens `11_Merged_7_Seconds_Songs_Crossfaded_%Bitrate%k.mp3` geschrieben.

Wie gesagt, das ist ein "Proof of Concept" und keine Allerweltslösung die immer und überall funktoniert.

---

<div class="post-metadata">

### Author: ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)
#### Post date: [September 6, 2024, 12:27pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/42 "2024-09-06T12:27:30Z")

</div>

> [@Fotoknipser](#):
>
> Um diesen 'komplizierten' Umweg zu umgehen, meine entscheidende Frage,  
> **welches Programm spielt die gekürzten Songs in eine separate Datei?**

Du meinst natürlich ohne viel Arbeit und nahezu automatisch? Da hat Lyricslover ja schon ffmpeg genannt.  
Ansonsten geht das mit viel manueller Arbeit natürlich auch in Audacity.  
Und es gibt sogar Audiosoftware, die das online im Browser macht:  
[https://audio-joiner.com/de/](https://audio-joiner.com/de/)

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [September 6, 2024, 12:38pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/43 "2024-09-06T12:38:49Z")

</div>

> [@poster](#):
>
> Und es gibt sogar Audiosoftware, die das online im Browser macht:  
> [Songs und mp3 online zusammenfügen - mit Audio Verbinden](https://audio-joiner.com/de/)

Sehr schöne Möglichkeit, danke für den Hinweis:

 ![image](https://community.mp3tag.de/uploads/default/original/3X/8/2/82cc1beaec4726a9ef3594acd8da0a2adedcf8f0.jpeg)  
Diese Online-Variante crossfadet die Songs automatisch und bietet auch die Möglichkeit Stille am Anfang und Ende visuell zu erkennen und allenfalls manuell zu beschneiden.

Hinweis: Das downloadbare Ergebnis enthält neu ID3v2.4 Werbetags + ein Werbecover und löscht allenfalls in den Quellstücken vorhandene Metadaten. Das kann man aber ja bei Bedarf wieder korrigieren:  
 ![image](https://community.mp3tag.de/uploads/default/original/3X/8/a/8ac5a72bd9f0ee61b7a64a82600e60fab491e3ec.png)

---

<div class="post-metadata">

### Author: ![Fotoknipser](https://community.mp3tag.de/user_avatar/community.mp3tag.de/fotoknipser/32/10524_2.png) [@Fotoknipser](https://community.mp3tag.de/u/Fotoknipser)
#### Post date: [September 6, 2024, 1:29pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/44 "2024-09-06T13:29:19Z")

</div>

> [@poster](#):
>
> Ansonsten geht das mit viel manueller Arbeit natürlich auch in Audacity.  
> Und es gibt sogar Audiosoftware, die das online im Browser macht:

Audacity war meine erste Anlaufstelle, was bei mehr als 10 Songs nicht wirklich praktikabel ist.  
Danke für den Tip es online zu machen. Ich werde es jetzt testen

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [September 6, 2024, 1:37pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/45 "2024-09-06T13:37:56Z")

</div>

> [@Fotoknipser](#):
>
> Ich werde es jetzt testen

Das klappt mit den bereits gekürzten Dateien aus Deinem bisherigen Batch erstaunlich gut.  
Die [URL](https://audio-joiner.com/de/) aufrufen, 1 x 10 gekürzte Musikstücke drag & droppen, unten rechts auf den Button "Zusammenführen" klicken und nach Abschluss den Download-Button anlicken.

Wie siehst Du das?

_(Bleibt nur die Frage offen, was die mit den hochgeladenen (Kurz-) Stücken machen. Auf Anhieb konnte ich keine diesbezüglichen Infos finden.)_

---

<div class="post-metadata">

### Author: ![Fotoknipser](https://community.mp3tag.de/user_avatar/community.mp3tag.de/fotoknipser/32/10524_2.png) [@Fotoknipser](https://community.mp3tag.de/u/Fotoknipser)
#### Post date: [September 6, 2024, 1:57pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/46 "2024-09-06T13:57:21Z")

</div>

> [@LyricsLover](#):
>
> Bleibt nur die Frage offen, was die mit den hochgeladenen (Kurz-) Stücken machen

ich hab meine 53 x 7-sekunden Teststücke durchlaufen lassen. das Ergebnis: Es werden alle Stücke überblendet  
Jedoch scheinen ist die 7sekunden-Kürzungen zu kurz zu sein. Ich werde es mal mit 10 Sekunden versuchen.

Soweit ich das sehe, sind 35 Stücke pro Tag Kostenfrei (wobei sicher auch die Dateigröße eine Rolle spielt, denn ich hatte mit meinen 53 keine Probleme).

Ansonsten macht es einen sehr soliden Eindruck!

---

<div class="post-metadata">

### Author: ![Fotoknipser](https://community.mp3tag.de/user_avatar/community.mp3tag.de/fotoknipser/32/10524_2.png) [@Fotoknipser](https://community.mp3tag.de/u/Fotoknipser)
#### Post date: [September 6, 2024, 2:11pm UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/47 "2024-09-06T14:11:10Z")

</div>

> [@Fotoknipser](#):
>
> Jedoch scheinen ist die 7sekunden-Kürzungen zu kurz zu sein.

Die 53x 10 Sekunden wurden wieder problemlos überblendet.

---

<div class="post-metadata">

### Author: ![Fotoknipser](https://community.mp3tag.de/user_avatar/community.mp3tag.de/fotoknipser/32/10524_2.png) [@Fotoknipser](https://community.mp3tag.de/u/Fotoknipser)
#### Post date: [September 19, 2024, 7:52am UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/48 "2024-09-19T07:52:51Z")

</div>

> [@LyricsLover](#):
>
> Melde Dich einfach, wenn noch was klemmt.

wie bekannt ist, vermeide ich englischsprachige Erklärungen da wo es geht.

in meinem Ursprünglichen Ansatz wollte ich die ersten x-Sekunden eines Songs in eine neue Datei geschrieben haben.  
Dank der hiesigen Experten ist das Thema erfolgreich abgeschlossen.  
es gibt aber immer ein **ABER**...  
Ich hab erkannt, dass die Song mehr oder weniger lange 'Intros' haben. Also sind die x-sekündigen Anfänge der mp3s wenig hilfreich.  
Im www hab ich folgende Seite gefunden: [FFMpeg\_Erklärung](https://www.servaholics.de/2019/01/tipp-anfang-oder-ende-einer-mp3-datei-mit-ffmpeg-abschneiden/)  
Hier ist beschrieben, wie ich auch die Anfänge setzen kann.  
Beispiel:  
Startet das Kürzen bei Sekunde 30 (`-ss 30`) und gibt dann 25 Sekunden (`-t 25`) aus.  
So dass sich die Batchdatei jetzt wie folgt aufbaut:

```auto
rem KurzFile-Verzeichnis leeren
CD /D "D:\zumLoeschen\Ziel"
del *.mp3

rem Quellverzeichnis a) per MP3File b) per ACCESS c) manuell füllen, danach ....
CD /D "D:\zumLoeschen\Quelle"

rem Verbingung zu ffmpeg.exe
SET FFMPEG="D:\portableApps\ffmpeg\bin\ffmpeg.exe"

rem Verbingung zum Zielordner
SET SubDir="D:\zumLoeschen\Ziel"

rem Falls Zielodner nicht vorhanden, erstellen
MD %SubDir%

rem .mp3 kürzen
for %%A in ("*.mp3") do %FFMPEG% -ss 30 -t 25 -i "%%A" -acodec copy "%SubDir%\%%~nA.mp3"

```

Ich hoffe irgend jemand kann es gebrauchen 🙂  
Bernd

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [September 19, 2024, 8:19am UTC](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816/49 "2024-09-19T08:19:44Z")

</div>

Danke für Deinen Vorschlag mit dem 25 sekündigen Ausschnitt ab der dreissigsten Sekunde eines Stückes.

> [@Fotoknipser](#):
>
> Ich hab erkannt, dass die Song mehr oder weniger lange 'Intros' haben. Also sind die x-sekündigen Anfänge der mp3s wenig hilfreich.

Genau, das ist eines der Probleme, wie hier vor 13 Tagen erwähnt.

> [@LyricsLover](#):
>
> ...  
> Ein allgemeines Problem tritt zusätzlich erschwerend in den Songs selber auf. Es gibt Songs, die haben ein ellenlanges Intro, dass im dümmsten Fall erst nach 10 Sekunden überhaupt hörbar ist. Das kann man nur mit Testhören erkennen.

Der Vollständigkeit halber noch die offizielle Erklärung für `-ss`

> -ss _position (input/output)_
> 
> When used as an input option ( **before `-i`** ), seeks in this input file to position.  
> Note that in most formats it is not possible to seek exactly, so `ffmpeg` will seek to the closest seek point before position...
> 
> When used as an output option (before an output url), decodes but discards input until the timestamps reach position.
> 
> _position_ must be a time duration specification

und `-t`

> -t _duration (input/output)_
> 
> When used as an input option ( **before `-i`** ), limit the duration of data read from the input file.
> 
> When used as an output option (before an output url), stop writing the output after its duration reaches duration.
> 
> _duration_ must be a time duration specification
> 
> `-to` and `-t` are mutually exclusive and `-t` has priority.

Quelle: [FFmpeg-Dokumentation](https://www.ffmpeg.org/ffmpeg.html)

In der deutschen Erklärung wird erwähnt, mit dem `-ss` Befehl würden "wie viele Sekunden vom Anfang entfernt". Das ist eigentlich nicht ganz richtig.  
Der `-ss` Befehl gibt an, ab welcher Position das angegebene Stück gelesen wird. Damit überspringt man die angegebene Zeit im Stück.  
Weil dieser Teil im neu ausgegebenen Stück fehlt, kann man aber sinngemäss von "entfernen" sprechen.

[Previous page](https://community.mp3tag.de/t/winamp-plugin-um-einen-song-x-sek-anzuspielen/65816.md?page=2)
