
【注意】v1.04とv1.05はヤバげなノイズが乗ります。それらを落とした人はv1.06を使ってください。 forMEN_VoiceEQ v1 検出したF0を基準とした上げ下げや、固定の周波数の上げ下げをできるプラグイン。 検出したF0をパラメータやmidiのCCの値として出力できたりもします。 ※26mSecほど遅延というかディレイします。(まえからだけど1.03にて追記)
詳細
■パラメーター説明////////////////////////////////////////////// F0検出関係 ・Threshld F0検出の閾値。 入力なしの時に暴れるのを防ぐ用。 ViewMode4の時の黄色線操作用 ・Threshld2 3つあるF0検出フィルタの切り替え用。 途中で倍に跳ね上がるときに少し下げると、 上がらなくなる可能性あり。 ViewMode4の時の青線操作用 ・Weight 1周期のみの値を採用すると暴れるので平均化。 平均をとる個数。 EQ関係 ・フィルタ名 F0xN1 F0基準のEQ その1 サーモンなピンク F0xN2 F0基準のEQ その2 間くらいの赤 F0xN3 F0基準のEQ その3 赤 NF1 周波数固定のEQ その1 紫 NF2 周波数固定のEQ その2 青 ・パラメータ ??? F 上記EQの周波数設定 ??? G 上記EQのゲイン (中央を0にして+と-を統合しました) F0xN3 n Qを上げるためにF0xN3にだけ重ね掛けを実装 nを上げるとQが上がる。が、その分CPUコストは上がる 表示関係 ・ViewMode 波形表示設定です。※1.04で変更 0:画面更新なし 1:観測できたF0にあわせた時間軸。波形更新あり。 2:固定周波数の時間軸。波形更新なし。 3:固定周波数の時間軸。波形更新あり。 4:周波数検出部、スレッショルド調整画面 ・ViewFreq ViewMode=1の時の周波数です。 ・Ref.L Y 周波数領域に書かれる参考用の線のY位置です ・Ref.L A 周波数領域に書かれる参考用の線の傾きです F0出力関係 ・CHAIN:F0 検出したF0によって自動で更新されます ・CHAIN:L CHAIN:F0の動く範囲の下限値です ・CHAIN:H CHAIN:F0の動く範囲の上限値です ・midiCh. 出力するチャンネルです。 ・CC No. 出力するコントロールチェンジNoです。64にするとOFFになります。 チャンネルはゼロ固定です。 ・CC Lwr CC値の動く範囲の下限値です ・CC Upr CC値の動く範囲の上限値です ・CC Fps CC信号の出力頻度です。一秒に何度出力するか。 ・sampleR サンプルレートです。 なんか取得に失敗するのでパラメータとして追加。 あまり試してないので44.1k以外だと動作が不安。 ■画面説明////////////////////////////////////////////// 白:入力波形。波形の縦サイズはこいつ基準です。 緑:出力波形です。 他の色は上述のEQ説明を参照ください。 下側の1本目の白:入力のスペクトラム崩落っぽい線です。 下側の1本目の緑:出力のスペクトラム崩落っぽい線です。 下側の2本目の白:入力のDFT結果です。検出した1周期の128等分データです。 下側の2本目の緑:出力のDFT結果です。検出した1周期の128等分データです。 水色:フィルタを組み合わせた結果、こんな感じのゲインになるんじゃないかなぁという、だいたいの線です。 下端の山:各フィルタのだいたいの影響範囲です。けっこう広いらしい。 ■その他メモ////////////////////////////////////////////// F0の検出方法はバンドパスフィルタ(120,240,480Hz)を通して 出てきた波形のゼロクロス周期をとるという単純なもの。 ちなみに同じフィルタを周波数を変えて使いまわしているだけなので、 Qなどは変えられません。 フォルマント曲線のパラメータは適当だが下記 LPC用サンプルピッチ = roundf(SampleRate * 0.000045454545f); LPC次数 = SampleRate * 0.0001f + 7; ■更新履歴 v1.01 ・周波数の最小値を48に下げた。他の人の声を拾ってみたら100Hz以下の人も居るよう。 ・midiのチャンネルが1固定だったのをパラメ追加で変更可能にした。 ・影響予測の水色線が、引き算してマイナスになった時にプラスに転じないのをabsとって修正 ・F0とCCの上側周波数の式をリニアから対数曲線に変更 v1.02 ・微妙に位相がずれて6000Hz以降の影響がおかしくなっていたのを修正 ・フィルタ周波数とサンプリング周波数との比による減衰を少し補正 ・ゲインの+と-が分かれていたのを統合 (0に戻しやすいように分けていたが、中央を0にしてまとめた) ・F0xN3にだけフィルタの重ね掛け機能を追加(1~4回) ・それ用に「F0xN3 n」というパラメを追加 ・重ね掛けによる時間の伸びを抑えるためにF0xN3の周波数をF0x3~8に限定 ・F0xN1だけ周波数の範囲を0.5~8に変更。(実験的) v1.03 ・GUI追加 v1.04 ・ViewModeを拡張。波形表示なしや閾値調整用画面追加 ・パラメータにThreshld2追加 ・midiの上下限周波数表示がおかしかったの修正 v1.05 ・800Hz付近を突っ込むと表示がおかしくなって固まる事があるのの修正 ・viewFreqのスライドバーが数値と一致してなかったのの修正
動作環境
Windows x64
アップデート履歴
[2020-11-12: v1.0] とりま作成 [2021-01-03: v1.01] midiChパラメ追加等 [2021-03-25: v1.02] 微修正および重ね掛け追加 [2021-05-17: v1.03] GUIぽいもの追加 [2021-05-22: v1.04] スレッショルド2追加 [2021-05-30: v1.05] バグ修正 [2021-05-30: v1.06] バグ修正 [2021-06-05: v1.07] CakewalkでMIDI出力オンを選べるようにした
ツイッタ
https://twitter.com/NatamottaNaatan