Przewiń do głównej treści

Projekt RythmForge

Biblioteka RythmForge powstała w zespole dwuosobowym w ramach kursu Zaawansowanego Programowania w C++. Projekt inspirowany był popularną biblioteką librosa , wykorzystywaną w przetwarzaniu i analizie sygnałów audio.

Wszystkie funkcje i algorytmy zostały zaimplementowane w języku C++20 i udostępnione w języku Python dzięki wykorzystaniu biblioteki pybind11. Dodatkowo, do przedstawienia macierzy wykorzystano bibliotekę boost multiarray.

Do zaimplementowanych funkcji należały:

  • Fast Fourier Transform (FFT)
  • Inverse Fast Fourier Transform (IFFT)
  • Short Time Fourier Transform (STFT)
  • Inverse Short Time Fourier Transform (ISTFT)
  • Mel filter bank
  • Melspectrogram
  • Spectrogram
  • Ładowanie plików audio w formacie .wav
  • Inne funkcje pomocnicze

Zaimplementowane funkcje zostały pokryte odpowiednimi testami jednostkowymi stworzonymi z wykorzystaniem biblioteki catch2 oraz zautomatyzowane w potoku CI z użyciem GitHub Actions.


Na górze strony podany został link do kodu źrodłowego biblioteki, natomiast dokumentacja biblioteki wygenerowana automatycznie z wykorzystaniem sphinx dostępna jest tutaj .