5#include <alsa/asoundlib.h>
61snd_pcm_t*
initAudio(snd_pcm_format_t format,
char* device,
unsigned int* rate);
117 struct myarr* derivative,
165int readSamples(snd_pcm_t* cap,
size_t ArrayLength, int16_t* out);
void open_capture_elem(CaptureCtx *ctx, const CapConfig *cfg)
Open the ALSA mixer and find the 'Capture' element for microphone control.
Definition: mysound.c:39
const char * get_default_device(void)
Retrieves the default ALSA audio capture device, preferring sysdefault devices with 'usb' in their de...
Definition: mysound.c:707
int captureSetup(CaptureCtx *ctx, CapConfig *cfg, unsigned int rate)
Sets up the ALSA audio capture device based on the provided context and configuration.
Definition: mysound.c:474
snd_pcm_t * initAudio(snd_pcm_format_t format, char *device, unsigned int *rate)
Initializes the ALSA audio capture device with the specified format, device name, and sample rate.
Definition: mysound.c:276
int getData(FILE *fpInput, struct myarr *derivative, CaptureCtx *ctx, int16_t *out)
Retrieves audio data from the capture context or input file and processes it into a derivative array.
Definition: mysound.c:448
int get_mic_amplification(const CaptureCtx *ctx, long *value)
Get the current microphone amplification (capture volume) from ALSA mixer.
Definition: mysound.c:721
struct CaptureCtx CaptureCtx
Context for audio capture, containing ALSA parameters and configuration.
int readSamples(snd_pcm_t *cap, size_t ArrayLength, int16_t *out)
Reads audio samples from the ALSA capture device into a buffer.
Definition: mysound.c:516
int set_mic_amplification(const CaptureCtx *ctx, long value)
Set the microphone amplification (capture volume) using ALSA mixer.
Definition: mysound.c:734
int initAudioSource(CapConfig *cfg, unsigned int *actualRate)
Initializes the audio source for capture based on the provided configuration. This function sets up t...
Definition: mysound.c:357
int readBufferOrFile(int *derivative, size_t ArrayLength, FILE *fpInput, CaptureCtx *ctx, int16_t *buffer16)
Reads audio data from the capture device or a file into a buffer.
Definition: mysound.c:381
void captureTeardown(CaptureCtx *ctx)
Cleans up and releases resources associated with the audio capture context.
Definition: mysound.c:507
int gain_increase_locked
Definition: mysound.h:13
long avg
Definition: mysound.h:10
long min_gain
Definition: mysound.h:15
long max_gain
Definition: mysound.h:16
int clipStreak
Definition: mysound.h:12
int clipCount
Definition: mysound.h:11
int has_increased
Definition: mysound.h:14
brief struct to hold the configuration parameters for the capture process
Definition: config.h:8
Context for audio capture, containing ALSA parameters and configuration.
Definition: mysound.h:23
struct AmpResult ampResult
Definition: mysound.h:32
snd_mixer_t * mixerHandle
Definition: mysound.h:30
snd_pcm_uframes_t periodSize
Definition: mysound.h:27
size_t ArrayLength
Definition: mysound.h:29
snd_pcm_t * cap
Definition: mysound.h:25
unsigned int rate
Definition: mysound.h:26
snd_mixer_elem_t * mixerElem
Definition: mysound.h:31
snd_pcm_uframes_t bufferSize
Definition: mysound.h:28
A struct to hold an array of integers or an array of doubles, along with the length of the arrays.
Definition: myarr.h:14