Beispiel #1
0
int main(int argc, char ** argv)
{
	errormsg msg;
	if (argc < 4)
	{
		puts(usage);
		return 0;
	}
	if (strcmp(argv[1], "f")==0)
	{
		/*const*/ char* wavname = argv[2];
		/*const*/ char* outname = argv[3];
		int blocksize = atoi(argv[4]);
		if (blocksize<=2) {puts("blocksize must be a positive power of 2 greater than 2.\n"); return 1;}
		
		CAudioData * audio =NULL;
		msg = caudiodata_loadwave(&audio, wavname);
		if (msg != OK) {puts(msg); return 1;}
		msg = dumpToFrequencyAngles(audio, outname, blocksize);
		if (msg != OK) {puts(msg); return 1;}
		
		caudiodata_dispose(audio);
	}
	else if (strcmp(argv[1], "w")==0)
	{
		/*const*/ char* datname = argv[2];
		/*const*/ char* outname = argv[3];
		
		CAudioData * audio =NULL;
		
		msg = readFrequenciesToSamples(&audio, datname);
		if (msg != OK) {puts(msg); return 1;}
		msg = caudiodata_savewave(audio, outname, 16);
		if (msg != OK) {puts(msg); return 0;}
	
		caudiodata_dispose(audio);
	}
	else
	{
		puts("f or w expected.\n");
		puts(usage);
		return 1;
	}
	
	return 0;
}
Beispiel #2
0
int exfft()
{
	CAudioData * w1=NULL;  CAudioData  *w2=NULL;
	char inname[] = "C:\\pydev\\yalp\\Subversion\\c_audio\\media\\srt.wav";
	errormsg msg = caudiodata_loadwave(&w1, inname);
	if (msg != OK) {puts(msg); return 0;}
	
	msg=dumpToFrequencyAngles(w1,  "C:\\pydev\\yalp\\Subversion\\c_audio\\media\\longinput_opt.dat", 2048);
	if (msg != OK) {puts(msg); return 0;}
	
	msg=readFrequenciesToSamples(&w2, "C:\\pydev\\yalp\\Subversion\\c_audio\\media\\longinput_opt.dat");
	if (msg != OK) {puts(msg); return 0;}
	
	msg = caudiodata_savewave(w2, "oout_opt.wav", 16);
	if (msg != OK) {puts(msg); return 0;}
	
	caudiodata_dispose( w1);
	caudiodata_dispose( w2);
}
int exfft()
{
	//round-trips from .wav to .dat to .wav
	CAudioData * w1=NULL;  CAudioData  *w2=NULL;
	char inname[] = "..\\..\\media\\songclips\\rb_short.wav";
	errormsg msg = caudiodata_loadwave(&w1, inname);
	if (msg != OK) {puts(msg); return 0;}
	
	msg=dumpToFrequencyAngles(w1,  "testout\\fft_opt.dat", 2048);
	if (msg != OK) {puts(msg); return 0;}
	
	msg=readFrequenciesToSamples(&w2, "testout\\fft_opt.dat");
	if (msg != OK) {puts(msg); return 0;}
	
	msg = caudiodata_savewave(w2, "testout\\fft_opt_roundtrip.wav", 16);
	if (msg != OK) {puts(msg); return 0;}
	
	caudiodata_dispose( w1);
	caudiodata_dispose( w2);
	return 0;
}