Exemplo n.º 1
0
/* makes wav file */
void makewav(const UL rate,const UL dlen){
 const UL mlen=dlen+44;
 UC*const m=malloc(mlen);
 if(m){
  wavhdr(m,rate,dlen);
  makeaud(m+44,rate,dlen);
  savefile("out.wav",m,mlen);
 }
}
Exemplo n.º 2
0
/* makes wav file */
void makertty(UL freq, UL baud, int DataBits, int StopBits, char *Message, char *Filename)
{
	UL preamble_length, postamble_length, cycles_per_bit, cycles_per_byte, total_cycles, message_length;
	UC* m;
	FILE *f;
	int i, NumberOfBits;
	
	f = fopen(Filename,"wb");
	
	// Calculate size of file
	preamble_length = 20;
	postamble_length = 10;
	
	printf ("message=%s\n", Message);

	EscapeCharactersIn(Message);
	message_length = strlen(Message); 
	
	printf ("baud=%d\n", baud);
	printf ("freq=%d\n", freq);
	cycles_per_bit = freq / baud;
	printf ("cycles_per_bit=%d\n", cycles_per_bit);
	NumberOfBits = 1 + DataBits + StopBits;
	cycles_per_byte = cycles_per_bit * NumberOfBits;	// 1 stop 7 data 2 stop
	printf ("cycles_per_byte=%d\n", cycles_per_byte);
	total_cycles = (cycles_per_byte * message_length) + ((preamble_length + postamble_length) * cycles_per_bit);

	// Make header
	m = malloc(44);
	wavhdr(m, freq, total_cycles);
	
	// Write wav header
	fwrite(m, 1, 44, f);
	
	// Write preamble
	for (i=0; i< preamble_length; i++)
	{
		make_and_write_bit(f, cycles_per_bit, 1);
	}
	
	// Create and write wav data
	while (*Message)
	{
		make_and_write_byte(f, cycles_per_bit, DataBits, StopBits, *Message++);
	}

	// Write postamble
	for (i=0; i< postamble_length; i++)
	{
		make_and_write_bit(f, cycles_per_bit, 1);
	}
	
	fclose(f);
}