Skip to content

Real-time signal processing project in C++ using Jack for Linux audio systems. It features volume control, energy measurement, period detection, and auto-tune functionality. The project leverages object-oriented programming for efficient audio manipulation.

Notifications You must be signed in to change notification settings

Carlos12001/real-time-signal-processing

Repository files navigation

Open in Visual Studio Code

Ejemplo base de Jack en C++

Este ejemplo construye una aplicación muy sencilla de "pass-through" usando Jack, como punto de partida para los proyectos del curso.

Dependencias

Requiere C++ en su estándar del 2020 (g++ 12, clang 14).

En derivados de debian (ubuntu, etc):

     sudo apt install jackd2 libjack-jackd2-dev qjackctl build-essential meson ninja-build

Jack requiere que su usuario pertenezca al grupo audio, o de otro modo no tendrá privilegios para el procesamiento demandante en tiempo real...

     sudo usermod -aG audio $USER

Construcción

Para construir los ejemplos la primera vez utilice

     meson setup build
     cd build
     ninja

Si requiere reconstruir todo, utilice

     meson setup --wipe build
     cd build
     ninja

Latencia y tamaño de bloque

Para reducir la latencia por medio del tamaño del "periodo" (esto es, el número de "frames" que cada ciclo de procesamiento recibe, en QjackCtl, en Settings, se indica en Frames/Period. Eso es un parámetro del servidor de Jack y no lo puede controlar la aplicación como tal.

circular_buffer not queue

About

Real-time signal processing project in C++ using Jack for Linux audio systems. It features volume control, energy measurement, period detection, and auto-tune functionality. The project leverages object-oriented programming for efficient audio manipulation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published