我在這個問題中使用了用戶 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))
。
添加回答
舉報
0/150
提交
取消