Sigrid Solveig Haflínudóttirexamples: add a dumb /dev/audio supportd2af4083 years agoHistory
53 lines · 1.0 KB · C
RawDownload
#include <aubio.h>#include "config.h"#include "utils.h"#include "aubio_priv.h"#include "devaudioio.h"#include <bio.h> static Biobuf *f;static s16int *fbuf;static fvec_t *ibuf, *obuf;static int nframes; voidnew_aubio_devaudio(int hop_size){	if((f = Bopen("/dev/audio", OREAD)) == nil){		AUBIO_ERR("failed to open /dev/audio for reading\n");		AUBIO_QUIT(AUBIO_FAIL);	}	nframes = hop_size;	ibuf = new_fvec(hop_size);	obuf = new_fvec(hop_size);	if(ibuf == nil || obuf == nil || (fbuf = malloc(nframes*2*2)) == nil){		AUBIO_ERR("no memory\n");		AUBIO_QUIT(AUBIO_FAIL);	}} intaubio_devaudio_get_samplerate(void){	return 44100;} voidaubio_devaudio_activate(aubio_process_func_t func, aubio_print_func_t printf){	double l;	int i; 	while(9){		if(Bread(f, fbuf, nframes*2*2) != nframes*2*2)			break;		for(i = 0; i < nframes; i++){			fvec_get_sample(obuf, i);			l = (fbuf[i*2+0] + fbuf[i*2+1]) / 8192;			// ignoring right channel			fvec_set_sample(ibuf, l, i);		}		func(ibuf, obuf);		printf();	}}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t