Добрый день. Я преобразую аудио в картинку следующим кодом, не переводя stft в абсолютные числа, чтобы не потерять данные. Как я понимаю, вообще ничего не теряю, чтобы восстановить первоначальный звук, поправьте, если не так.
path = '/content/drive/MyDrive/originalputin/2.mp3.wav'
audio, sr = librosa.load(path)
print('length of the audio:',len(audio)/sr)
audio_stft = librosa.stft(audio)
audio_stft_db = librosa.power_to_db(audio_stft)
print('audio_stft.shape:',audio_stft.shape)
print('audio_stft_db.shape:',audio_stft_db.shape)
import matplotlib.pyplot as plt
import librosa.display
fig, ax = plt.subplots()
img = librosa.display.specshow(audio_stft_db, y_axis='log', x_axis='time', ax=ax)
ax.set_title('Power spectrogram')
fig.colorbar(img, ax=ax, format="%+2.0f dB")
На выходе получаю картинку. Что-то типа этой.
Вопросы.
1) Как мне без потери качества скачать только картинку этой spectogram? Чтобы без рамок, без шкалы. Главное, без потери качества вообще.
2) Как мне из этой картинки без потери качества получить снова исходный аудио файл?
Спасибо.