- 1 名前:デフォルトの名無しさん [2007/07/25(水) 14:07:56 ]
- 音のプログラミング処理について語りましょう
各エフェクタの組み合わせとか、 プログラミング外の話題はDTM板の方がいいよ サウンドプログラミング3 pc11.2ch.net/test/read.cgi/tech/1145573675/ サウンドプログラミング2 pc8.2ch.net/test/read.cgi/tech/1091054082/ サウンドプログラミング pc5.2ch.net/tech/kako/996/996171508.html
- 797 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 22:53:40 ]
- えっと、要するに、エントロピーが変わるのは、
FFT かけた瞬間じゃなくて、負荷的な情報を与えた瞬間。
- 798 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:23:50 ]
- エントロピーの計算式覚えてるよね?
- 799 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 01:11:53 ]
- 帰ってきたら色々レスついてるな
まずは >>792 >>794 >>797 に同意 >>795 変わらない。記号列長と情報量は区別するべき。可逆圧縮で考えるなら、 圧縮することで記号列は短くなるが、その記号列が表す情報そのものは何も変わらない。 変わったら可逆じゃない。情報が変わらないから情報量も変わらない。OK? 可逆圧縮は情報を変えずに記号列を圧縮する操作、非可逆圧縮はそれに加えて情報自体も削減する。 表現形式を変えるだけのDFTで情報量は減らない。で、周波数領域にすることで例えば 「低周波成分が大半を占める」とか聴覚心理モデルとか**問題領域固有の知識**を入れて、 削っても影響のない情報を判別して削るのが非可逆の基本。 何度も言うが、表現形式を変えただけでは情報量は減らない。
- 800 名前:デフォルトの名無しさん [2008/09/29(月) 10:00:27 ]
- なんかモンティホール問題と似てきたな。
誰か799の言ってることをモンティホール問題に置き換えて説明してれくれないだろうか。
- 801 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 10:21:45 ]
- このソースコードと出力結果の情報量は同じ?
#include<stdio.h> #include<math.h> int main(void){ double theta; int i; for(i=0;i<10000;i++){ theta=i*0.001; printf("%f\n", sin(theta)); } return 0; }
- 802 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 11:32:52 ]
- >>801
本気で頭悪いのか? 理論と有限桁での実装の誤差ってのは何にしてもついて回るもんだから議論するだけ無駄。
- 803 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 11:34:18 ]
- >>801
周期関数の結果は非可逆だよねぇ。情報量はどうなるんだろ。 そう言えばFFTして逆FFTすると、強度の情報が失われないかな? 音や画像みたいに正規化しやすい場合はいいんだけれど。 # 演算誤差は目を瞑ったとしても。
- 804 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 12:32:27 ]
- 0.001www
- 805 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 12:40:18 ]
- >>799
すばらしい説明をありがとう。 情報量を圧縮って意味がわからないよなそもそも。
- 806 名前:801 mailto:sage [2008/09/29(月) 19:17:35 ]
- >>802
誤差が無ければ議論できるの? #include<stdio.h> int myrand(void){ static unsigned long seed=377743; seed=seed*8209+6469; return (seed>>8)&0xffff; } int main(void){ int i; for(i=0;i<10000;i++){ printf("%d\n", myrand()); } return 0; }
- 807 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 20:56:03 ]
- >806
出力結果からそのソースが一意で起こせるならな。 ってか揚げ足取りがしたいだけだろお前。
- 808 名前:801 mailto:sage [2008/09/29(月) 21:10:07 ]
- スマン
情報量云々を見るとつい…
- 809 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 21:53:24 ]
- 2次元の話がずいぶん広がってしまったな。
なんか音の話題ないの。
- 810 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 12:09:50 ]
- ここにいるおまいらが今まで作った音響アプリの代表作って何よ。
俺はリズムサンプラー。
- 811 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:15:36 ]
- >>810
そういうのはマ板でやれ
- 812 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 16:31:04 ]
- 音響アプリなんだからいいだろ。
このスレ貴重なんだから盛り上げていこうぜ。
- 813 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 16:54:45 ]
- 自分語りがしたいならマ板。
技術スレでする話題じゃねーわな。 糞スレ化するからいらんよ。
- 814 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 17:43:26 ]
- すいません技術的な質問です。
オーバーサンプリングって単純にプログラム内でサンプリング周波数の倍のデータとして扱えばそれでいいんでしょうか。 データ間は0をつめるとして、なぜそれでエイリアシング対策になるのかが理解できません。 たとえば44.1khzのWAVファイルを倍の88.2khzで扱ったとして、元データは44.1khzのデータしかないので、結局音そのものはクオリティ変わりませんよね。
- 815 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 18:57:58 ]
- キミが言っているのはオーバーサンプリングではなくアップサンプリングじゃないの。
例えば、20kHz以下の信号をAD変換したい時に、サンプリング周波数を 44.1kHzではなく88.2kHzにするのがオーバーサンプリング。 こうすれば、AD変換の前に必要なアンチエイリアシング・フィルタに必要な 遮断特性が緩和されるというメリットがある。 アップサンプリングについて説明すると、データの間に0を挿入してデータ数を 2倍にすれば2倍アップサンプリングになる。アップサンプリング後のデータには エイリアスが発生しているので、それをFIRフィルタで削ってからDACで出力すれば、 DA変換後のスムージング・フィルタに必要な遮断特性が緩和される。 図が無いと判りにくいだろうから、詳しくは下記リンクを参照。 blackfin.s36.coreserver.jp/2191/program/polyphase/polyphase02.shtml
- 816 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 19:28:25 ]
- >>815
なるほど、まず用語の使用が間違っていたのですね。 さらに実際はアップサンプリング時でもLPFをかけることが肝だったんですね、納得しました。 ありがとうございます。 参考:www38.tok2.com/home/shigaarch/OldBBS/20definition.html ただ、そうなると良く分からないのが、たとえば>>405の記述で見られるような、 デジタル信号処理の計算の部分でオーバーサンプリングしろというのはどういう意味なのかということなのですが。 エフェクト処理でアップ(オーバー)サンプリングすることで、一体どんなメリットがあるのかわからずに悩んでいます。 もの分かりが悪くて申し訳ないです。
- 817 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:15:53 ]
- >アップサンプリング
漏れなら同じデータで穴埋めちゃう。 当然、波形がカクカクするが気にしない。 画像の拡大もカクカクしてるのが好きだから。
- 818 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:54:53 ]
- Lanczos3で補間したら適度なLPFにもなってるんじゃないの?
高級オーディオメーカWADIAの昔の製品はB-Splineだったな。 20kHzに近い波形はレベルも位相もボロボロになってるかもしれないけど どうせサンプル数が足りないから長tapのFIRでも大差ないでしょ。
- 819 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:13:56 ]
- >どうせサンプル数が足りないから長tapのFIRでも大差ないでしょ。
ここ詳しく。
- 820 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 01:29:01 ]
- >>817
音の「カクカク」はジッターノイズになって苦痛じゃない?
- 821 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 16:45:43 ]
- 高周波が出ますナ
- 822 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 22:23:45 ]
- おまいらフィルタの設計時ってどんなツール使ってる?
- 823 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 09:34:09 ]
- dsPICworks
dsPICつこてるので。
- 824 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 12:24:11 ]
- 職場では MATLAB
自宅では GNU Octave
- 825 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 14:59:12 ]
- GNU Octave って、FIRやIIRのタップごとの計算とか簡単にできたりするの?
GUIでスペクトル確認しながらとか。
- 826 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 18:15:28 ]
- GNU Octave は、基本的に対話型コマンドライン環境だからCUIになるけど、
(コマンド列をテキストファイルに書き出せば、スクリプト実行も可能) フィルタ設計コマンドでフィルタ係数を求めて、フィルタ特性をグラフ表示するのは簡単にできるよ。
- 827 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 19:17:53 ]
- へー、おもしろい。使ってみます。ありがとうー。
- 828 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 12:42:06 ]
- >>826
gnuplotと組み合わせてるのかな?
- 829 名前:デフォルトの名無しさん [2008/10/04(土) 16:46:17 ]
- MAXMSPとかでパッチ作ってあそんでるんですが
pluggoブリッジじゃなくて純粋なOSXのプラグインを 作りたいんですが、何から手をつけたらいいんでしょうか?
- 830 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 01:45:43 ]
- あー....。
- 831 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 08:21:52 ]
- 結構色々調べたんですよ
CoreAudioのプログラミングXcodeでやるんですね SourceForgeなんかにAUシンセのソース等みながら やってみます
- 832 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 11:42:35 ]
- MACはCoreAudioとかあるからなあ、結局サウンドプログラミングの出番ないよな。
- 833 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 19:09:06 ]
- んな訳ない。 波形を自分で作ったり加工したり…
- 834 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 05:05:08 ]
- それだけ?
- 835 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 07:31:43 ]
- サウンドプログラミングじゃないじゃん
- 836 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 12:14:18 ]
- サウンドデバイスプログラミングやAPI使用法はスレ違いだからすっこんでろw
ここはもっとアカデミックで高尚な話題のスレなんだよ
- 837 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 14:22:35 ]
- デバイスなめんな
- 838 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 04:37:48 ]
-
>>830 それにしては、>>752の話題はこのスレでは光ってるよな くそワロタ
- 839 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 05:07:21 ]
- 質問です。
自分の声って自分の耳で聞いた場合と、何かに録音して聞いた場合とでは違って聞こえますよね。 他人が実際どのように自分の声を認識しているのかを知りたくて、 それを聞けるようにするアプリを作ろうと思っているのですが、 そもそも技術的には可能でしょうか? どうしても大好きなあの子がどんな風に自分の声を聞いているのか知りたくてたまらないんです。 よろしくお願いします。
- 840 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 08:57:35 ]
- 頭部インパルス応答ってあるじゃん
あれの応用で、音源を喉部に固定して測定すればいいと思うよ
- 841 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 09:06:37 ]
- >>839
変態キモイ死ね 骨を伝ってくる音の特性を再現すれば出来そうだけど、 個人の骨格の違いでどの程度変わるのかってーのと、 そもそも個人個人で聞こえ方に差異があるはずだから無理じゃね?
- 842 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 10:05:50 ]
- >>839
頭の模型を作って喉にスピーカー、耳にマイクを仕込んで、IRを取れ。それつかってコンボリューション。
- 843 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 10:30:03 ]
- 作ろうと思ってるなら自分で理論考えて作ればいいじゃん
そのための脳みそがないってんならご愁傷様だ
- 844 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 10:40:39 ]
- 単に他人の耳の位置にマイクを設置すればいいんじゃないの?
- 845 名前:デフォルトの名無しさん [2008/10/09(木) 10:41:29 ]
- 普通に録音して聞けばいいだろ。その子の聞こえ方をシミュしても、その結果を聞くのは自分なんだし
- 846 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 17:08:52 ]
- >>839
単に録音してそれを自分で聴くだけでいい。 難しいのは、自分の声を自分がどう聞いているかを 相手に聞かせることだ。
- 847 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 20:06:19 ]
- >>840-842は質問を勘違いしてるな
- 848 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 20:26:39 ]
- >831の者です
グラニュラ・・・そしてFFT・・・・ 新しい音響はヒットチャートも揺るがしますよ みなさん頑張ってね!
- 849 名前:840 mailto:sage [2008/10/10(金) 00:43:36 ]
- ・・・俺が>>841-842を誤誘導したっぽいな
- 850 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 02:30:07 ]
- このスレで聞くくらいだから、まさか録音して聞けば済む程度の質問されるとは思わない罠w
でもまぁ全く同じには聞こえないだろうけど。
- 851 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 19:14:27 ]
- その子の頭部を物理シュミレーションするしかないわな。
でもそれが測れるくらい仲がいいならもう付き合ってるよな。
- 852 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:01:27 ]
- >>850>>851
それを言い出すとキリがないんじゃないか。 例えば「大好きなあの子がどんな風に自分の顔を見ているのか」知りたいのなら、 普通は「鏡を見ろ」と答えて、それで十分な答えだ。 あの子の水晶体や網膜の特性、視覚に関係する脳の働きまで考慮しないだろう。
- 853 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:13:04 ]
- みんな勘違いしているようだが、>>839は
その子自身の発した声を、その子自身がどう聞いているかを、知りたい って意味なんだよ。
- 854 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:13:25 ]
- ところで、non causalなら理想ローパスってつくれるんでしょ?
- 855 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 00:44:48 ]
- まあ、non causal ならねぇ
- 856 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 11:32:49 ]
- 一瞬カジュアルって読んでしまった
理想ローパスって有限長でできるの?無限長なら先読みできたところで意味ない気が… 理解間違ってたらすまん
- 857 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 13:20:16 ]
- >>853
なるほど。全然気付かなかった。 「自分」という言葉を使ってるから両方の意味にとれるんだな。 その方法は俺も知りたいと思っていた。 適当なフィルタをかけて、どちらが似ているかを本人に選ばせ、 パラメータを微調整していく、というのくらいしか思いつかない。
- 858 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 13:35:05 ]
- >>853
日本語の「自分」は1〜3人称全部に使えるからわかりにくい〜
- 859 名前:854 mailto:sage [2008/10/11(土) 19:40:18 ]
- >>856
あっしの理解では、フィルタが無限長でも データが有限長なら可能かと。
- 860 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:20:43 ]
- ダウンサンプリングするプログラムつくりたいんだけど、
間引くデータはどう選んだらいいんですか?
- 861 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 00:49:11 ]
- 1/2にするなら1/4fsでローパスして1つ飛ばしすれば速い。
整数比でなければリサンプリング。間引くじゃできん・・と思う。 間引くだけで可能なら俺も知りたい。
- 862 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 09:30:54 ]
- wavefs44.exeとかssrcのソースが参考になる。
- 863 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 12:12:34 ]
- 奇遇だな
俺もssrcを勧めようと思っていたところだ
- 864 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:31:48 ]
- 2つともソースもバイナリも入手不能っぽいのだが
- 865 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 18:43:57 ]
- ググって一番頭のサイトで手に入るけど?
- 866 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:03:39 ]
- ssrcって日本からアクセスブロックしてんじゃなかったっけ
- 867 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 21:36:09 ]
- 海外のプロクシ経由でアクセスすれば問題無いでしょ。
- 868 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 20:51:37 ]
- DFTとDTFTの違いが理解できない…誰か解脱plz
- 869 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 22:58:12 ]
- >>868
入力関数が周期的か否か
- 870 名前:デフォルトの名無しさん [2008/10/17(金) 02:54:09 ]
- SSRCみたいに、
サウンドプログラミングの参考になるオープンソースソフトって他にどんなのがありますか。
- 871 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 04:50:26 ]
- >>868
Wikipediaより ・入力が離散的なら、フーリエ変換は DTFT となる。 ・入力が周期的なら、フーリエ変換はフーリエ級数となる。 ・入力が離散的かつ周期的なら、フーリエ変換は DFT となる。
- 872 名前:デフォルトの名無しさん [2008/10/17(金) 09:07:37 ]
- DFTは、有限区間での変換を行う。
DFTは実際にはそうとは限らないが、以下の仮定を置いて考える。 その時にその区間の信号が、周期的に無限に続くと考える。従って、信号の一端と多端が滑らかでない場合などに問題が生じる。 これらを解決するために、窓関数などが用いられるが、これによってスペクトル漏れという問題が起きる。 これに対し、DTFTは、実際に上記の過程が成立する場合ではないかと思う。
- 873 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 16:17:35 ]
- 連続時間・無限区間 → フーリエ変換
連続時間・有限区間 → フーリエ級数 離散時間・無限区間 → 離散時間フーリエ変換(DTFT) 離散時間・有限区間 → 離散フーリエ変換(DFT)
- 874 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 23:21:38 ]
- どれも微妙に誤解を招きそうな回答ですな
- 875 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 23:51:42 ]
- ご存知とは思うが、周期関数を除いては客観的な周波数成分など定義されていないので、
DFTの結果はDFT変換結果でしかない。 f(t)=f(t+T)を常に満たす周期信号など実在しないから(だって過去には限界があるし未来は分からないから) 実際には周波数成分は未定義である。 ・・ということを念頭に置かないとフーリエ系周波数分析に過剰な期待をしすぎる。 ピッチが速く変化する人の声などはLPC分析のほうが成功を収めている。
- 876 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 11:02:27 ]
- >DFT変換
- 877 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 10:09:20 ]
- 頭痛が痛いタイプの人か。
- 878 名前:デフォルトの名無しさん [2008/10/21(火) 01:42:12 ]
- 頭痛はほんとに痛いんだぞ!バカにしちゃだめ!死ぬよ!
- 879 名前:デフォルトの名無しさん [2008/10/21(火) 04:20:59 ]
- 大体でいいから音楽から歌声部分だけ目立たせるようにフィルタをかけたいんだが、
なかなかうまくいかん。 FIRフィルタで400-4000hzくらいを通したところで音楽がこもるだけだ。 フィルタで音声以外の部分を削る(性能はかなり低くていい)って無理なのか?
- 880 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 08:36:35 ]
- どの音も倍音成分含んだ上で音が成り立ってるから、
周波数だけでボーカル分離はできないと思う。 音量やパンも考えないと。
- 881 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 08:55:13 ]
- 他に、「ボーカルはセンター付近にあって、他の楽器は左右に寄ってる」
って仮定のもとに分離を試みたりするらしいけども、 その仮定自体100%そうとはいえないし、 その仮定が正しい場合でも、たった2チャネルの信号から特定部分抜くのは難しい。
- 882 名前:デフォルトの名無しさん [2008/10/21(火) 19:18:17 ]
- マイクから録音した音声を波形で表示したいのですが、
WaveInで録音したものをどうやって波形にすればいいのですか?
- 883 名前:デフォルトの名無しさん [2008/10/21(火) 20:52:29 ]
- 数値を時系列にプロット
- 884 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 22:46:25 ]
- 質問です
超超基本的なシンセソフト(学研のふろくのsx-150みたいな)を作ってみたいです! プログラミング言語に関する知識は全くないです。(シンセソフト作りで一緒に勉強しようと思ってます) 使用する言語でおススメありますか?
- 885 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 00:07:56 ]
- C
- 886 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 00:10:11 ]
- C++
- 887 名前:884 mailto:sage [2008/10/22(水) 01:50:29 ]
- >>885>>886
ありがとうございます! C言語で調べたところVSTSDKというのがあったんですが、 これを使ってVSTとして作った方が近道ですかね? あと、よかったら参考になる本など教えてもらえるととても嬉しいです。 (この前それっぽい本を買ったんですが、シンセのことばかりでプログラミングのことが載ってなかったんですORZ。でも勉強にはなりました)
- 888 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 05:27:48 ]
- プログラムってのは成功失敗を問わず実践してこそ身につくもの。
人に聞く前に自分で実験してみたりはしないのかい? そもそも言語の基礎が解ってるならサウンドの基礎知識だけ学べば実装はそんなに難しく無いはずだし、 言語から勉強しようってんならスレ違い。
- 889 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 07:31:28 ]
- >>888
アドバイスありがとうございます! 少しでも近道しようっていう考えが間違ってました。 一人で頑張ります!
- 890 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 10:22:51 ]
- VSTって知らないけど、全部自分で作った方が面白いと思うよ。
sx-150シミュレーターというかエミュレーターというか。
- 891 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 10:27:43 ]
- >全部自分で
VSTなど使わずって意味で。
- 892 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 15:24:46 ]
- むしろVSTなんか作ろうとしたら
ゴールが遠すぎてあっという間に挫折するわな
- 893 名前:868 mailto:sage [2008/10/22(水) 22:56:08 ]
- 皆様解説サンクスです。コメントを総合して何となく分かってきました。
"解脱"に誰もツッこんでくれなくて(´・ω・`)ショボーン >>889 >>892 プログラミングモデルとしては、VSTは分かりやすい方ですよ。 オブジェクト指向っていう壁はありますが、複雑多機能なフレームワーク 渡されるよりは学習コストは低いと思います。 基本的には、SDKで提供されるクラスを継承して処理を実装して、 そのクラスのインスタンスのポインタを返す関数を書いてエクスポートするだけです。
- 894 名前:デフォルトの名無しさん [2008/10/24(金) 02:33:39 ]
- C#でサウンド操作関係のソフトを作ろうかと考えているんですが、waveOut系のような低レベル操作の出来るクラスが見つかりません。
DLLをインポートしてwaveOut系を使うしかないのでしょうか? また、低レベル操作の出来るクラスがあれば教えてください。
- 895 名前:デフォルトの名無しさん [2008/10/24(金) 03:27:46 ]
- >>894
ManagedDirectX経由である程度できる。 昔MSDNにサンプルあったよ。 リズム/ドラムあたりで検索してみ。
- 896 名前:デフォルトの名無しさん [2008/10/24(金) 03:32:13 ]
-
>>894 ttp://thesource.ofallevil.com/japan/msdn/columns/code4fun/code4fun02032004.aspx ほれ
- 897 名前:894 mailto:sage [2008/10/24(金) 09:55:53 ]
- >895-896
さっそく調べてみます。 ありがとうございます!
- 898 名前:デフォルトの名無しさん [2008/10/25(土) 01:40:18 ]
-
遅延時間について教えてください。 FIRの設計で、周波数特性を先に決めて逆DFTかけてインパルス応答出しますよね。 このとき遅延時間が発生すると思いますが、この遅延時間を少なくする定石って何かあるのでしょうか。 サンプリング周波数を多くとるか、タップ数を減らすという考え方であってますか。 また、サンプリング周波数を多くとる場合、アップサンプリングでいいものなんでしょうか。 アホですみませんが、良く分からないので、よろしくお願いします。
- 899 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 03:05:15 ]
- >>898
アップサンプリングすると元の音のある帯域が相対的に低域に落ちる。で、 低域で精度確保しようとすると必要タップ数が増えて元の木阿弥。 タップ数減らしたいなら直接設計法をやめるのが早い
- 900 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 09:33:22 ]
- >>898
位相が歪んでもいいなら最少位相化でぐぐれ。 あとは、Remez アルゴリズムってので、 位相保ったまま、周波数特性の絶対値誤差を極力少なくできるんで、 それで所望の特性を少ないタップ数で実現できて遅延減らせる。
- 901 名前:デフォルトの名無しさん [2008/10/26(日) 22:53:44 ]
-
返答ありがとうございます。 >>899 ハイパスフィルタならアップサンプリングでも有効ですか? >>900 なるほどー、Remz法って名前は知ってたのですがここで使うんですね。
- 902 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 23:06:13 ]
- >>901
意味が分からん アップサンプリングで見かけ上出てくる高域にあるのはゼロ補間で出てくるエイリアス。 普通LPFでカットするし、音響的には害しかない。
- 903 名前:デフォルトの名無しさん [2008/10/30(木) 17:17:14 ]
-
音の出力の遅延時間そのものを自由に変更できるようにしたいんです。 その際多少音が悪くなってもかまわないので、1サンプル以下の単位で遅延時間を操作するためにFIRを使いたいと考えているのですが。 この場合定石ではどうやるんでしょうか...。アホですみません。
- 904 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:18:05 ]
- フィルターなんか使わなくても、普通のプログラムレベルで出来ると思う。
- 905 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 21:39:06 ]
- いやいや、分数精度遅延は普通FIR使うよ。
4〜6タップくらいで、ラグランジュ補間するのが一般的だと思う。 1サンプル以下の遅延ってのは要はサンプル間の補間
- 906 名前:デフォルトの名無しさん [2008/10/31(金) 20:26:10 ]
- ピッチを変更せずに再生速度を変更するのにはどういった手段が考えられますでしょうか?
FFTとかも触り程度にしかわからないのですが、お願いします。
- 907 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:12:20 ]
- >>903
アップサンプリング→遅延→ダウンサンプリング 途中適宜LPFを入れる
- 908 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:35:16 ]
- >>906
www.google.co.jp/search?hl=ja&q=%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%B9%E3%83%88%E3%83%AC%E3%83%83%E3%83%81+%E3%82%BD%E3%83%BC%E3%82%B9&lr=lang_ja
- 909 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:04:09 ]
- >>906
一定間隔で切り、複製して並べる
- 910 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:32:37 ]
- 要は波の数を変えればいいんだよね
- 911 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:27:44 ]
- >>908,909,910
ありがとうございます。タイムストレッチっていうんですね ただ一定間隔できって複製して並べるという部分がちょっと理解できませんでした。 周波数をそのままにして音を削っていくみたいな感じだとはおもうんですが…
- 912 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:20:21 ]
- クロスフェードで同じものを何度も繋げるだけだよ
- 913 名前:デフォルトの名無しさん [2008/11/04(火) 00:43:08 ]
- 音響信号(wavファイル)をFFTしてバンドパスフィルタかけて逆FFTする。
っていうことをしたいんですけど、いかんせんこの分野は初めてなのでやり方がわからないです。 こういった処理をするプログラムソースが載ってる本を知ってる方おられますか?
- 914 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 01:20:29 ]
- >>913
Intel IPP
- 915 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 02:31:43 ]
- FFT→ピッチシフト→逆FFTなら
www.dspdimension.com/admin/pitch-shifting-using-the-ft/ Cマガにもあったけど何年何月号か忘れた
- 916 名前:903 [2008/11/04(火) 14:25:36 ]
- >>905 907
ありがとうございます。亀レス申し訳ないです。 サンプル間の補間というのは、一度アップサンプリングして、サンプル間を0ではなく、 3〜5次のラグランジュで補間するという意味でしょうか? さらにその補間済みのアップサンプリングされたデータに対して4〜6タップのF4IRをかけるということで良いのでしょうか?
- 917 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 23:09:07 ]
- >>916
いや、1/4, 2/4, 3/4 とかの位置のラグランジュ補間係数をあらかじめ計算しておく。 位置が決まってるラグランジュ補間は FIR フィルタで実装できる。
- 918 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 09:36:33 ]
- サウンドプログラムと言うより、フィルタの使い方ばっかりだな。
- 919 名前:903 mailto:sage [2008/11/05(水) 13:42:01 ]
- >>917
回答ありがとうございます。 >位置が決まってるラグランジュ補間は FIR フィルタで実装できる サンプリングデータに対する補間ではなく、FIRの係数に対する補間をせよという意味でしょうか? たとえば、あるデータに4倍のアップサンプリングをするとして、 それにかける4倍サンプリングレート時のFIRの係数を、 元々のサンプリングレート時のときの係数を基にして、 ラグランジュ補間を用いて予め計算しておくということですか? つまり、アップサンプリング時用のFIR係数を予め作成しておく、という理解でよいでしょうか?
- 920 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 19:15:42 ]
- フィルタの話ついでに
IIRの演算で精度上げてったら演算誤差の蓄積とかの影響がすくなそうなんだけど 結局蓄積するから使い勝手はかわらんかな 安定し続けるようなもんができたらいいなぁと思ったり
- 921 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 20:15:27 ]
- DFTにおいての窓関数ってなんの意味があるんですか?区間の切り出しって意味で矩形窓はわかるんですが・・・
- 922 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 21:31:43 ]
- 周期関数を仮定するDFTで不連続点の解消
- 923 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 21:50:59 ]
- それを解消するとなにがいいんですか?
窓関数で周波数分解能が変わるっていうのがわかりません。窓長で決まるものだとおもうんですが・・・
- 924 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 22:09:42 ]
- >>923
矩形で切り出したら両端はどうなるかを考えるんだ。 つか人に聞く前に実際に実験してみれ。
- 925 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 22:58:00 ]
- 実験しましたが・・・
分解能っていうのは周波数ビンの幅のことじゃなくて、裾に出てくるスペクトルがなくなるってことなんですか?
- 926 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:10:10 ]
- その程度の解説はぐぐりゃ死ぬほどあんだろ
ttp://www.google.co.jp/search?num=20&q=%E7%AA%93%E9%96%A2%E6%95%B0 ttp://images.google.co.jp/images?num=20&q=%E7%AA%93%E9%96%A2%E6%95%B0&um=1&ie=UTF-8&sa=N&tab=wi ttp://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0
- 927 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:16:53 ]
- >>925
裾のスペクトルが他の部分を滲ませるから、窓がけをする。 大体ピークの鋭度とサイドローブ(裾のスペクトル)の漏れがトレードオフになっている。 だからこれは適材適所で、例えばパワースペクトルの概形を推定したいときには 窓をかけた方が大抵の場合はいいけど(かけないと小さな信号がサイドローブリーケージで埋もれる) 周波数が近い二つの正弦波を見分けるときなんかは窓をかけるとサイドローブは抑えられるけど メインローブが広がるからむしろかけないほうがいい。 周波数分解能が変わるって表現は誤解を招くと思う。
- 928 名前:927 mailto:sage [2008/11/05(水) 23:24:47 ]
- あ、今読んで思ったけど「誤解を招く」って表現が思い切り間違ってます。
周波数分解能がかわるというよりも時間と周波数の分解能でトレードオフを取る、と書くつもりでした。
- 929 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:24:59 ]
- なるほど。よくわかりました。広きに渡って周波数の分布をみたい場合に適した窓ってなんでしょうか?
採譜用なんですが、50〜2000hzぐらい
- 930 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 09:33:23 ]
- >>919
時刻 1, 2, 3, 4 の位置のデータから時刻 2.25, 2.5, 2.75 のデータを作るFIRフィルタを作るだけ。
- 931 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 10:13:12 ]
- >>929
採譜のどの部分かによる。アルゴリズムにもよるけども、音程を推定したいのなら矩形窓じゃないと ベースの音高を推定するのに苦労すると思う。44.1kでサンプリングしたときの周波数分解能と 50Hz(オルガンの低音辺りだよな?)での半音での周波数差を見比べてみな。 あと、音色の分析とかだったらバーレットハン窓辺りが結構使われる。
- 932 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:53:14 ]
- てか採譜にFFTって時間分解能が全然実用的じゃない気が
- 933 名前:903 mailto:sage [2008/11/11(火) 21:17:36 ]
- >>930
回答ありがとうございます。 亀レスで申し訳ないです。 >時刻 1, 2, 3, 4 の位置のデータから時刻 2.25, 2.5, 2.75 のデータを作るFIRフィルタを作るだけ アップサンプリング時に、2.25などの分数の部分のデータを作って、それをダウンサンプリングして再生でいいんでしょうか。 それで分数遅延になるんでしょうか? ちょっと頭がこんがらがってきました。
- 934 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 02:19:02 ]
- >>933
930じゃないけど、 www.acoustics.hut.fi/~vpv/publications/icassp00-fd.pdf これ参考になる。理論に興味がなければ2ページ目の左コラムの式をそのまま実装すればおk ディレイって本質的にシフトをさせたSincの畳み込みなんだけど、そうするとT<0まで 関数が存在するから窓がけするけど、そうするとリップルができるから、できるだけフラットな F特を実現する為にラグランジュ、って考え方だと思います。
- 935 名前:903 mailto:sage [2008/11/12(水) 06:18:39 ]
- >>934
この論文、まさに自分がやりたいことが書いてありそうなタイトルです。 理論のほうにも興味があるので、これ読みこんでみます。 ありがとうざいます!
- 936 名前:デフォルトの名無しさん [2008/11/13(木) 06:16:07 ]
- タイムストレッチする際に、周期を求めないといけないと思うのですが、
その求め方というか決め方がわかりません。 具体的には、音声をフレーム毎に区切って、クロスフェードさせることで時間を圧縮しようと 思うのですが、フレームをどう区切るのがいいのかがわからないので、 アドバイスお願いします。
- 937 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:03:59 ]
- >>936
周期はユーザーパラメータでいいんじゃない?
- 938 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:23:30 ]
- CQ変換ってなんですか?
- 939 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:19:42 ]
- CQ CQ こちらJF8....です
- 940 名前:デフォルトの名無しさん [2008/11/21(金) 01:27:08 ]
- かなり初心者な質問だと思いますが、返答していただけたら幸いです。
現在、音楽ファイル(wavファイル)をFFTし、バンドパスフィルタをかけ、IFFTするという作業をしているのですが、 音楽ファイルのデータを配列に入れるとき、ステレオデータだと右左右左(逆?)…と格納されますよね? そこで左のデータと右のデータを別の配列に格納して、片方のデータだけを使用しているのですが、問題はないでしょうか? 目的としては音楽特徴量の抽出です。 またフィルタをかける際ですが、 勉強不足でフィルタをかけるタイミングがわかりません↓ 配列に格納したデータをFFTした後フィルタをかけIFFTするのか、生のデータにかけるのか… ちなみにFIRフィルタをかけるつもりですが、係数の計算方法がわからないので、 momiji.i.ishikawa-nct.ac.jp/dfdesign/fir/mado.shtml のサイトで得られる係数を利用したいと思っています。 そもそも考え方が間違っているかもしれません。 よろしければご鞭撻のほどよろしくお願いします。
- 941 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 02:32:33 ]
- 前段は別けて問題ないが、特徴量の抽出が目的なら足しちゃえば?
後段は誰かに任せた
- 942 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 03:51:49 ]
- >>940
よくある半区間重複だと、 窓→FFT→係数をそれぞれ乗算→IFFT→窓→オーバーラップ このやりかたの場合、2回の窓掛けの結果をオーバーラップする必要があるので sin窓とかvorbis窓を使う必要がある。あとライブラリによって出力データの並びが 違うので、それにあわせて適切に係数乗算しないと変になる。
- 943 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 09:58:23 ]
- >>940
ソースデータにもよるし、片chで期待するデータが得られるならそのままでもいいし、 狙った効果でPANしてる曲とかはLR加算するとヘンに聞こえたりする場合も稀にある。 結果が解ってる実験なり課題なりなら最適な方選んでもいいし、 ステレオでFFT処理して、必要に応じて出力結果を波形編集ソフトで弄ってもいい。 それとFFTでフィルタかけるわけだから、FIRは不要じゃね? 大抵の場合>>942の手順で事足りると思う。 多分フーリエ変換が解ってないんだと思うからFFTのC言語ソースとか落としてsin/cos波形食わしてみ。 www.google.co.jp/search?q=fft.c
- 944 名前:940 mailto:fft [2008/11/21(金) 17:30:04 ]
- みなさんありがとうございます。
やはり勉強不足のせいで、理解できるところと全くわからないところとあります… ですので、もしよかったらソースを見ていただきたいです。 いただいたプログラムを弄っているので、至らない部分もあるかと思いますが、 もし時間のあるかたがいましたら、ご鞭撻のほどよろしくお願いいたしますm(_ _)m ttp://a-draw.com/uploader/upload.cgi?mode=dl&file=6970 パスはmail欄です。
- 945 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:59:18 ]
- FFTした結果からピークの山を見つけるにはどういうプログラムを書けばいいですか?
実際の値を 横軸を対数に周波数、縦軸にパワーにとったグラフにプロットして目で見ればここが山かなと わかるんですが・・・
- 946 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 19:26:00 ]
- Audacityのスペクトル表示にあるような機能です。
- 947 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 23:12:04 ]
- >>945
ケプストラム
- 948 名前:940 mailto:sage [2008/11/22(土) 00:54:01 ]
- 指摘はメールでお願いしますとreadmeで書きましたが、
このスレでしていただいても結構です。人頼みで申し訳ありません
- 949 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:45:00 ]
- 周波数と振幅からどうやって音量を求めるんですか?
- 950 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:45:39 ]
- もしかして:RMS+二条平均根
- 951 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:06:38 ]
- 変換ミス...
二乗平均根
- 952 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 18:52:47 ]
- 固定小数点演算のフィルタを作りたいのですが係数の小数点位置はどのようにして決めればいいんでしょうか
- 953 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 19:03:15 ]
- >>952
用途によるとしか言いようが。 昔自分が作ったのだと、IIRだと整数部2ビット、FIRだと整数部なしでやった。
- 954 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:28:15 ]
- 符号部1bit,整数部2bit,残りを少数部ですかね
乗算した結果が精度的に2倍なると思うのですが、元の精度に戻すことを考えると頭がこんがらがってしまって・・・ そのあたりはどうすればいいんでしょうか
- 955 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:47:46 ]
- >>954
そんなとこ>符号1bit、整数部2bit。 普通は係数とバッファで固定小数点位置変えるからなぁ。 たいてい、フィルタ係数って1以下になるでしょ。
- 956 名前:デフォルトの名無しさん [2008/11/30(日) 23:22:25 ]
- モノラル音響信号を、2次元フーリエ変換成分(周波数方向のフーリエ成分と時間方向のフーリエ成分)
に分けることって可能ですか?そのあたりについて詳しいサイトとか本とか知ってたら教えていただきたいです。
- 957 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:33:02 ]
- >>956
それ、ウェーブレットで検索した方がいいかも。
- 958 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:33:53 ]
- 係数は確かに大抵1以下なんですが、ところどころ1以上になるところが出来てしまって・・・
もしバッファの小数点位置がLSBにあって、係数を符号部1bit,整数部2bit,小数部5bitとした場合は乗算した結果を5bit右シフトして整数部を残すようにするんでしょうか この方法だと係数が1以上の場合、残した整数部データの有効なビット幅がバッファに入ってるものより大きくなってしまう気がして・・・
- 959 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 00:50:13 ]
- >>956
スペクトログラムのことを言っているなら短時間FFT
- 960 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 21:46:34 ]
- ここで聞くのがいいのか少々悩ましいのだが
AMDーSB700でレガシオーディオの設定はどこのポートを叩けばいいのか情報ないかい? 非Windows環境なんだが、奴が邪魔してYMF744のFM音源鳴らすのに不便で仕方が無い。
- 961 名前:デフォルトの名無しさん [2008/12/02(火) 00:09:48 ]
- DTMFのトーン信号を解析するソフトについて、ソースとかから載ってる本とかwebPageとか
ご存じありませんか? #出来ればVC++で。
- 962 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 03:47:09 ]
- >961
VC++ではないけど、参考になるかな? www.mars.dti.ne.jp/~m7030/pic_room/dtmf/index_rx.html
- 963 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:38:35 ]
- >>962
ありがとう。ただ、俺が探してるのは外部装置なしでPC内で完結してるやつなんだ。 サウンドカードから取り込んで、判別&表示、みたいな。
- 964 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 14:38:50 ]
- スペクトラムってどうやって計算するんですか?
- 965 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 16:45:44 ]
- FFTして複素平面上でベクトルの絶対値
- 966 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 10:33:08 ]
- THX!
- 967 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:47:17 ]
- リサンプリング周波数の組み合わせによっては処理量が膨大になる問題で
例えば48k→44.1kで↑147↓160を素因数分解して複数回処理にわければ、 重い(ほぼ)理想フィルタでも使える!売れる! とか思って実装してみたらVoxengoに年単位で先を越されていたというチラ裏。 (ちなみに処理量は1/7〜1/8になります。 ほぼ理想フィルタなので数回程度なら聴取可能な影響はない)
- 968 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 01:39:44 ]
- >>967
イミワカラヌス
- 969 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 15:07:39 ]
- >>968
分かる奴だけ分かってくれ…ってのはアレなので、 ↑がインターポレーション ↓がデシメーション 間にLPFが入る っていうサンプルレート変換のやり方の話。DSP使わない場合は 計算負荷と品質のトレードオフになる。あとはてきとうに調べて。
- 970 名前:デフォルトの名無しさん [2008/12/15(月) 04:43:01 ]
- 勘違いしてるかもしれんから教えて欲しいんだけど、
一次元信号で8000のデータ数があったとして、それをレベル3までのウェーブレット変換をしたら、 0〜2000までがレベル3のスケーリング係数で、 2000〜4000までがレベル3のウェーブレット係数で、 4000〜6000までがレベル2のウェーブレット係数で、 6000〜8000までがレベル1のウェーブレット係数って認識であってるかな?
- 971 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 05:21:42 ]
- 実装次第
- 972 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 08:06:02 ]
- そりゃそうだ
- 973 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:10:46 ]
- limetarte.net/software/more/binary/VocalReducer.htm
ここのボーカルキャンセラーなんだけどアルゴリズムについてわかる人いますか? ・新ボーカルキャンセラ(周波数成分分解ベクトル減算型=イミディエイト法) L, R チャネルをそれぞれ フーリエ変換、ハートレー変換などで {Li},{Ri} のように周波数ごとの成分に分離します。 ここで、両チャネルの振幅スペクトル・位相スペクトルを比較し、 非常に近いもののみを、重み付け係数付きでベクトル減算します。 これを逆変換すると、中央音の消えたステレオ音源を得ることが できます。 LとRのパワースペクトルを比較して、 パワーが似てる周波数ビンのパワーを0とかにすればいいのかな? 作者に聞けっていわれそうですが・・・返信がなかったんで
- 974 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:39:01 ]
- 位相も考えないとだめじゃないの
- 975 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 14:11:32 ]
- まぁ普通この手のアルゴリズムは説明してくんねぇって。
何の用途で使うかしんないけど、そのまま製品化とかされたらたまんないし、 どっかのサブマリン特許に引っかかってる可能性もあるし、メリットねぇもん。
- 976 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 16:11:08 ]
- フーリエ変換が分かれば高校数学でできる。
複素スペクトル平面上にOLとORを書いて、 PLとPRが直交するようなOPを適当に作ってベクトル減算。 習った次の日くらいに思いついたぞ俺。 ブロック単位の処理の場合プリエコーポストエコーの問題もあるから、 上みたいな遊びソフトはともかく、音楽制作に供するなら ちょっとは頑張らないと音質的に微妙になるけど。
- 977 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 17:10:46 ]
- はいはい(笑)
- 978 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:55:29 ]
- >>976
ちょっと2次元で書いてくれませんか?
- 979 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 19:48:52 ]
- おまえらその説明で分かんないのか……
- 980 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 21:48:01 ]
- こういううざいのってどこにもいるのね
|

|