ailia Audio : 音声の前処理・後処理を行うライブラリ
音声の前処理・後処理用のライブラリであるailia Audioのご紹介です。ailia Audioを使用することで音声AIのデバイス実装が容易になります。
ailia Audioの概要
ailia Audioはailia SDKに含まれる音声の前処理・後処理用のライブラリです。

ailia Audio
近年、音声分野でAIの利用が増加しています。具体的に、音声認識、音声合成、ピッチ推定、ノイズ除去などです。
しかし、音声を扱う場合、入力された音声波形にメルスペクトル変換を適用することが多く、この処理はAIモデルではなく、torch.audioやlibrosaなどの外部ライブラリで行われていました。
そのため、AIモデルはONNXに変換できるものの、iOSやAndroidで動かそうとした場合、メルスペクトル変換の前処理を独自に実装する必要がありました。メルスペクトル変換にはFFTなどの実装が必要であり、大きな工数が必要です。
ailia Audioはこの問題を解決するライブラリです。torch.audioやlibrosaと互換のメルスペクトル変換などの各種のAPIを提供することで、Pythonで書かれた音声処理のAIモデルを、簡単にiOSやAndroidで実装可能にします。
ailia Audioの利用例
音声認識モデルのWhisperは入力された音声波形から、log_melspectrumを計算する必要があります。ailia Audioにより、WhisperをiOSやAndroidに実装することが可能となります。
librosaによる実装
librosaでは、librosa.stft、librosa.filters.melを呼び出した後、log10を計算することで、log_melspectrumを計算します。
ailia Audioによる実装
ailia Audioを使用すると、ailia.audio.mel_spectrogramを呼び出した後、log10を計算することで、log_melspectrumを計算可能です。
ailia AudioのBinding
librosaやtorch.audioはPythonで実装されています。ailia AudioはC++で実装しているため、C++、ObjectiveCからネイティブアクセスが可能で、さらに、C#やDartからはFFIを通じてアクセス可能です。また、検証用にPythonのBindingも提供しています。そのため、ailia SDKと同様に、あらゆるプラットフォームで使用可能です。
ailia AudioのAPI
ailia Audioには下記の音声処理が実装されています。
・FFT、IFFT
・Spectrogram、InverseSpectrogram
・MelSpectrogram
・MagPhase、Standardize、ComplexNorm、ConvertToMel、dB
・Resample
・LinearFilter、LinearFilterZiCoef、FIlterFilter
下記にC++のAPIが規定されています。
下記にPythonのAPIが規定されています。
ailia.audio package - ailia Python API 1.2.9 documentationEdit descriptionailia-ai.github.io
ailia Audioのサンプル
下記にC++やUnityからailia Audioを使用するサンプルがあります。
Pythonからailia Audioを使用するサンプルはailia MODELSにあります。ailia MODELSの場合、librosaやtorch.audioと切り替えられるように両方の実装があるため、librosaやtorch.audioをどのようにailia Audioに移植するかの参考に、両方の実装を見比べることも可能です。ファイル名に_ailiaが付いているのがailia Audioを使用したもの、付いていないものが元のlibrosaやtorch.audioの実装です。
CRNN Audio Classification(音声分類)
Pytorch DC TTS(音声合成)
Whisper(音声認識)
まとめ
ailia Audioを使用することで、音声処理を行うAIモデルを、iOSやAndroid実装が可能です。アイリア株式会社ではお客様のモデルをiOSやAndroidに移植するサービスも行っているため、ご興味のある方はアイリア株式会社までお気軽にお問い合わせください。
アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。
ailia Tech BLOG