Maxim_Baturo
@Maxim_Baturo

Почему оригинальный и восстановленный звук отличаются?

Добрый день. Написал такой код.

import librosa
import librosa.display
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

def read_audio_from_filename(filename):
    audio, sr = librosa.load(filename, sr = None)
    print(sr)
    D = np.abs(librosa.stft(audio))**2
    audio= librosa.feature.melspectrogram(y=audio, sr=sr, S=D)
    return audio

def convert_data():
    wav_filename = "path"
    audio = read_audio_from_filename(wav_filename)
    return audio

specto = convert_data()
res = librosa.feature.inverse.mel_to_audio(specto)

sf.write('path-1', res, 44100, 'PCM_24')

ipd.display(ipd.Audio('path'))
ipd.display(ipd.Audio('path-1'))


Также я заметил, что len(res) и len(audio) различаются. Это очевидно, искажает аудио, может вся проблема и только в этом. Как это исправить?

В первой функции я вывожу sr, который мне предлагает библиотека, этим же sr я восстанавливаю аудио в конце, но звук различается. Как исправить? Спасибо.
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Я думаю, потому, что настройки по-умолчанию сильно портят аудиозапись. Надо тоньше настраивать библиотеку при загрузке аудио.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы