Hello, Guest the thread was called3k times and contains 70 replays

last post from Hagtrix at the

BREADAMP - ein "Winamp" für den C64 [1541u / TC64]

  • Im Prinzip liese sich eine Unterstützung einbauen, wahrscheinlich sogar recht einfach. Dazu müsste man aber wissen, an welche Adresse die Samples geschoben werden und in welchem Format sie sein müssen (ich vermute mal unsigned integer 8 bit)

  • Warum eigentlich nicht! Ich hatte eigentlich ohnehin vor, ein paar Minuten Video zum Thema FPGASID auf der Bühne zu zeigen. Allerdings ist es unklar, ob das Video überhaupt bis dahin fertig wird. Daher hatte ich auch keinen Programmpunkt angemeldet.

    Aber Breadamp in Verbindung mit einem FPGASID wäre da auch ein schönes Thema. Da muss ich mich aber vorher noch mit daddlertl zusammen setzen, denn ich habe bisher hauptsächlich Videos davon geschaut und das Programm noch nicht selbst ausgiebig getestet. Vor allem das konvertieren der Audiofiles muss ich mir dann noch anschauen. Problem dabei ist die fehlende Zeit bei mir. Wird also eher was spontanes... ;-)

    daddlertl , wäre das für dich überhaupt OK?

  • @andi6510 Ich kann dir gern vor Ort das Programm genauer vorführen und zeigen, wie man Audiofiles konvertiert (das ist schnell erklärt).

    ja, das wäre auch meine Vorstellung. Alles ganz spontan eben... :-)


    Edit: Ich versuche mal noch einen Timeslot im Bühnenprogramm zu ergattern...

  • Ich habe mich jetzt auch mal mit dem Erzeugen neuer REU Files beschäftigt. Hat eigentlich mit Audacity sofort geklappt. Allerdings habe ich ein paar Anmerkungen...


    1. Ich hätte gerne ein REU File, welches Lieder in unterschiedlichen Formaten enthält. Also ein Song in der Version für 6581, der gleiche in der Version für 8580 und nochmal linear für den FPGASID. Das wäre praktisch, um die Unterschiede zu vergleichen. Ist so was möglich oder kann man das Format nur einmal pro REU File festlegen? EDIT: Hat sich erledigt - Option 6 bietet diese Möglichkeit (wie blind kann man sein?)


    2. Der Weg über Audacity ist gangbar aber ein bisschen umständlich. da man jede Datei manuell bearbeiten muss. Viel einfacher wäre es das ganze mit FFMPEG zu machen. Dann würde ich mir ein script bauen, welches einfach eine ganze Reihe von Files konvertiert und dann gleich an BREADAMP_v03_REUmaker.exe übergibt.

    Ich habe schon mal ein File mit FFMPEG ins 8-bit (unsigned) WAV Format gewandelt. Leider wird es aber von BREADAMP_v03_REUmaker.exe nicht richtig umgesetzt. Genauer gesagt. die Konvertierung klappt, aber BREADAMP bleibt nach dem Starten gleich hängen. Ich habe hier mal so ein WAV File.

    (Anhang geht nicht, da zu groß - siehe angehängtes ZIP file)

    und hier noch ein von Audacity erzeugtes File, welches klaglos funktioniert.

    (Anhang geht nicht, da zu groß - siehe angehängtes ZIP file)

    Wenn man mit einem Hexeditor beide Dateien öffnet sieht so aus, als wären dort die Titelinformationen vorne im File, während Audacity diese hinten ins File schreibt.

    Kann man das was reparieren, so dass auch die Datei von FFMPEG richtig umgewandelt wird?

    tesfiles.zip

  • Ich habe mal eine Anpassung am wave-Parser vorgenommen, sodass der Datenblock (data) der Wavedatei auch bei vorgelagertem LIST-Feld korrekt erkannt wird.


    Erklärung des Fehlers: In den Beschreibung zum Wave-Format, die ich im Netz gefunden habe, steht, dass das erste Feld immer "data" ist, weshalb ich das auch nicht extra überprüfen lassen habe. Da FFMPEG sich offenbar nicht an den Standart hält, wurde von meinem Programm das LIST-Feld als Datenblock gelesen, weshalb auch eine "Musiklaenge" von nur 112 Bytes angegeben wurde, was der Länge des LIST-Felds entspricht. Die angepasste Version überprüft nun den Feldname und wenn der nicht "data" ist, wird zum nächsten Feld gesprungen und der Name auf "data" überprüft.

    Natürlich ist auch das kein Garant, dass Wave-Dateien von allen Konvertern funktionieren, denn man weiß nie, was manche Konverter noch für obskure Standartabweichungen machen. Die angepasste Version "versteht" jetzt mindestens Audacity- und FFMPEG-Wave-Dateien. Ich konnte damit deine beiden Testdateien konvertieren und das Ergebnis mit Breadamp abspielen.


    vorher:


    gefixte Version:


    Probiere mal diese Version aus: BREADAMP_v03_REUmaker_ffmpeg_fixed.rar

  • Und aus nachher wurde morgen...


    Also, ich wandle gerade erfolgreich mp3 nach BREADAMP mit ein bisschen Mausgeschubse ohne Audacity.

    FFMPEG gibts hier. Das extrahiert man sich einfach an geeigneter Stelle auf die Festplatte.


    Folgende Batchdateien verwende ich:

    Code: convert_stereo.bat
    1. set ff="C:\install\ffmpeg\ffmpeg-20190518-c61d16c-win32-static\bin\ffmpeg.exe"
    2. %ff% -i %1 -y -ar 11728 -acodec pcm_u8 "wav\%~n1.stereo.wav"

    und noch

    Code: convert_mono.bat
    1. set ff="C:\install\ffmpeg\ffmpeg-20190518-c61d16c-win32-static\bin\ffmpeg.exe"
    2. %ff% -i %1 -y -ar 15638 -ac 1 -acodec pcm_u8 "wav\%~n1.mono.wav"

    Die erste Zeile beinhaltet jeweils den Pfad zu meiner Installation von ffmepg. Die sollte man sich entsprechend anpassen.


    Die zweite Zeile macht dann die Konvertierung. Für Stereo wird nach 11728 Hz und für Mono nach 15638 Hz gewandelt. Es erfolgt keine Komprimierung und keine Normalisierung. Das könnte FFMPEG auch, aber damit habe ich mich noch nicht beschäftigt.


    Die Vorgehensweise ist nun wie folgt:

    Jede Datei, die man konvertieren möchte wird einzeln entweder auf convert_mono.bat oder convert_stereo.bat gezogen. Das konvertierte Ergebnis landet in einem Unterordner "wav" (der existieren muss!).

    In den wav-Ordner habe ich BREADAMP_v03_REUmaker_ffmpeg_fixed.exe kopiert. So kann ich dann in diesem Ordner einfach mehrere Titel markieren und auf die .exe Datei ziehen um eine neue Zusammenstellung zu erstellen. Diese wird dann noch entsprechend umbenannt und per FTP auf die 1541Ultimate+ geschoben (was von allem am längsten dauert).


    Die Batchfiles könnte man jetzt noch deutlich komplexer gestalten. z.B. mit der Möglichkeit mehere Files auf einmal zu konvertieren. Aber ich wollte es erst mal einfach halten, damit man versteht, was da passiert. Ich könnte mir vorstellen, dass später der REUmaker von sich aus FFMPEG aufruft. Das wäre oberkomfortionös. Nur mal so als Anregung für weitere Softwareheldentaten.


    Meinem Sohn und meiner Frau ist im übrigen gerade die Kinnlade runtergegangen, als ich ihnen erklärt habe, dass die Musik da gerade aus dem C64 kommt ("Der kann das???"). War ein netter Moment :-)

  • Die Batchfiles könnte man jetzt noch deutlich komplexer gestalten. z.B. mit der Möglichkeit mehere Files auf einmal zu konvertieren. Aber ich wollte es erst mal einfach halten, damit man versteht, was da passiert. Ich könnte mir vorstellen, dass später der REUmaker von sich aus FFMPEG aufruft. Das wäre oberkomfortionös. Nur mal so als Anregung für weitere Softwareheldentaten.

    ... und anschliessend per FTP ins Ultimate schiebt :)