幻魔ナイトブログ

主に絵、音楽、プログラミングなどについて書きます。

音声ファイルの周波数を解析してみよう その1

f:id:MahiroN:20200823135552p:plain

概要

皆さんこんにちは。

チューナーを作ってみたい!。。と思ったけどはるか遠い道のりなので基礎の基礎から始めようと思ったのがことの発端です。

今回は音声ファイルを開き、周波数を解析するモジュールを作ってみたいと思います。

参考にしたサイト

Pythonを使って音声データからスペクトログラムを作成する | 自調自考の旅

実際のコード

今回は以下のことをやってみます。

  • 音声ファイルをpythonで読み込む
  • 音声の波形をプロットする
  • フーリエ変換を行い周波数分布をプロットする

以下、実際のコードです。コードを実行する前にpydubとffmpegをインストールしておきましょう。

#!/usr/bin/env python
# coding: utf-8


from pydub import AudioSegment
import matplotlib.pyplot as plt
import numpy as np
def fft_test_1():
    sound = AudioSegment.from_file("test_sound.m4a", "m4a")
    samples = sound.get_array_of_samples()
    F = np.fft.fft(samples)
    F_abs = np.abs(F)
    plt.plot(F_abs)
    plt.show()
def plot_sound():
    sound = AudioSegment.from_file("test_sound.m4a", "m4a")

    samples = sound.get_array_of_samples()

    plt.plot(samples)
    plt.show()

if __name__ == "__main__":
    plot_sound()
    fft_test_1()

お問合わせはこちら