【发布时间】:2020-07-12 01:43:28
【问题描述】:
我想用我创建 numpy 的 sounddevice 录制音调并将其写入 wav 文件。这是代码:
import numpy
import sounddevice as sd
import soundfile as sf
import sys
duration = 3
amplitude = 0.3
sampling_frequency = 44100
time = numpy.arange(int(numpy.ceil(duration * sampling_frequency))) / sampling_frequency
frequency1 = 500
tone1 = amplitude * numpy.sin(2* numpy.pi * frequency1 * time)
frequency2 = 700
tone2 = amplitude * numpy.sin(2* numpy.pi * frequency1 * time)
frequency3 = 1500
tone3 = amplitude * numpy.sin(3* numpy.pi * frequency1 * time)
frequency4 = 400
tone4 = amplitude * numpy.sin(4* numpy.pi * frequency1 * time)
result = tone1
result2 = tone2
result3 = tone3
result4 = tone4
sd.play(result + result2 + result3 + result4, sampling_frequency)
filename = 'output.wav'
mydata = sd.rec(int(result + result2 + result3 + result4),sampling_frequency,channels=2, blocking=True)
sf.write(filename, mydata, sampling_frequency)
我收到此错误:只有长度为 1 的数组可以转换为 Python 标量 代码有什么问题?我是python的新手
【问题讨论】:
-
如果您添加完整的错误消息会很有帮助,因为它指定了哪一行产生了错误。