TOP/拡張スクリプト/Wave クラス

Wave クラス

概要

wav ファイルまたは ogg ファイルを読み込んで取り扱うクラスになります。wav ファイルまたは ogg ファイルとして出力もできます。

内部的には 44.1kHz 64bit で処理しており、0 を起点に正の方向と負の方向にデータが並んでいます。

コンストラクタ

constructor( path )

path は string です。 path で指定された wav ファイルまたは ogg ファイルを読み込んでインスタンスを作成します。 拡張子が ogg の場合は ogg として、それ以外の場合は wav ファイルとして読み込みます。

path を省略した場合は空のインスタンスを作成します。

関数

get_length() -> integer

データの長さが返却されます。

get_positive_length() -> integer

正の方向のデータの長さが返却されます。

get_negative_length() -> integer

負の方向のデータの長さが返却されます。

change_volume( ratio )

ratio は float です。 WAV の音量を ratio 倍にします。

mixin_at( start, other, other_start = 0 )

start は integer 、 otherWave クラスのインスタンス、other_start は integer です。 自身の start の位置から otherother_start の位置からのデータを合成します。

peak_normalize()

データ中の最も大きい部分を基準にそれが最大音量になるように自身の音量を変更します。

over_normalize( over_ratio )

over_ratio は float です。 データ中の大きい方から over_ratio の位置のデータを基準にそれが最大音量になるように自身の音量を変更します 通常は非常に小さい値(例: 0.0001)を指定します。

get_over_normalize_ratio( over_ratio ) -> float

over_ratio は float です。 over_normalize 関数でノーマライズした場合の音量の変更倍率を取得します。 音量は変更しません。

trim( start, end )

start は integer 、 end は integer です。 自身の start の位置から end の位置までのデータを残して他を削除します。

trim_front_silence()

データの先頭にある音量 0 のデータを全て削除します。

insert_front_silence( length )

length は integer です。 データの先頭に音量 0 のデータを length の長さ分挿入します。

insert_front_silence_by_second( second )

second は float です。 データの先頭に音量 0 のデータを second 秒の長さ分挿入します。

fade_in( start, end, ratio = 0.0 )

start は integer 、 end は integer 、ratio は float です。 自身のstart から end 迄の範囲を対象にフェードイン処理をします。 処理範囲の先頭の音量は ratio で指定した倍率で変更されます。

fade_out( start, end, ratio = 0.0 )

start は integer 、 end は integer 、ratio は float です。 自身のstart から end 迄の範囲を対象にフェードアウト処理をします。 処理範囲の末尾の音量は ratio で指定した倍率で変更されます。

clear()

データを全て削除してデータを空にします。

write_to_file( path )

path は string です。 path で指定したファイルに自身のデータを出力します。

write_to_file_as_ogg( path, quality )

path は string 、quality は float です。 path で指定したファイルに自身のデータを ogg ファイルとして、quality で指定した品質で出力します。 品質の範囲は -0.1 ~ 1.0 (Low ~ High)になります。

TOP/拡張スクリプト/Wave クラス