83 lines
2.8 KiB
Markdown
83 lines
2.8 KiB
Markdown
# TonUinoNator
|
|
|
|
Kleines macOS-SwiftUI-Tool zum Vorbereiten von Hörspielordnern für TonUINO/DFPlayer-SD-Karten.
|
|
|
|
## Werkzeuge
|
|
|
|
- `Datenumwandlung`: Schreibt die TonUINO-Ordnerstruktur. MP3-Dateien je Folge können zu `001.mp3` zusammengeführt oder getrennt als `001.mp3`, `002.mp3`, ... exportiert werden.
|
|
- `SD-Karte`: Prüft eine ausgewählte TonUINO-SD-Karte und führt `dot_clean` aus.
|
|
- `MP3Gain`: Wendet MP3Gain rekursiv auf alle MP3-Dateien in einem gewählten Ordner an. Track-/Album-Modus, Clip-Schutz und dB-Offset sind konfigurierbar.
|
|
- `ID3-Tags`: Bearbeitet MP3-Tags rekursiv auf einer SD-Karte oder in einem ausgewählten Ordner.
|
|
|
|
## Erwartete Input-Struktur
|
|
|
|
```text
|
|
Input/
|
|
Folge 1/
|
|
teil 1.mp3
|
|
teil 2.mp3
|
|
Folge 2/
|
|
01.mp3
|
|
02.mp3
|
|
```
|
|
|
|
Die App nimmt jeden Unterordner mit Audiodateien als eine Folge. Dateien werden natürlich sortiert, also z. B. `Teil 2` vor `Teil 10`.
|
|
|
|
## Output-Struktur
|
|
|
|
```text
|
|
Output/
|
|
01/
|
|
001.mp3
|
|
02/
|
|
001.mp3
|
|
```
|
|
|
|
Im Modus `Zusammenführen` entsteht ein nummerierter Ordner pro Folge und darin genau eine Datei `001.mp3`.
|
|
|
|
Im Modus `Getrennt` bleiben die Dateien einer Folge getrennt:
|
|
|
|
```text
|
|
Output/
|
|
01/
|
|
001.mp3
|
|
002.mp3
|
|
02/
|
|
001.mp3
|
|
002.mp3
|
|
```
|
|
|
|
Die App verarbeitet die MP3-Dateien einer Folge in natürlicher Sortierung. Andere Audioformate werden in der Vorschau gewarnt und beim Export nicht in MP3 konvertiert.
|
|
|
|
Beim Export können optional ein Zuordnungsbericht (`TonUinoNator-Report.txt`), `dot_clean` und eine anschließende TonUINO-Strukturprüfung ausgeführt werden.
|
|
|
|
Die SD-Karten-Prüfung kontrolliert:
|
|
|
|
- Folgenordner `01` bis `99`
|
|
- Dateien in Folgenordnern mit dreistelligem Prefix `001.mp3` bis `255.mp3`
|
|
- Spezialordner `mp3` und `advert` mit vierstelligem Prefix `0001.mp3` bis `9999.mp3`
|
|
- macOS-Metadaten wie `.DS_Store` und `._*`
|
|
- unerwartete Dateien oder Ordner im Hauptverzeichnis
|
|
|
|
Die MP3Gain-Funktion setzt voraus, dass `mp3gain` installiert ist, z. B. unter `/opt/homebrew/bin/mp3gain`.
|
|
|
|
- `-r`: Track-Gain. Jede Datei wird auf gleiche Lautheit gebracht.
|
|
- `-a`: Album-Gain. Alle Dateien werden als Album behandelt; relative Lautheitsunterschiede bleiben erhalten.
|
|
- `-k`: senkt Gain automatisch ab, wenn sonst Clipping entstehen würde.
|
|
- `-d <n>`: zusätzlicher dB-Offset auf den vorgeschlagenen Gain, z. B. `4`.
|
|
|
|
Das ID3-Tag-Werkzeug zeigt vorhandene Tags im Protokoll an. Es kann alle ID3-Tags löschen oder gezielt Titel, Interpret, Album, Tracknummer, Jahr, Genre, Kommentar und eingebettete Cover/Bilder entfernen. Optional wird anschließend ein neuer Kommentar in die MP3-Dateien geschrieben. Die Tag-Suche findet MP3-Dateien über ID3v2-/ID3v1-Titel, Album und Künstler und zeigt den Ordner der Datei im Protokoll.
|
|
|
|
## Starten
|
|
|
|
```bash
|
|
cd TonUinoNator
|
|
swift run
|
|
```
|
|
|
|
Für einen schnellen Build:
|
|
|
|
```bash
|
|
swift build
|
|
```
|