Awesome Python for Scientific Audio
Python for Scientific Audioを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
音響関連パッケージ
- パッケージ総数: 67
読み書き
- audiolazy :octocat: :package: - Python向け表現的なデジタル信号処理(DSP)パッケージ。
- audioread :octocat: :package: - GStreamer、Core Audio、MAD、FFmpeg を横断して音声をデコード。
- mutagen :octocat: :package: - さまざまなフォーマットの音声メタデータの読み書き。
- pyAV :octocat: - FFmpeg または Libav を Python らしく扱えるバインディング。
- pyfar :octocat: :package: - pyfar.ioモジュールで音声ファイル、SOFAファイル、COMSOLデータを読み書き。
- (Py)Soundfile :octocat: :package: - libsndfile、CFFI、NumPyに基づくライブラリ。
- pySox :octocat: :package: - soxに対するラッパー。
- stempeg :octocat: :package: - STEMSマルチストリーム音声の読み書き。
- tinytag :octocat: :package: - MP3、OGG、FLACおよびWaveファイルの音楽メタデータの読み取り。
変換・汎用 DSP
- acoustics :octocat: :package: - 音響学者向けの便利なツール。
- AudioTK :octocat: - DSPフィルタツールボックス(多くのフィルタを提供)。
- AudioTSM :octocat: :package: - 実時間音声の時間スケール調整プロシージャ。
- Gammatone :octocat: - ガマトーンフィルタバンクの実装。
- pyFFTW :octocat: :package: - FFTW(3)に対するラッパー。
- NSGT :octocat: :package: - 非定常ガーボー変換、定常Q変換。
- matchering :octocat: :package: - 自動化されたリファレンス音声のマスタリング。
- MDCT :octocat: :package: - MDCT変換。
- pydub :octocat: :package: - 音声をシンプルで使いやすいハイレベルインターフェースで操作。
- pyfar :octocat: :package: - pyfar.dspモジュールで音響信号に最適化された一般DSPおよびフィルタ処理を行う。
- pytftb :octocat: - MATLAB Time-Frequency Toolboxの実装。
- pyroomacoustics :octocat: :package: - 音響空間シミュレーション(RIR生成器)
- PyRubberband :octocat: :package: - rubberband をラップしてピッチシフトおよびタイムストレッチを行うためのツール
- PyWavelets :octocat: :package: - Pythonにおける離散小波変換
- Resampy :octocat: :package: - サンプルレート変換
- SFS-Python :octocat: :package: - 音響場合成ツールボックス
- sound_field_analysis :octocat: :package: - 球面マイクロフォン配列で記録された音場データの解析、可視化、処理
- STFT :octocat: :package: - ショートタイムフーリエ変換用のスタンドアローンパッケージ
特徴抽出
- aubio :octocat: :package: - C言語で書かれた特徴抽出器、Pythonインターフェース付き
- audioFlux :octocat: :package: - 音声および音楽分析、特徴抽出用のライブラリ
- audiolazy :octocat: :package: - リアルタイム音声処理ライブラリ(一般用途)
- essentia :octocat: - 音楽関連の低レベルおよび高レベル特徴抽出器、C++ベース、Pythonバインディングを含む
- python_speech_features :octocat: :package: - ASR用の共通音声特徴
- pyYAAFE :octocat: - YAAFE特徴抽出器のPythonバインディング
- speechpy :octocat: :package: - 音声処理および認識用のライブラリ、現在は主に特徴抽出
- spafe :octocat: :package: - 音声ファイルから特徴を抽出するためのPythonライブラリ
データ拡張
- audiomentations :octocat: :package: - 音声データの拡張
- muda :octocat: :package: - 音楽データの拡張
- pydiogment :octocat: :package: - 音声データの拡張
音声処理
- aeneas :octocat: :package: - MFCC+DTWに基づく強制対応ツール、35以上の言語対応
- deepspeech :octocat: :package: - 事前訓練済み自動音声認識
- gentle :octocat: - Kaldiに基づく強制アライメントツール
- Parselmouth :octocat: :package: - Praatの音声分析、合成、操作ソフトウェアへのPythonインターフェース
- persephone :octocat: :package: - 音素の自動トランスクリプションツール
- pyannote.audio :octocat: :package: - 話者分離(Speaker Diarization)用のニューラルブリッジ
- pyAudioAnalysis² :octocat: :package: - 特徴抽出、分類、分離
- py-webrtcvad :octocat: :package: - WebRTC音声活動検出器へのインターフェース
- pypesq :octocat: - PESQスコア計算用のラッパー
- pystoi :octocat: :package: - 短期的目標理解性測定(STOI)
- visqol-python :octocat: :package: - GoogleのViSQOL音声品質メトリクス(MOS-LQO)のポート(Bazelなしでインストール可能)
- PyWorldVocoder :octocat: - MoriseのWorld Vocoder用のラッパー
- Montreal Forced Aligner :octocat: - Kaldi(HMM)に基づく強制アライメントツール(英語対応、その他は訓練可能)
- SIDEKIT :package: - 話者および言語識別
- SpeechRecognition :octocat: :package: - 多くのASRエンジンおよびAPIへのラッパー(オンラインおよびオフライン)
環境音
知覚モデル・聴覚モデル
- cochlea :octocat: :package: - 内耳モデル
- Brian2 :octocat: :package: - スピッキングニューラルネットワークシミュレータ(内耳モデルを含む)
- Loudness :octocat: - 観測された音量、ZwickerおよびMoore/Glasbergモデルを含む
- pyloudnorm :octocat: - 音声の音量メーターおよび正規化、ITU-R BS.1770-4を実装
- Sound Field Synthesis Toolbox :octocat: :package: - 音響場合成ツールボックス
音源分離
- commonfate :octocat: :package: - Common Fateモデルと変換
- NTFLib :octocat: - スパースベータ-divergenceテンソル分解
- NUSSL :octocat: :package: - DSP手法と深層学習手法を含む包括的なソース分離フレームワーク
- NIMFA :octocat: :package: - 非負マトリクス分解のいくつかのバリエーション
音楽情報検索
- Catchy :octocat: - コルパス分析ツール:コンピューターホック発見用
- chord-detection :octocat: - チャード検出およびキー推定アルゴリズム
- Madmom :octocat: :package: - ビート検出、オンセット検出、チャード認識に強い焦点を置いたMIRパッケージ
- mir_eval :octocat: :package: - 多様なMIRタスクに共通する評価スコア。また、bss_evalの実装も含まれる
- msaf :octocat: :package: - 音楽構造分析フレームワーク
- librosa :octocat: :package: - 一般の音声および音楽分析
深層学習
- Kapre :octocat: :package: - Keras用音声プリプロセッサ
- TorchAudio :octocat: - PyTorch用音声ローダー
- nnAudio :octocat: :package: - PyTorchにおける1Dコネクションネットワークを用いた高速音声処理
記号音楽・MIDI・音楽学
- Music21 :octocat: :package: - コンピュータ支援音楽学のためのツールキット
- Mido :octocat: :package: - リアルタイムMIDIワッパー
- mingus :octocat: :package: - MIDIファイルおよび再生をサポートする高度な音楽理論と記譜パッケージ
- Pretty-MIDI :octocat: :package: - MIDIデータを扱うための便利で直感的なユーティリティ関数
リアルタイムアプリケーション
- Jupylet :octocat: - 減算、加算、FM、サンプルベースの音声合成
- PYO :octocat: - リアルタイム音声DSPエンジン
- python-sounddevice :octocat: :package: - NumPyとのリアルタイム音声I/Oを提供するPortAudioワッパー
- ReTiSAR :octocat: - ストリーミングまたはIRベースの高次球面マイクロフォン配列信号のバイナーリング
Web Audio
- TimeSide (Beta) :octocat: - 高レベルの音声分析、画像処理、変換、ストリーミングおよびラベル付け。
音響データセットとデータローダー
- beets :octocat: :package: - 音楽ライブラリマネージャーおよび MusicBrainz タグ付けツール。
- musdb :octocat: :package: - MUSDB18データセットの解析と処理。
- medleydb :octocat: - medleydb 音声+注釈の解析。
- Soundcloud API :octocat: :package: - Soundcloud API のラッパー。
- Youtube-Downloader :octocat: :package: - YouTube動画(および音声)のダウンロード。
- audiomate :octocat: :package: - 多様な音声データセットの読み込み。
- mirdata :octocat: :package: - 音楽情報検索(MIR)データセットの共通読み込みツール。
音響プラグインのラッパー
- VamPy Host :package: - コンパイルされたvampプラグインのインターフェース。
チュートリアル
- Whirlwind Tour Of Python :octocat: - 研究者や開発者向けのPython基本を速いペースで紹介したチュートリアル。
- Introduction to Numpy and Scipy :octocat: - 高い評価を得たチュートリアルで、科学的Pythonエコシステムの大部分をカバー。
- Numpy for MATLAB® Users - スイッチャー向けの同等のPython関数の概要。
- MIR Notebooks :octocat: - 音楽情報検索(MIR)用のインストラクショナルiPythonノートブックのコレクション。
- Selected Topics in Audio Signal Processing - iPythonノートブック形式の練習問題。
- Live-coding a music synthesizer リアルな音を再現するためのSoundDeviceライブラリの使用方法を示すライブコーディング動画。 Code。
- pyfar examples - 音響研究用のPythonパッケージ(pyfar)の紹介および例。
書籍
- Python Data Science Handbook - Jake Vanderplas, エキセレントな書籍および付属チュートリアルノートブック。
- Fundamentals of Music Processing - Meinard Müller, Python練習問題を含む。
学術論文
- Python for audio signal processing - ジョン・C・グローバー、ヴィクトル・ラザリニおよびジョセフ・ティモニー、2011年リズンアフター会議。
- librosa: Audio and Music Signal Analysis in Python、Video - ブライアン・マッキー、コールン・ラフェル、ダウェン・リアン、ダニエル・P・W・エリス、マット・マヴィカ、エリック・バテンベルグ、オリオル・ニエト、Scipy 2015。
- pyannote.audio: neural building blocks for speaker diarization、 Video - ヘル・ブレディン、ユイ・ルイ、ルイ・マヌエル・コリア、グレゴリー・ジェリー、パヴェル・コルシュノフ、マーヴィン・ラーチン、ディエゴ・フュステス、ハディエン・ティユックス、ワシム・ボアズィ、マリー・フィリップ・ギル、ICASSP 2020
その他の資料
- Coursera Course - オーディオ信号処理、バルセロナのUPFおよびスタンフォード大学によるPythonベースのコース。
- Digital Signal Processing Course - ロストック大学のマスターコース資料(大学の教材)に多くのPython例が含まれている。
- Slack Channel - 音楽情報検索コミュニティ。
関連リスト
PythonInMusic という既存リストがありますが、更新されておらず、科学用途にはあまり関係しない特殊用途のパッケージが多数含まれています。Awesome-Python は Python パッケージの大規模な厳選リストですが、音響分野のセクションはごく小規模です。
貢献
貢献をいつでも歓迎します。まず貢献ガイドラインをご覧ください。
ライブラリがこのリストにふさわしいか判断できない場合、プルリクエストを開いたままにすることがあります。👍 を付けて投票できます。