W świecie, gdzie wideo ewoluowało z 240p MPEG do adaptacyjnych strumieni 8K HDR, standardy plików audio pozostały zaskakująco statyczne. Nadal polegamy na kontenerach zaprojektowanych dekady temu, świetnych do odtwarzania, ale fatalnych dla interaktywności.
Jeśli tworzysz doświadczenie VR, grę rytmiczną lub adaptacyjny krajobraz dźwiękowy, prawdopodobnie żonglujesz plikami WAV wraz z "przyczepami" JSON tylko po to, aby śledzić podstawowe dane, takie jak BPM, punkty zapętlenia czy współrzędne przestrzenne.
Dlatego stworzyłem Bitwave: wysokiej wierności, przyszłościowy format audio zaprojektowany dla nowoczesnych przepływów pracy programistycznej. To nie tylko wrapper; to hybrydowa architektura Python/Rust, która sprawia, że audio jest samoopisujące, świadome przestrzeni i przyjazne dla programistów.
Tradycyjne formaty (WAV, FLAC, MP3) to zasadniczo pasywne strumienie danych. Przechowują amplitudę w czasie, ale nie wiedzą, co odtwarzają.
Bitwave zmienia ten paradygmat, traktując plik jako ustrukturyzowaną bazę danych dźwięku i zachowania.
.bwxW sercu projektu znajduje się format .bwx (Bitwave Extended). Zamiast liniowego strumienia, wykorzystuje architekturę opartą na fragmentach, zaprojektowaną z myślą o rozszerzalności.
SPATIAL_BLOCK)To jest przełom dla twórców immersyjnych. Bitwave osadza dane pozycyjne bezpośrednio w strukturze pliku.
// Uproszczona reprezentacja bloku danych przestrzennych struct SpatialBlock { x_pos: f32, y_pos: f32, z_pos: f32, velocity_vector: [f32; 3], // Dla efektów Dopplera }
Gdy silnik gry ładuje plik .bwx, nie tylko ładuje dźwięk; dokładnie wie, gdzie ten dźwięk powinien pojawić się w przestrzeni 3D.
META_BLOCK)Ustandaryzowaliśmy dynamiczne właściwości. Każdy plik Bitwave może zawierać:
Jedną z największych przeszkód w tworzeniu audio jest bariera wejścia. C++ jest standardem branżowym dla DSP, ale spowalnia szybkie prototypowanie.
Bitwave używa Architektury Hybrydowej:
Oznacza to, że możesz pisać wysokowydajne skrypty audio równie łatwo, jak piszesz ogólny skrypt automatyzacji w Pythonie.
from bitwave import BitwaveFile, AudioAnalyzer # Ładowanie wysokowydajnego backendu Rust przez Python bw = BitwaveFile("spatial_track.bwx") bw.read() # Wykrywanie BPM przy użyciu analizy FFT bpm = AudioAnalyzer.detect_bpm(bw.audio_data, bw.sample_rate) print(f"Wykryte Tempo: {bpm}")
Format pliku jest bezużyteczny bez narzędzi. Zbudowaliśmy kompleksowe CLI, aby zapewnić, że Bitwave pasuje do istniejących potoków CI/CD.
Bitwave jest obecnie w wersji alfa i jest w pełni open source na licencji MIT. Poszukujemy twórców, którzy są zmęczeni hakowaniem technologii z lat 90. aby dopasować je do problemów roku 2025.
Plan rozwoju obejmuje wsparcie dla streamingu w czasie rzeczywistym, integrację HRTF (Head-Related Transfer Function) dla dźwięku binauralnego oraz bezpośrednie wtyczki dla głównych DAW-ów.
Jeśli jesteś Rustaceanem, Pythonistą lub Inżynierem Dźwięku, chcemy, abyś spojrzał na nasz kod.
Sprawdź repozytorium i oznacz gwiazdką projekt:
[https://github.com/makalin/Bitwave]()
\


