python 用于编写带有cos波的wav文件的简单python脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 用于编写带有cos波的wav文件的简单python脚本相关的知识,希望对你有一定的参考价值。

#!/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()

以上是关于python 用于编写带有cos波的wav文件的简单python脚本的主要内容,如果未能解决你的问题,请参考以下文章