В моем коде Python я хочу изменить некоторые свойства звука, такие как высота, темп, величина и т. Д. Сделанная мной операция похожа на следующий код
import librosa
import scipy
from pydub import AudioSegment
ses ="abb.wav"
x,sr = librosa.load(ses)
import IPython.display as ipd
import numpy as np
print('samples = {}'.format(len(x)))
print('sample rate = {}'.format(sr))
print('seconds = {}'.format(len(x) / sr))
y_fast = librosa.effects.time_stretch(x,0.5)
print('seconds = {}'.format(len(y_fast) / sr))
input_length = len(y_fast)
streching = librosa.effects.time_stretch(y_fast.astype('float'), 1.65)
if len(streching) > input_length:
streching = streching[:input_length]
else:
streching = np.pad(streching, (0, max(0, input_length - len(streching))), "constant")
n=4
factor=2**(1.0 * n / 12.0)
stretching=streching/factor
Audio(streching, rate=sr)
librosa.output.write_wav('aaaa.mp3', streching, sr)
Без вызова операции растяжения, я успешно проигрываю звук с помощью Audio () и записываю его в файл. С другой стороны, если я вызываю операции растяжения, я не могу успешно записать звуковые данные в виде файла WAV (он записан как WAV, но не может быть воспроизведен по-настоящему). Тем не менее, аудио работает правильно для этого растяжения. Есть ли какая-либо причина, по которой я не могу правильно записать его как .wav, когда я использую растяжение звука, или я делаю что-то не так? Заранее спасибо, король привет. Cengizhan YAPICIOĞLU