- 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
- 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 ]
- こういううざいのってどこにもいるのね
|

|