void loadtests()
{
	char tests[6][255]={
"..\\..\\media\\bitrates\\d22k16bit1ch.wav",
"..\\..\\media\\bitrates\\d22k8bit1ch.wav",
"..\\..\\media\\bitrates\\d22k8bit2ch.wav",
"..\\..\\media\\bitrates\\d44k16bit1ch.wav",
"..\\..\\media\\bitrates\\d44k16bit2ch.wav",
"..\\..\\media\\bitrates\\d44k8bit1ch.wav"
	};
	
	int i; for (i=0; i<6; i++)
	{
		CAudioData * audio;
		FILE*fin = fopen(tests[i], "rb");
		errormsg msg = caudiodata_loadwave(&audio, fin);
		if (msg != OK) puts(msg);
		fclose(fin);
		
		printf("\n%s\nLength :%d", tests[i], audio->length);
		inplaceeffect_volume(audio,0.1);
		
		char buf[128];
		sprintf(buf, "out%d.wav", i);
		msg = caudiodata_savewave(audio, buf, 16);
		if (msg != OK) puts(msg);
		
		caudiodata_dispose(audio);
	}
}
示例#2
0
文件: examples.c 项目: Alexrerx/yaalp
void loadtests()
{
	char tests[6][255]={
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d22k16bit1ch.wav",
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d22k8bit1ch.wav",
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d22k8bit2ch.wav",
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d44k16bit1ch.wav",
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d44k16bit2ch.wav",
"C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d44k8bit1ch.wav"
	};
	
	int i; for (i=0; i<6; i++)
	{
		CAudioData * audio;
		FILE*fin = fopen(tests[i], "rb");
		errormsg msg = caudiodata_loadwave(&audio, fin);
		if (msg != OK) puts(msg);
		fclose(fin);
		
		printf("\n%s\nLength :%d", tests[i], audio->length);
		inplaceeffect_volume(audio,0.1);
		
		char buf[128];
		sprintf(buf, "out%d.wav", i);
		FILE * fout=fopen(buf, "wb");
		msg = caudiodata_savewave(audio, fout, 16);
		if (msg != OK) puts(msg);
		fclose(fout);
		
		caudiodata_dispose(audio);
	}
}
void testReverse()
{
	CAudioData * w1; 
	FILE*fin = fopen("..\\..\\media\\bitrates\\d22k8bit1ch.wav", "rb");
	errormsg msg = caudiodata_loadwave(&w1, fin);
	if (msg != OK) puts(msg);
	fclose(fin);
	
	inplaceeffect_reverse(w1);
	
	msg = caudiodata_savewave(w1, "testout\\outrev.wav", 16);
	if (msg != OK) puts(msg);
	caudiodata_dispose( w1);
}
示例#4
0
文件: examples.c 项目: Alexrerx/yaalp
void testReverse()
{
	CAudioData * w1; 
	FILE*fin = fopen("C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d22k8bit1ch.wav", "rb");
	errormsg msg = caudiodata_loadwave(&w1, fin);
	if (msg != OK) puts(msg);
	fclose(fin);
	
	inplaceeffect_reverse(w1);
	
	FILE * f = fopen("outrev.wav", "wb");
	msg = caudiodata_savewave(w1, f, 16);
	if (msg != OK) puts(msg);
	fclose(f);
	caudiodata_dispose( w1);
}
示例#5
0
文件: wav2freq.c 项目: Alexrerx/yaalp
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;
}
示例#6
0
文件: examples.c 项目: Alexrerx/yaalp
void testPitchScaleOrVibrato()
{
	CAudioData * w1;CAudioData* out;
	FILE*fin = fopen("longinput.wav", "rb");
	errormsg msg = caudiodata_loadwave(&w1, fin);
	if (msg != OK) puts(msg);
	fclose(fin);

	//~ msg =  effect_scale_pitch_duration(&out, w1, 0.7);
	msg =  effect_vibrato(&out, w1, 0.2, 0.1);
	if (msg != OK) { puts(msg);  return 0;}
	FILE * f = fopen("out.wav", "wb");
	msg = caudiodata_savewave(out, f, 16);
	if (msg != OK) puts(msg);
	fclose(f);
	
	caudiodata_dispose( w1);
	caudiodata_dispose( out);
}
示例#7
0
文件: examples.c 项目: Alexrerx/yaalp
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);
}
void mixwithsine() // or modulate, or append, an easy change
{
	CAudioData * w1; CAudioData* w2;CAudioData* out;
	FILE*fin = fopen("..\\..\\media\\bitrates\\d22k8bit1ch.wav", "rb");
	errormsg msg = caudiodata_loadwave(&w1, fin);
	if (msg != OK) puts(msg);
	fclose(fin);
	
	synth_sin(&w2, 300, caudiodata_getLengthInSecs(w1), 0.8); //sine wave, 300Hz
	
	msg =  effect_mix(&out, w1, w2, 0.5, 0.1); //effect_append(&out, w2, w1);
	if (msg != OK) { puts(msg);  return 0;}
	msg = caudiodata_savewave(out, "testout\\out.wav", 16);
	if (msg != OK) puts(msg);
	
	caudiodata_dispose( w1);
	caudiodata_dispose( w2);
	caudiodata_dispose( out);
}
示例#9
0
文件: examples.c 项目: Alexrerx/yaalp
void mixwithsine() // or modulate, or append, an easy change
{
	CAudioData * w1; CAudioData* w2;CAudioData* out;
	FILE*fin = fopen("C:\\pydev\\yalp\\Subversion\\csaudio\\WaveAudio\\WaveAudioTests\\test_media\\d22k8bit1ch.wav", "rb");
	errormsg msg = caudiodata_loadwave(&w1, fin);
	if (msg != OK) puts(msg);
	fclose(fin);
	
	synth_sin(&w2, 300, caudiodata_getLengthInSecs(w1), 0.8); //sine wave, 300Hz
	
	msg =  effect_mix(&out, w1, w2, 0.5, 0.1); //effect_append(&out, w2, w1);
	if (msg != OK) { puts(msg);  return 0;}
	FILE * f = fopen("out.wav", "wb");
	msg = caudiodata_savewave(out, f, 16);
	if (msg != OK) puts(msg);
	fclose(f);
	
	caudiodata_dispose( w1);
	caudiodata_dispose( w2);
	caudiodata_dispose( out);
}
示例#10
0
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;
}
示例#11
0
文件: examples.c 项目: Alexrerx/yaalp
void testAudacityPhaser()
{
	CAudioData * w1;
	char inname[] = "C:\\pydev\\yalp\\Subversion\\csaudio\\c_audio\\longinput.wav";
	errormsg msg = caudiodata_loadwave(&w1, inname);
	if (msg != OK) {puts(msg); return 0;}
	
	//Phaser:
	//double freq, double fb, int depth, int stages, int drywet
	//msg =  effect_phaseraud(w1, .7, -60, 130, 4, 255);
	
	//Wahwah: (use simon.wav)
	//double freq, double depth, double freqofs, double res)
	//msg =  effect_wahwahaud(w1, 1.5, 0.7, 0.1, 2.5);
	
	if (msg != OK) { puts(msg);  return 0;}
	
	char outname[] = "C:\\pydev\\yalp\\Subversion\\csaudio\\c_audio\\out2.wav"; 
	msg = caudiodata_savewave(w1, outname, 16);
	if (msg != OK) {puts(msg); return 0;}
	
	caudiodata_dispose( w1);
}
示例#12
0
void testAudacityPhaser()
{
	CAudioData * w1;
	char inname[] = "..\\..\\media\\songclips\\rb_long.wav";
	errormsg msg = caudiodata_loadwave(&w1, inname);
	if (msg != OK) {puts(msg); return 0;}
	
	//Phaser:
	//double freq, double fb, int depth, int stages, int drywet
	//msg =  effect_phaseraud(w1, .7, -60, 130, 4, 255);
	
	//Wahwah: (use simon.wav)
	//double freq, double depth, double freqofs, double res)
	//msg =  effect_wahwahaud(w1, 1.5, 0.7, 0.1, 2.5);
	
	if (msg != OK) { puts(msg);  return 0;}
	
	char outname[] = "testout\\out2.wav"; 
	msg = caudiodata_savewave(w1, outname, 16);
	if (msg != OK) {puts(msg); return 0;}
	
	caudiodata_dispose( w1);
}