слишком много признаков для массива - PullRequest
0 голосов
/ 08 марта 2019

Я использовал код от пользователя Anil_M в этот вопрос Я хочу получить тот же результат.но в Моем случае он строит первое изображение enter image description here

, и после этого я получаю ошибку

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 

, и я не получаю это enter image description here

или когда я пытаюсь использовать файл 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 Ответ

0 голосов
/ 08 марта 2019

Оператор mySoundOneChannel = mySound[:,0] читает первый канал файла. Если ваш файл содержит только 1 канал, измените его на mySoundOneChannel = mySound[0:]

Что касается второго выпуска - numUniquePoints имеет тип float, поэтому вы должны разыграть его - numUniquePoints = int(numpy.ceil((mySoundLength + 1) / 2.0)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...