Autor: Robert (AI Music Creator Aleks)
E‑mail: robert.gajewski@gmail.com
GitHub: https://github.com/ga1robe
Prosty szkic pipeline'u w Pythonie do batchowej obróbki audio:
- normalizacja WAV,
- konwersja WAV -> MP3,
- opcjonalna ekstrakcja stemów (Spleeter, 5 stems),
- opcjonalna konwersja stemów do MIDI (Basic Pitch),
- estymacja tempo/key (librosa, prosta metoda),
- zapis spectrogramów PNG,
- zapis metadata.json z informacjami o plikach.
To przykład‑start: dopracuj kroki według potrzeb i testuj na małych plikach.
- Python 3.9+
- ffmpeg w PATH
- pip install librosa soundfile numpy matplotlib (opcjonalnie)
- Spleeter (CLI lub python package) -> https://github.com/deezer/spleeter
- Basic Pitch (CLI lub python API) -> https://github.com/spotify/basic-pitch (Uwaga: instalacja Spleeter i Basic Pitch może wymagać dodatkowych zależności)
-
Utwórz venv: python3 -m venv venv source venv/bin/activate
-
Zainstaluj podstawowe pakiety: pip install --upgrade pip pip install librosa soundfile numpy matplotlib
-
Upewnij się, że ffmpeg działa: ffmpeg -version
-
(Opcjonalnie) zainstaluj Spleeter i Basic Pitch zgodnie z dokumentacją ich repo.
Przykład dla pojedynczego pliku: python batch_process.py -i /sciezka/do/plik.wav -o ./out
Dla folderu: python batch_process.py -i ./input_wavs -o ./out
Flagi: --no-spleeter wyłącz etap ekstrakcji stemów --no-basicpitch wyłącz konwersję stem->MIDI
- Normalizuje źródłowy WAV i zapisuje kopię _normalized.wav
- Tworzy MP3 z normalizowanego pliku
- Generuje spectrogram PNG
- (opcjonalnie) wywołuje Spleeter do rozdziału stemów i zapisuje je
- (opcjonalnie) konwertuje stemy do plików MIDI (Basic Pitch)
- Zapisuje metadata.json z informacjami (tempo, key, ścieżki plików)
MIT — używaj i modyfikuj. Jeśli wykorzystasz kod komercyjnie, docenię wzmiankę: Robert (AI Music Creator Aleks) — robert.gajewski@gmail.com
GitHub: https://github.com/ga1robe
E‑mail: robert.gajewski@gmail.com