jweinst1
5/9/2017 - 1:10 AM

simple python script for writing wav files with cos waves

simple python script for writing wav files with cos waves

#!/usr/bin/python

import wave, struct, math

def writeSecFreq(wvobj, dur, vol, freq, sampleRate):
	for i in range(int(dur * sampleRate)):
		value = int(vol*math.cos(freq*math.pi*float(i)/float(sampleRate)))
		data = struct.pack('<h', value)
		wvobj.writeframesraw( data )

sampleRate = 44100.0 # hertz
duration = 6.0       # seconds
frequency = 440.0    # hertz

wavef = wave.open('sound.wav','w')
wavef.setnchannels(1) # mono
wavef.setsampwidth(2) 
wavef.setframerate(sampleRate)

writeSecFreq(wavef, 1, 32400.0, 440.0, sampleRate);
writeSecFreq(wavef, 1, 32400.0, 400.0, sampleRate);
writeSecFreq(wavef, 1, 32400.0, 380.0, sampleRate);

writeSecFreq(wavef, 1, 32400.0, 240.0, sampleRate);
writeSecFreq(wavef, 1, 32400.0, 500.0, sampleRate);
writeSecFreq(wavef, 0.5, 32400.0, 680.0, sampleRate);
writeSecFreq(wavef, 0.5, 32400.0, 480.0, sampleRate);


wavef.writeframes('')
wavef.close()