生成15Khz音调的声音文件

vy3*_*y32 8 c python audio mp3

我正在玩高音调的声音.我想生成一个1秒15Khz爆发的MP3文件.有没有一种简单的方法从C或Python做到这一点?我不想使用MATLAB.

zee*_*kay 14

您可以使用Python的wave模块创建一个波形文件,然后可以将其压缩为MP3.要创建一秒钟的15khz正弦波:

import math
import wave
import struct

nchannels = 1
sampwidth = 2
framerate = 44100
nframes = 44100
comptype = "NONE"
compname = "not compressed"
amplitude = 4000
frequency = 15000

wav_file = wave.open('15khz_sine.wav', 'w')
wav_file.setparams((nchannels, sampwidth, framerate, nframes, comptype, compname))
for i in xrange(nframes):
    sample = math.sin(2*math.pi*frequency*(float(i)/framerate))*amplitude/2
    wav_file.writeframes(struct.pack('h', sample))
wav_file.close()
Run Code Online (Sandbox Code Playgroud)