2024.4.23 load【librosa】
公式サイト
load
https://librosa.org/doc/latest/generated/librosa.load.html#librosa.load
引数
path: 文字列
入力ファイルのパス
sr: > 0 の整数値
ターゲットのサンプリングレート、
デフォルトは22,050
mono : bool値
変換後をモノラル音声にする
offset float型
音声データから読み込みを開始する位置の指定、単位は秒
duration:float
読み込みを行う長さを指定、単位は秒
dtype
出力(戻り値)のデータ型
res_type
リサンプルの手法の指定、デフォルトでは'soxr'
リサンプリングとは、再標本化のことであり、ある間隔で標本化された点列データを別の間隔で標本化されたデータに変換することである
これは読み込み時についての指定であり、読み込み後については resample【librosa】が提供されている
戻り値
y:np.ndarray型
時系列の音響信号、多チャンネルに対応している
ステレオをモノラルに変換したとき、左右チャネルの音響データを加算するのか、その扱いについては要チェックである。
sr: > 0 となるスカラ値
出力 y のサンプリングレート
井上君のデータで試しに実行、引数は最低限のデフォルト値を確認する
>>> y, sr= librosa.load('resources/sample.wav')
>>> y.shape
(2844929,)
>> sr
22050
読み込んだ結果の音響データについて、
どうやらモノラル信号、長さは2844929
デフォルトのサンプリング周波数は22,050(2万2千50)
ちなみにCDのサンプリング周波数は44.1KHz=44,100(業界標準的な値)なので、この半分である。
なので、
>>> t/sr
129.02172335600906
約129秒(=2分9秒)の音響データであることが確認できる。
ステレオで読み込む
>>> y, sr= librosa.load('resources/sample.wav', mono=False)
>>> y.shape
(2, 2844929)
ステレオデータの形状が確認できた。また、名前付き引数monoはデフォルトでTrueのようだ。
durationを試してみる。
>>> y, sr= librosa.load('resources/sample.wav', duration=10.0)
>>> y.shape
(220500,)
>>> y.shape[0]] / sr
10.0
読み込む長さを秒数(float値)で指定する。
offset
>>> y, sr= librosa.load('resources/sample.wav', offset=120)
>>> y.shape[0] / sr
9.02172335600907
読み込み位置を120秒目に指定した。その他はデフォルト値なので音響データの終端まで読み込みを行う。結果、約9秒分のデータが取得できた。
https://scrapbox.io/files/6627064ddcc8bd00254c2f66.png