为了账号安全,请及时绑定邮箱和手机立即绑定

数组的索引过多

数组的索引过多

慕村225694 2021-11-30 16:12:09
我在这个问题中使用了用户 Anil_M 的代码,我想得到相同的结果。但在我的情况下,它绘制了第一张图像之后我收到一个错误Traceback (most recent call last):  File "c:/Users/Maram/Desktop/Spectrogram/first_attempt.py", line 73, in <module>    fftArray = fftArray[0:numUniquePoints]TypeError: slice indices must be integers or None or have an __index__ method 我不明白这个或者当我尝试使用稍大的 wav 文件时,它甚至不显示第一张图像。我刚收到这个错误:Traceback (most recent call last):      File "c:/Users/Maram/Desktop/Spectrogram/first_attempt.py", line 38, in <module>        mySoundOneChannel = mySound[:,0]    IndexError: too many indices for array我认为这些错误在某种程度上是相关的,但我只是不明白它是如何或为什么引起的。有人可以帮我让它运行说一个更大的 wav 文件/更长的轨道,或者帮助我让我现有的代码运行功率与频率图?任何帮助将非常感激。(我不知道这是否被认为是重复的——在最初的问题中,没有人遇到过同样的问题。)
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

该语句mySoundOneChannel = mySound[:,0]读取文件的第一个通道。如果您的文件仅包含 1 个频道,请将其更改为mySoundOneChannel = mySound[0:]

至于第二个问题 -numUniquePoints是类型float,所以你必须转换它 - numUniquePoints = int(numpy.ceil((mySoundLength + 1) / 2.0))


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信