鱼C论坛

 找回密码
 立即注册
查看: 2831|回复: 12

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

[复制链接]
发表于 2023-3-22 17:27:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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
求问有没有方法解决?
最佳答案
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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-22 17:29:11 | 显示全部楼层

回帖奖励 +1 鱼币

占个楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 17:40:33 | 显示全部楼层
int16没有这种用法吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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
微信截图_20230322175318.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 17:58:55 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +1 鱼币

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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-22 17:59:14 | 显示全部楼层
在problems里显示的是这个问题 Unresolved reference 'int16'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-22 18:01:37 | 显示全部楼层
isdkz 发表于 2023-3-22 17:58
那是 np.int16 你把点打成逗号了

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 18:12:18 | 显示全部楼层

回帖奖励 +1 鱼币

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

好奇 int16 是什么,没学过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 18:12:32 | 显示全部楼层

回帖奖励 +1 鱼币

学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-22 18:14:56 | 显示全部楼层
zhangjinxuan 发表于 2023-3-22 18:12
好奇 int16 是什么,没学过

16位的整数,取值范围从 -32768 到 32767
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 18:22:53 | 显示全部楼层
isdkz 发表于 2023-3-22 18:14
16位的整数,取值范围从 -32768 到 32767

有点像 short,好奇在 python 中有什么用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-22 18:45:07 | 显示全部楼层
hxiaoyuan 发表于 2023-3-22 17:55
应该可以吧,我搜索到了这个函数的用法,有类似这样的

ok
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-23 04:07:44 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 21:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表