尝试通过组合谐波序列来创建一些音符。代码非常简单,但声音却没有输出。有什么想法吗?
from IPython.display import Audio
import numpy as np
import matplotlib.pyplot as plt
def Harmonic(i,linComb):
x=np.linspace(0,3,24000)
y = [0 for _ in x]
weights = linComb
for n in range(0,i):
y += np.sin((2*n+1)*(2*np.pi*weights[n])*(x))/(2*n+1)
plt.plot(x,y)
plt.show()
return y
out = Harmonic(3,[0,2,3])
Audio(data=out, rate=8000)
我尝试过以下几个方法:
- 更改速率
- 操作y值
- 确保谐波函数有效
- 查看这个答案(使用相同的函数,但仍然不起作用)
非常感谢任何帮助。谢谢。
times
未定义。也许你想使用x
? - Scenex
。感谢您的提醒。 - rb3652