hxiaoyuan 发表于 2023-3-22 17:27:14

name 'int16' is not defined这个错误怎么解决呀

本帖最后由 hxiaoyuan 于 2023-3-22 17:29 编辑

代码:
import wave
import numpy as np
import matplotlib.pyplot as plt

fw = wave.open('test.wav','r')
soundInfo = fw.readframes(-1)
soundInfo = np.fromstring(soundInfo,np,int16)
f = fw.getframerate()
fw.close()

plt.subplot(211)
plt.plot(soundInfo)
plt.ylabel('Amplitude')
plt.title('wave from and spectrogram of test.wav')

plt.subplot(212)
plt.specgram(soundInfo,Fs = f ,scale_by_freq = True,sides = 'default')
plt.ylabel('Frequency')
plt.xlabel('time(seconds)')
plt.show()



报错:
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\加油加油! !\实验\绘制语谱图\main.py", line 7, in <module>
    soundInfo = np.fromstring(soundInfo,np,int16)
NameError: name 'int16' is not defined
求问有没有方法解决?

sfqxx 发表于 2023-3-22 17:29:11

占个楼

sfqxx 发表于 2023-3-22 17:40:33

int16没有这种用法吧?

hxiaoyuan 发表于 2023-3-22 17:55:11

本帖最后由 hxiaoyuan 于 2023-3-22 17:57 编辑

sfqxx 发表于 2023-3-22 17:40
int16没有这种用法吧?

应该可以吧,我搜索到了这个函数的用法,有类似这样的C:\Users\ASUS\Desktop\微信截图_20230322175318.png

isdkz 发表于 2023-3-22 17:58:55

hxiaoyuan 发表于 2023-3-22 17:55
应该可以吧,我搜索到了这个函数的用法,有类似这样的

那是 np.int16 你把点打成逗号了

import wave
import numpy as np
import matplotlib.pyplot as plt

fw = wave.open('test.wav','r')
soundInfo = fw.readframes(-1)
soundInfo = np.fromstring(soundInfo,np.int16)
f = fw.getframerate()
fw.close()

plt.subplot(211)
plt.plot(soundInfo)
plt.ylabel('Amplitude')
plt.title('wave from and spectrogram of test.wav')

plt.subplot(212)
plt.specgram(soundInfo,Fs = f ,scale_by_freq = True,sides = 'default')
plt.ylabel('Frequency')
plt.xlabel('time(seconds)')
plt.show()

hxiaoyuan 发表于 2023-3-22 17:59:14

在problems里显示的是这个问题 Unresolved reference 'int16'

hxiaoyuan 发表于 2023-3-22 18:01:37

isdkz 发表于 2023-3-22 17:58
那是 np.int16 你把点打成逗号了

是的{:5_100:}

zhangjinxuan 发表于 2023-3-22 18:12:18

isdkz 发表于 2023-3-22 17:58
那是 np.int16 你把点打成逗号了

好奇 int16 是什么,没学过

myd0311 发表于 2023-3-22 18:12:32

学习

isdkz 发表于 2023-3-22 18:14:56

zhangjinxuan 发表于 2023-3-22 18:12
好奇 int16 是什么,没学过

16位的整数,取值范围从 -32768 到 32767

zhangjinxuan 发表于 2023-3-22 18:22:53

isdkz 发表于 2023-3-22 18:14
16位的整数,取值范围从 -32768 到 32767

有点像 short{:10_256:},好奇在 python 中有什么用

sfqxx 发表于 2023-3-22 18:45:07

hxiaoyuan 发表于 2023-3-22 17:55
应该可以吧,我搜索到了这个函数的用法,有类似这样的

ok

平凡之路1314 发表于 2023-3-23 04:07:44

学习
页: [1]
查看完整版本: name 'int16' is not defined这个错误怎么解决呀