Изменить частоту дискретизации звука, не влияя на скорость воспроизведения - PullRequest
1 голос
/ 12 марта 2020

Я просто пытаюсь изменить частоту дискретизации набора аудиоданных (в формате .wav) с 32000 Гц до 44100 Гц, но при этом скорость воспроизведения тоже изменяется (очень приемлемо и логично). Моя точка зрения, как я могу сделать это изменение без изменения скорости воспроизведения? В настоящее время я использую Wave lib, чтобы сделать это. Посмотрите следующий код:

import wave
# First i open the file.wav on read mode
opened_audio = wave.open(caminho, 'rb')

# Then i get all information that will be maintained                   
channels = opened_audio.getnchannels()
swidth = opened_audio.getsampwidth()
signal = opened_audio.readframes(-1)
opened_audio.close()

# Here i open the file.wav on write mode
wf = wave.open(caminho, 'wb')

# Then i set all obtained data that will not be changed
wf.setnchannels(channels)
wf.setsampwidth(swidth)
# Here is the new sampling rate in Hz
wf.setframerate(44100)
wf.writeframes(signal)
wf.close()

Подробно: я уже прочитал много постов здесь, но никто не решил проблему.

...