0
をmatplotlibのが、エラーはPython3.5、pyaudioにおける洞発電機を視覚化し、numpyの、私は副鼻腔ジェネレータを視覚化しようとしています
ValueError: x and y must have same first dimension
を取得する私は、寸法が同じであったと思ったが、明らかにそうではありません。 洞・ジェネレータは、私はmatplotlibのを追加しましたが、仕事を得ることができなかったために
import pyaudio
import numpy as np
p = pyaudio.PyAudio()
volume = 0.08 # range [0.0, 1.0]
fs = 192000 # sampling rate, Hz, must be integer
duration = 3.0 # in seconds, may be float
f = 257.0 # sine frequency, Hz, may be float
f2 = 258.0
f3 = 300.0
f4 = 301.0
oma = 2000.0
a = (np.sin(2*np.pi*np.arange(fs*duration)*f/fs)).astype(np.float32)
b = (np.sin(2*np.pi*np.arange(fs*duration)*f2/fs)).astype(np.float32)
c = (np.sin(2*np.pi*np.arange(fs*duration)*f3/fs)).astype(np.float32)
d = (np.sin(2*np.pi*np.arange(fs*duration)*f4/fs)).astype(np.float32)
om = (np.sin(2*np.pi*np.arange(fs*duration)*oma/fs)).astype(np.float32)
# generate samples, note conversion to float32 array
samples = om*(a+b+c+d)
# for paFloat32 sample values must be in range [-1.0, 1.0]
stream = p.open(format=pyaudio.paFloat32,
channels=2,
rate=fs,
output=True)
# play. May repeat with different volume values (if done interactively)
stream.write(volume*samples)
stream.stop_stream()
stream.close()
p.terminate()
標準です。私は0 - 2 * np.piの間隔で個々の波と集合関数の両方を視覚化しようとしています。
オンラインでは解決策がありますが、2つの周波数に制限されています。 Wave interference beat frequency
PLTの最新の反復は、エラーメッセージがplt.plot
に渡さx
とy
アレイの寸法に互換性がないことを暗示
import matplotlib.pyplot as plt
x = np.mgrid[0:2*np.pi]
plt.rc('lines', linewidth=4)
plt.plot(samples,x)
plt.show()
ありがとう、それは明確な答えでした。 –