ディジタルフィルタ
※2022/9/28: λの算出式の符号が間違っていたためプロットとともに修正 信号処理におけるフィルタとしては、ローパス/ハイパスフィルタのような振幅特性を活用するフィルタが良く知られています。 しかし、一方で位相特性のみに影響を与えるオールパスフィル…
はじめに 直列移動平均フィルタ (Cascaded moving average) N 次 CIC フィルタ リサンプリングでの利用 まとめ 参考文献 はじめに www.wizard-notes.com 上記の記事で紹介した移動平均フィルタですが、こちらを応用したフィルタとして直列移動平均フィルタと…
低域・高域のような周波数帯域別に信号処理する場合、いい感じに帯域を分割するフィルタが必要になります。 ソフトウェア/プラグインの具体例としてはマルチバンドコンプレッサが挙げられます。 このような回路の特性としては、音質に影響を与えるような振…
https://www.openair.hosted.york.ac.uk/ 動画やゲーム,AR/MRコンテンツで利用する音源にリアルな残響音を付加する手法として、コンボリューション(畳み込み)リバーブがあります。 これは、インパルス応答と呼ばれる実測で収録した残響音データを使って、…
リアルタイム声質加工プラグインの開発進捗。声を太くしたり子供っぽくしたりできる処理のデモです。 pic.twitter.com/JcfwPJ2OCc— Kurene (@_kurene) July 18, 2020 線形予測分析+周波数ワープでリアルタイムで声質を加工する処理を作りました。 ボイスチ…
はじめに 音の信号処理の世界には、理論書や数式重視の教科書が数多く存在します。しかし、実際に手を動かしてプログラムを書きながら学べる本は意外に少ないのが現状です。 そこで本記事では「実際に手を動かしてこそ理解が深まる」ことを重視し、音プログ…
はじめに 定義 移動平均(Moving Average)とは 計算方法 特徴と用途 指数平滑移動平均(Exponential Moving Average)とは 計算方法 特徴と用途 移動平均と指数平滑移動平均の使い分け 周波数特性 移動平均 (MA) 指数平滑移動平均 (EMA) Pythonコード まと…
前回の記事では,ステレオのL, R チャネルの信号を,リサージュ図形の として与えることで音の広がりを可視化しました. www.wizard-notes.com この記事では,直交座標 を極座標(絶対値と偏角) 表記にしたバージョンを紹介します. 参考: Goniometer Algo…
今回は,以下の記事で紹介したオールパスフィルタによる残響生成を用いて、実用的な残響エフェクタとして有名なシュレーダーリバーブをPythonで実装してみました。 www.wizard-notes.com シュレーダーリバーブの概要 フィードバック型コムフィルタの回路につ…
はじめに 音信号の時間周波数分析にはFFT (高速フーリエ変換) /STFT(短時間フーリエ変換)がよく使われます. しかし,FFTの性質上,音高に関わる分析をしようとすると実装や分析精度の向上に手間がかかります。 そこで,この記事では音楽信号の分析によく…
はじめに MS処理 (Mid/Sideプロセッシング) はステレオ信号を中央定位成分(Mid: センター)と非中央定位成分(Side: センター以外)に空間的に分けてエフェクトをかける処理です。音場を精密にデザインしたい時に強力な手段となります。 DAWでMS処理を行う…
前回紹介した適応ノッチフィルタ は、正弦波信号を除去するアルゴリズムでした。 www.wizard-notes.com www.wizard-notes.com しかし、音楽信号処理でよくある楽音を抽出したいという要求には適応ノッチフィルタは利用しにくいです。 そこで今回は、正弦波信…
前回の記事では、適応ノッチフィルタを使って音高が未知の正弦波を除去しました. www.wizard-notes.com しかし、正弦波が複数ある区間ではうまく動作しませんでした。 そこで、今回は複数の正弦波を除去できる、多段適応ノッチフィルタを紹介します。 また…
はじめに どんな時に必要か 最小位相フィルタの算出方法 scipy.signal.minimum_phaseの紹介 利用例 算出の流れ ヒルベルト変換とホモモルフィック処理 まとめ 参考文献 関連記事 はじめに 信号処理の分野では「最小位相フィルタ」というキーワードがでてきま…
音源制作の現場で最も利用されているプラグインの一つとして、ある周波数帯域を増幅/減衰させるイコライザがあります。 その一種であるグラフィックイコライザをPythonで実装してみます*1。 グラフィックイコライザについて オクターブバンド分割(中心周波…
はじめに 1. 鏡像法とは 1.1 計算のイメージ 1.2 CPUでのシミュレーションの限界と、GPUの利点 2. gpuRIRとは 3. 環境構築 3.1 必要なソフトウェア 3.2 Windows11での利用方法 4. gpuRIRの基本的な使い方 4.1 ライブラリのインポート、初期設定 4.2 シミュレ…
音信号向けの簡単かつ実用的なリアルタイム向け雑音抑圧処理として,以下の書籍で適応線スペクトル強調器 (ALE) が紹介されていました. 上記の書籍を参考にしつつ,Pythonでの適応線スペクトル強調器 (ALE)の実装と,様々な信号への適用例を紹介します。 適…
前回は、単純なグラフィックイコライザとして、1/Nオクターブバンドごとに双二次フィルタを用意し直列接続した実装を解説しました。 www.wizard-notes.com しかし、この手法だと、グラフィックイコライザ全体の周波数特性として各中心周波数での振幅値が指定…
以下の記事で作成した双2次フィルタのプログラムで出力した、双2次フィルタの周波数特性(振幅・位相)の一覧ページです。 www.wizard-notes.com カットオフ周波数 (fc) とQ値 (q) を動かしてプロットしています。 双2次フィルタ作成の参考等にご利用くださ…
今更感がありますが、Pythonで自作のエフェクトをすぐ試せる環境があると開発が捗るので、音楽プレイヤーモジュールを実装 pic.twitter.com/4yEN2wQ07X— Kurene (@_kurene) August 10, 2020 リアルタイム音響信号処理プラグインの開発において、開発言語がC+…
マルチバンド処理用のフィルタバンク実装でバターワースフィルタによるハイパスフィルタを使おうとすると,7次くらいから周波数応答が不安定になりました. ハイパスフィルタ 周波数応答をプロット してみると,scipy.signal.butterworthのハイパスフィルタ…
「信号処理に欠かせないオールパスフィルタ―の概要・使い方・利用例」では、オールパスフィルタによって低演算量で様々な周波数特性のフィルタを作成できることを紹介しました。 www.wizard-notes.com この記事では、その具体例として1次IIRオールパスフィル…
実装したIIR/FIRフィルタが正しく動作しているかどうか検証する必要があったため、 デジタルフィルタの周波数応答(周波数特性)をプロットするスクリプトを作りました。 基本的には scipy.signal.freqz() の example とほぼ同じで、 プロット部分を少し整理…
音響信号処理の良い参考書である プログラム101付き 音声信号処理 では、適応信号処理の一例として適応ノッチフィルタが紹介されています。 ただし、プログラムがC言語のみであり、また、数学的な説明が僅かであるため仕組みが分かりにくいです。 そこで、適…
以前の記事では,木構造のような信号処理フローのマルチバンド処理を紹介しました. この記事では、実装・利用しやすさに着目して信号処理フローを再設計・実装します。 設計 以前の記事では木構造の処理フローでしたが,今回は低域のカットオフ周波数から徐…
以前の記事で,低域・高域を別々に処理するようなマルチバンド処理(オーディオクロスオーバー)の実装方法を紹介しました. www.wizard-notes.com www.wizard-notes.com 上記の記事では,補完フィルタのローパス・ハイパスフィルタの並列接続したことで生成…
複雑な信号処理プラグインを開発する場合、複数のFIR/IIRフィルタを組み合わせることがよくあります。 そこで,FIR/IIRフィルタの直列/並列接続時の周波数応答をプロットするサンプルコードを作成しました。 回路全体の伝達関数を確認するだけでなく、フィル…
サンプリング周波数変換(リサンプリング,アップ/ダウンサンプリング)は,非常によく利用されるオーディオファイル処理です。 ただ、リサンプリングは時間がかかる処理なので、なるべく高速なアルゴリズム・ライブラリを使いたいところです。 特に大量の…
以下の記事では,Pythonで音の再生・録音を行うためのライブラリ sounddevice を紹介しました。 Python-sounddevice で音声や歌声をリアルタイム収音・再生・録音 - Wizard Notes この記事では、音の信号処理/アプリ開発でよく使う、音声ファイルの再生をso…
「信号処理に欠かせないオールパスフィルタ―」で紹介したオールパスフィルタの利用例として、人工残響フィルタを実装してみました。 設計方法 フィルタ応答の比較 試聴 Python実装 参考文献 設計方法 直列オールパスフィルタによる人工残響生成はシュレーダ…