Pythonの科学技術計算ライブラリであるSciPyで、音声/音楽データを読み込むにはscipy.io.wavfile.readを用いる。
SciPyライブラリ内にある音源を、サンプル音源として用いるため以下コードを実行して、音源のパスを得る。
from os.path import dirname, join as pjoin
from scipy.io import wavfile
import scipy.io
data_dir = pjoin(dirname(scipy.io.__file__), 'tests', 'data')
wav_fname = pjoin(data_dir, 'test-44100Hz-2ch-32bit-float-be.wav')
scipy.io.wavfile.readの使い方
第一引数filename
に、音源のパスを指定する。返り値は、サンプリング周波数と、信号の値で、’numpy.ndarray’で読み込まれる。
import matplotlib.pyplot as plt
samplerate, data = wavfile.read(filename=wav_fname)
print(data.shape)
# (441, 2)
print(type(data))
# <class 'numpy.ndarray'>
print(samplerate)
# 44100
scipy.io.wavfile.readで読み込み可能なファイル形式
scipy.io.wavfile.readで読み込み可能なファイル形式は、WAV形式のみで以下のフォーマットに対応している。フォーマットによってNumpyの型が変わるので注意が必要した方がよい。
WAV format | Min | Max | NumPy dtype |
---|---|---|---|
32-bit floating-point | -1.0 | +1.0 | float32 |
32-bit integer PCM | -2147483648 | +2147483647 | int32 |
24-bit integer PCM | -2147483648 | +2147483392 | int32 |
16-bit integer PCM | -32768 | +32767 | int16 |
8-bit integer PCM | 0 | 255 | uint8 |
関連記事、関連資料
- 関連記事 – librosaで音声/音楽データを読み込むlibrosa.load【Python】
- 関連記事 – PyTorchで音声/音楽データを読み込むtorchaudio.load
- 関連記事 – PySoundFileで音声/音楽データを読み込むsoundfile.read【Python】
- GitHubコード
python-sampler/Python-audio-load/SciPy-io-wavfile-read/scipy-io-wavfile-read.ipynb at main · take-tech-09/python-sampler
Contribute to take-tech-09/python-sampler development by creating an account on GitHub.
コメント