sudo apt install libpipewire-0.3-dev
sudo apt install libpipewire-0.3-common
Reverb:Freeverb Algorithm
local ffi = require("ffi")
local aten= ffi.load("atenaudio")
ffi.cdef[[
int set_volume(int volume);
float get_volume();
int set_channels(int channels);
int get_channels();
int set_samplerate(int samplerate);
int get_samplerate();
int set_loop(int enabled);
int get_loop();
int stop_loop();
int stop_sound();
int stop_engine();
int reverb(float roomsize,float damp,float wet,float dry,float width);
int playsound(const char *format,const char *name);
int ateninit();
void reverb_init(void);
void set_reverb(int rv);
int get_reverb();
void reverb_set_roomsize(float value);
void reverb_set_damp(float value);
void reverb_set_wet(float value);
void reverb_set_dry(float value);
void reverb_set_width(float value);
]]
aten.set_volume(1)
aten.playsound("mp3","music.mp3")
aten.reverb(0.6,0.3,0.35,0.6,1.0)
aten.ateninit()
aten.stop_engine()#include "aten.h"
int main() {
set_volume(1.0f);
playsound("wav","music.wav");
reverb(0.6,0.3,0.35,0.6,1.0);
ateninit();
while(1) {}
stop_engine();
}Run
gcc aten.c atenimp.c eng/eng_pipewire.c eng/wav.c eng/mp3.c eng/effects/reverb/reverb.c -o aten -lpthread $(pkg-config --cflags --libs libpipewire-0.3) -lm -IengArgument 0:Roomsize(Float)
Argument 1:Damp(Float)
Argument 2:Wet(Float)
Argument 3:Dry(Float)
Argument 4:Width(Float)
reverb(0.6,0.3,0.35,0.6,1.0);reverb_init();Argument 0:Reverb(Integer(1/0))
NOTE:This function is not directly open Reverb. This function is setting engine's data struct int reverb variable
NOTE:If you do not call reverb_init() after using this function, the program will crash.
set_reverb(1);
get_reverb();Argument 0:Roomsize(Float)
reverb_set_roomsize(0.6f);Argument 0:Damp(Float)
reverb_set_damp(0.3f);Argument 0:Dry(Float)
reverb_set_dry(0.35f);Argument 0:Width(Float)
reverb_set_width(0.6f);ateninit();Argument 0:Volume(Float)
set_volume(1.0f);
get_volume();Argument 0:Channels(Integer)
set_channels(1);
get_volume();Argument 0:Sample Rate(Integer)
set_samplerate(44100);
get_samplerate();Argument 0:Enabled(Integer(1/0))
set_loop(44100);
get_loop();stop_loop();stop_sound();NOTE:If you Dont enter this in program ending, your program will bi crash
stop_engine();