спектрограмма файла .m4a

Чтобы решить мою основную проблему, I have recorded some .m4a audio files (sample). Я хочу сначала получить такую ​​спектрограмму:


Сгенерировано Audacity.

Из здесь я могу импортировать файл:

from pydub import AudioSegment
seg = AudioSegment.from_file("voice.m4a")
print("Information:")
print("Channels:", seg.channels)
print("Bits per sample:", seg.sample_width * 8)
print("Sampling frequency:", seg.frame_rate)
print("Length:", seg.duration_seconds, "seconds")

и я знаю эти функции построения спектрограммы:

  • scipy.signal.spectrogram
  • matplotlib.pyplot.specgram

для которых есть много примеров здесь< /а>. Но я не знаю промежуточных шагов. Я был бы признателен, если бы вы могли помочь мне узнать, как мне получить приведенный выше сюжет. Это не обязательно должен быть PyBud. Любая другая библиотека (или даже другой язык, если это свободное программное обеспечение!) тоже подойдет. Спасибо за вашу поддержку заранее.

P.S. Следующим шагом будет анализ окружающего шума в режиме реального времени, например, здесь. Поэтому любая помощь в этом направлении также будет высоко оценена.


person Foad    schedule 11.04.2019    source источник


Ответы (1)


Вот пример прямо из документации (см. стр. 10 ):

# Example for plotting a spectrogram using this function
import audiosegment
import matplotlib.pyplot as plt
#...
seg = audiosegment.from_file("voice.m4a")
freqs, times, amplitudes = seg.spectrogram(window_length_s=0.03, overlap=0.5)
amplitudes = 10 * np.log10(amplitudes + 1e-9)
# Plot
plt.pcolormesh(times, freqs, amplitudes)
plt.xlabel("Time in Seconds")
plt.ylabel("Frequency in Hz")
plt.show()
  • У вас должна быть установлена ​​[библиотека AudioSegment] (например, pip install AudioSegment)
  • Библиотека FFmpeg также должна быть установлена. В Windows можно использовать Chocolatey: choco install ffmpeg
person jaket    schedule 11.04.2019
comment
Ладно, кажется, я что-то неправильно понял. Я также видел AudioSegment, но не понял, что это тоже другая библиотека. моя вина. - person Foad; 11.04.2019