「クラシック音楽の作曲家を識別するためのオーディオ分類パイプラインの作成」
Creating an audio classification pipeline for identifying classical music composers.
Hugging Faceを使用して、複数のトップクラシック作曲家の音声ベースの機械学習分類モデルを構築し、公開するためのステップバイステップガイド
クラシック作曲音声の作成者を特定することは、トレーナーヒューマンプラクティショナーにとっては簡単な作業のように思えるかもしれませんが、機械学習アルゴリズムにとってはそうではありません。
その困難を克服するため、ここでは自分自身のオーディオ分類パイプラインを詳細に説明し、以下のようないくつかの無料の利用可能なツールを使用して一般の人々に利用可能にする方法を示します。
- MusicNetデータセット — ラベル付きのクラシック音楽録音を330件収集したキュレーションコレクション(CC0:パブリックドメイン)
- Kaggleノートブック — トレーニングにNVIDIA TESLA P100 GPUの無料層が提供されているなど、広範な目的のためのサービス
- Metaのwav2vec2-base-960hモデル — 960時間のLibrispeechで事前学習および微調整された約9500万個の訓練可能なパラメータを持つ16kHzサンプリングされた音声に使用され、MusicNetからのサンプルオーディオデータのトレーニングに使用されます。
- 最後に、HuggingFaceポータル — 機械学習モデルのトレーニング、共有、提供
データの選択、モデルのトレーニング、HuggingFaceリポジトリへの送信のためのエンドツーエンドのコードはこちらで公開されています。以下では、最も重要なステップについて説明します。
マルチクラス音声分類のためのデータの選択とサンプリング
初期データをロードした後、16 kHzのレートにリサンプリングされ、torchaudioライブラリを使用してNumPy配列に変換され、トレーニング中のメモリの節約のために100秒のサンプルにさらに切り詰められます:
- スマートエンタープライズ:ジェネラティブAIを企業で利用可能にする
- 「リオール・ハキム、Hour Oneの共同創設者兼CTO – インタビューシリーズ」
- 「ディープニューラルネットワークのデプロイのための自動チューニング」
def get_transform_audio(file): audio,rate = torchaudio.load(str(file)) transform = torchaudio.transforms.Resample(rate,RATE_HZ) audio = transform(audio).squeeze(0).numpy() return audio[:MAX_LENGTH] # メモリ節約のためにオーディオの最初の部分に切り詰めるdd['audio'] = dd['file'].progress_apply(get_transform_audio)
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles