Python: ValueError: объект слишком глубок для желаемого массива. Как это исправить?Python

Программы на Python
Anonymous
Python: ValueError: объект слишком глубок для желаемого массива. Как это исправить?

Сообщение Anonymous »

VScode показывает ошибку в строках 12 и 22. Вот код.

Код: Выделить всё

from scipy.io import wavfile
import numpy as np

def change_pitch(input_file, output_file, semitones, nsemitones):
# Read the .wav file
sample_rate, data = wavfile.read(input_file)

# Define the pitch shift factor
pitch_factor = 2 ** (semitones / nsemitones)

# Apply pitch shift
shifted_data = np.interp( np.arange(0, len(data), pitch_factor),np.arange(0, len(data)),data).astype(data.dtype)

# Write the modified data to a new .wav file
wavfile.write(output_file, sample_rate, shifted_data)

#Test usage
input_file = "rhodes.wav"
output_file = "output.wav"
semitones_to_change = 10  # Change this value according to your requirement
nsemitones = 12
change_pitch(input_file, output_file, semitones_to_change, nsemitones)
вот ошибки:

Код: Выделить всё

 File "C:\Users\hp\OneDrive\Bureau\useless fucking MIDi\python.py", line 12, in change_pitch
shifted_data = np.interp( np.arange(0, len(data), pitch_factor),np.arange(0, len(data)),data).astype(data.dtype)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
line 22, in 
change_pitch(input_file, output_file, semitones_to_change, nsemitones)
ValueError: object too deep for desired array
Я хочу изменить частоту «rhodes.wav» на c4 вместо d3

Подробнее здесь: https://stackoverflow.com/questions/783 ... i-fix-this

Вернуться в «Python»