- 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
- 654 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 01:26:25 ]
- >>651
50%だけ普通ってのはわからんが、 サンプリングレートに対して、半端な周波数を鳴らしているんじゃないのかな。かつ波形処理が簡易的な出力。 そうすると、山や谷の部分の間隔が1サンプル多い部分とそうでない部分とが出てくる。 それを聞くと、周波数の違う音が混じって、汚く聞こえる。
- 655 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:02:16 ]
- ビーはともかく、ガガガは確実に元の周波数より長い周期でうなってるな。
だから、>>652-653の理由だけでは説明が付かない。
- 656 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:28:57 ]
- 波形うpしろ、解析してやっから
- 657 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:54:43 ]
- >>651
定サンプリングレートだと、サイン波より矩形波の方が難しい波形なんだよ。 普通に0,1で出せると思ってたら甘いよ。 過去ログを見てみるといいよ pc5.2ch.net/tech/kako/996/996171508.html
- 658 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 18:35:41 ]
- なるほどなぁ、矩形波生成した時点ですでにエイリアシングノイズがのってるのか。
- 659 名前:651 [2008/06/10(火) 21:02:12 ]
- 過去ログ読みました。勉強になります。
>>651については>>654さんのおっしゃるとおりだと思います。 現在は、 フェーズの増加 phase+=( freq*(PI*2/sampleRate) ); 値を返す val=(phase<PI/8)? 1.0:-1.0; こんな感じで補正が全くありません。 phaseにLPFをあてて倍音をカットすればいいのでしょうか? 無知ですいません。。
- 660 名前:632 mailto:sage [2008/06/11(水) 01:27:24 ]
- >>649
私も「ボイスって声?だよな…」と一瞬考えたのですが、 ドキュメントの文脈と合わないので質問してみたんです。 で、調べてみるとシンセサイザとかで言う「音色」のことのようでした。 ドキュメント自体にそのように明言されていないので自信ないですが、 きっと音楽系の仕事をしてる人にはありきたりな内容かも知れません。 そんな感じで資料読むにも、 電子方面の音楽知識や単語を勉強したいところです。 「ディジタル・サウンド処理入門」って本でも読んでみます。
- 661 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 07:15:54 ]
- >>659
パルス=デルタ関数の帯域カットしたデータを 4〜32倍のオーバーサンプリングした結果をテーブルとしてもって おいて 8倍なら ( round(phase*8) mod 8) から 8個単位のこのテーブルを引き その結果を立ち上がり側なら積算、立下りながら減算する。 最初からデルタ関数ではなく、ステップにしたら良いと思うだろうけど 周波数が高くなってくると、デルタ関数同士がオーバーラップするようになるから デルタ関数を積分した方が良い。
- 662 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:38:33 ]
- >>659
僕は、画像で言うアンチエイリアスの様な方法をやりましたが(画像処理での方法は知らないが結果的にそうなった)、 普通に聞く分には全く問題ないものの、良〜く聞くと若干ノイズが聞こえる。 綺麗な矩形波は ttp://www.slack.net/~ant/bl-synth/ これを使ったエミュレーターの音は、全くノイズが聞こえないです。
- 663 名前:651 mailto:sage [2008/06/11(水) 23:01:14 ]
- なるほどです。
>>662の帯域制限は>>661と同じ事なんでしょうか。(難しい…) >>659のコードを、 phase+=freq; val=(phase<(sampleRate/8))? 1.0:-1.0; こんな感じで書き直したら、以前あったノイズはなくなりました。 (VirtualNES(NSF)で鳴らした音と比較してます) なんでノイズが消えたのか、よくわかってませんが・・・。 とりあえずこれで作成してみようと思います。 >>661>>662の方法はまだ理解できないのでこれから勉強します。 ありがとうございました。
- 664 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 08:20:38 ]
- > >>662の帯域制限は>>661と同じ事なんでしょうか。(難しい…)
方式が違う。 662 はサイン波合成で矩形波を作っている。 リアルタイム合成するにはサイン波を1,3,5,7の奇数倍周波数で位相を合わせて作れないといけない。
- 665 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 17:49:51 ]
- サウンドプログラミングを学ぶためにローパスフィルタを作ろうと考えました。
方法としては波形データ→FFT→特定の周波数以上のところを0に書き換え→逆FFT というのを考えたんですが、いざコーディングするとなると全く出来ないです。 wavデータを順番に配列に突っ込むというのは出来たんですが・・・ なにか参考になるサイトなどありますか?
- 666 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:05:18 ]
- >>665
Wikipedia。デジタル・フィルタの基礎から勉強したほうがいい。 そのあとで↓ www.musicdsp.org
- 667 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:19:07 ]
- >>666
英語はきついっすw
- 668 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:48:34 ]
- じゃぁ本買いな
- 669 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:33:30 ]
- 勉強する気もねぇ乞食かよ・・・
- 670 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 03:10:02 ]
- >>632
多分ゲームで必要になるのはストリームしながら再生、停止。 メモリに常駐している音(効果音、クリック音)の再生。 それらの音のボリュームの全体操作。 (画面が切り替わった時に前の効果音が残ったりしちゃうから。) サウンド用の領域が溢れた時に音を鳴らさない、その旨を伝える手段。 場合によってはストリーム音のクロスフェード (前の音を段々小さくして変わりに次の音を徐々に入れていく。) それはなくても徐々に音を消す処理は必須。(いきなり消すとノイズが入る。) この辺はハードが色々用意してくれてるだろうから、勢いでなんとかなる。 一番大変なのは、どの場面でも必要になるサウンド処理は、別スレッドで管理されることが多い。 サウンドはスレッドセーフで作らないと後で大変なことに。 後、BGMをストリームで流すとディスク上で常にシークが入る。 ロードを頻繁にするデータは、ディスクの外側よりBGMの隣にデータを配置した方が早くなる場合もある。 昔、隣の席でゲームのサウンドを開発している人を見た感想でした。
- 671 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 10:50:28 ]
- ,,,,,,,,,,_
,ィヾヾヾヾシiミ、 rミ゙`` ミミ、 {i ミミミl i゙i ,,,ノ 、,,-=、 ミミミ サウンドプログラム {_i=・}-{_=・`} ̄レゥ:} l ̄,,,,_,゙ ̄` :::ン フフン |/ _;__,、ヽ..::/l ヽ.~ニ~ ' .::::ノ/ }\_ _,,.-‐' `ー '"::/ / |  ̄`''ー-、 r‐''" ./ i\/ / | / ヽ / / | /;;;ヽ、 l ヽ / ノ /}
- 672 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:56:49 ]
- シミュ系のプログラムやってる人おる?
昔のビンテージエフェクターの回路図をソフトウェアでシミュとか
- 673 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 17:55:44 ]
- いけいけどんどんて
- 674 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:30:15 ]
- >>668
どんな本が良いですか? そもそも公式に書かれた記号の意味が分からない 俺のようなものでは読むだけ無駄ですか? orz
- 675 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:53:08 ]
- 勉強しろ
- 676 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:27:42 ]
- OHMの「マンガでわかるフーリエ解析」辺りから入ればいいんでねぇの?
- 677 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:41:08 ]
- 音声をFFTして周波数領域でなんか処理してるプログラムのソースないですか?参考にしたい
- 678 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 07:17:21 ]
- キーコンをFFTで周波数領域でやってる人がいたと思うけど
granul 分割統合法の方がシンプルで良好なようだよ。 ほかにはFFTはタップ数の多いFIRフィルタを計算するのに 計算量を減らすのに使われる。 周波数軸上で直接加工するのは難しいよ
- 679 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 12:51:17 ]
- 音声の実信号x[n]があります。
↓ 点数4096のFFTをかける ↓ 4096/2個のDFT値(実部と虚部) Xr[n] Xi[n]を得る。 ↓ パワースペクトル計算し xp[i] = Xr[i]*Xr[i] + Xi[i]*Xi[i] 対数とってdbに db[i]= 10*log[10] xp[i] という手順でスペクトル解析するプログラムを組みました。 入力として1khzのsin波を入力すると 1khz付近の値が一番大きく130[db]ぐらいになります。 これは正しい しかし、10khzでも値が50ぐらいあって、 他にあるスペアナのように綺麗にピークがでません。 原因とかわかりますか?困っています
- 680 名前:679 [2008/06/28(土) 14:37:47 ]
- あと窓関数としてハミング窓かけています
- 681 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 14:42:02 ]
- 80db差って10^8ってことだよねえ
- 682 名前:デフォルトの名無しさん [2008/06/28(土) 16:37:27 ]
- って事は別に普通だということですか?
フリーのスペアナだとそんなことはないんですが
- 683 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 18:19:11 ]
- 入力x[n]のパワーは?
窓関数外した時の結果は? S/Nの閾値は?
- 684 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 09:45:51 ]
- 音声の実信号ってのが16bitPCMなんじゃないの?
そうするとデジタル誤差が丁度それくらいだと思うよ
- 685 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 14:57:22 ]
- 実信号x[n]の代わりに、sin関数で生成した配列を入力に使って
理想状態のテストをやってみたら? その後、入力の位相をずらしてみたり、DCオフセットを追加してみたり、 16bitとか24bitに量子化するなど、各種の条件でテストしたら どの要素がどのように影響しているのかが見えてくると思う
- 686 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:51:24 ]
- >>683
窓関数いろいろ変えても良い結果はでないですね。 S/Nを区別する処理はしてません >>684 そういうもんですかね? >>685 例えば800Hzのsin波とかどうすればいいんでしょうか
- 687 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 14:56:28 ]
- >例えば800Hzのsin波とかどうすればいいんでしょうか
#include <math.h> #define PI 3.14159265 #define NN 4096 #define Fs 10000.0 /* Sampling freq. 10kHz */ #define Freq1 800.0 /* Signal freq. 800Hz */ int i; double x[NN]; for(i=0;i<NN;i++) x[i] = sin(i*2.0*PI*Freq1/Fs);
- 688 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 17:01:01 ]
- >>686
16bitで量子化してると 6*15=90dBしかS/Nはないよ。 サイン波をソフト上で16bitのデータを作って入れても-105dB程度下にノイズが出てくる
- 689 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 20:34:29 ]
- サウンドの基礎が解ってないようだし、初心者本なり教科書なり読んで勉強するべき。
- 690 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:59:11 ]
- sin関数で生成したのでテストしてみました。1000hzのsin波で、サンプリング周波数は10k
FFTは4096点で、窓関数はハミングです 値はパワースペクトルです。 988.769531 [Hz]: 60.407160 991.210938 [Hz]: 52.110974 993.652344 [Hz]: 0.011060 996.093750 [Hz]: 6921.740936 998.535156 [Hz]: 681334.211257 1000.976563 [Hz]: 946209.472048 1003.417969 [Hz]: 31271.077880 1005.859375 [Hz]: 19.035879 1008.300781 [Hz]: 43.300825 なかなかいい結果になりました。993hzで値が小さいのが気になりますが。 97.656250 [Hz]: 0.061772 100.097656 [Hz]: 0.061831 102.539063 [Hz]: 0.061892 >>688 このあたりがノイズってことですよね。対数とってdbにするとマイナスでてきちゃうし >>689 一応読んで勉強したつもりなんですが・・・ dbがマイナスとはどういうことでしょうか?音を吸収する?
- 691 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:04:31 ]
- >>689
分かってないのはサウンドの基礎だけではなかったようだ
- 692 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 13:17:42 ]
- 1、 ムダな精度で表示するな
2、 周波数も対数化する方法を考えろ
- 693 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 17:23:02 ]
- >>690
なんでスペアナ作りたいのかしらんけど、作っても君の知識レベルでは使いこなせないから意味無いよ?
- 694 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 17:29:48 ]
- 何を勉強したらいいですか
- 695 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 18:09:10 ]
- なんでdB(対数)表現を使うのか?>ja.wikipedia.org/wiki/%E3%83%87%E3%82%B7%E3%83%99%E3%83%AB
対数のマイナス値の意味も解ってないみたいだから、高校数学辺りの教科書で対数を勉強する。 その上で>>679で触れてる「他にあるスペアナ」のスケールの上限下限値とか確認すると見えてくるかも。
- 696 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:09:05 ]
- リア厨の予感がする
- 697 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:09:55 ]
- リア中でこれだったら逆にすげぇわ
- 698 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:21:35 ]
- 今日び本読めばたいていのことは書いてあるから
付け焼刃的な知識で実装は小学生でも出来る その本を本当に理解するのに必要な基礎知識が抜けているのは 真っ当な教育を(まだ)受けていないから
- 699 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 05:46:08 ]
- ゆとり世代の大学の宿題
- 700 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:10:09 ]
- 「何を勉強したらいいですか」の一文は最高にイカしてるなw
広がる話題でも無いし、後釣り宣言で収束キボンヌ
- 701 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 10:25:18 ]
- >>694
理系の大学1年生程度の数学。対数とフーリエ変換ぐらいは理解しとけ。
- 702 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 10:57:25 ]
- >>694さんが >>690 なら技術的というか工学的なセンスを磨く必要があると思うよ。
プラモでもいいし電子キットでもいいし、何でもいいからとにかく 実際に何か組み立てたり 雑学でいいから色んな本を読んで、 面白そうなものは作ってみる。 有効精度とか、この結果を出すのに何が一番効くかといったあたりからね
- 703 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 21:25:45 ]
- FFTの話からどんどん離れてきました
- 704 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 21:38:58 ]
- センターキャンセル処理で単純にL-Rするとオーバーフローする。
(L-R)/2ってしたらオーバーフローはしなくなりました。 でも気になる事があります。 元の数値が奇数だったら、切捨てされておかしなことになりませんか?
- 705 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 07:21:49 ]
- どうおかしくなると思うかを書いてみたら?
- 706 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 07:29:49 ]
- (L-R)/2が3の倍数になると頭がおかしくなる。
- 707 名前:デフォルトの名無しさん [2008/07/09(水) 10:08:35 ]
- 例えば波形の値が
300 303 だったら0.5倍すると150 151 となって二倍して元に戻そうとしても戻らなくなるので、データがちがくなってしまうのかなと
- 708 名前:デフォルトの名無しさん mailto:sega [2008/07/09(水) 10:31:19 ]
- 標本化定理が破られたと聞いて飛んできました!
今の時代、2倍以上の周波数でサンプリングしなくても デジタル処理を使うと元の信号を完全復元できるそうですが マジですか?
- 709 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:07:25 ]
- >>707
元に戻すような処理をするなら、2で割らず、余裕のあるところで計算しろ。 >>708 いましてるのは周波数じゃなくてビット数の話だろw
- 710 名前:デフォルトの名無しさん [2008/07/09(水) 11:46:59 ]
- 元には戻さないんですが
いいのかな?って思うんです
- 711 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:51:18 ]
- >>710
センターキャンセルで1bitの誤差が問題になる場面なんてあるの? なけりゃ気にするな。
- 712 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 18:23:44 ]
- 切り捨て(丸め)について、まじめに考えたいなら下記URLが参考になる
blackfin.s36.coreserver.jp/2191/misc/002_rounding.shtml
- 713 名前:デフォルトの名無しさん [2008/07/09(水) 18:59:29 ]
- まぁ2で割るんで十分でしょ
- 714 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:34:52 ]
- >>708
いやいや、完全復元じゃない。 自然界に存在する音って調波構造持ってることが多いから、 低周波から倍音の推測がある程度可能って話。 こういう話が出るたびに標本化定理が破られたとか騒ぐ馬鹿がいるけど、原理が違うから。 >>709 別件の質問じゃね?
- 715 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:37:20 ]
- >>707
(L-R)/2 だけだと当然、下位1ビットの復元無理。 その±1の差がどの程度問題になるかって話で言うと、まあ、用途しだい。 (L+R)/2 の情報もあるなら、円め方のルール決めとけば完全復元可能。
- 716 名前:デフォルトの名無しさん [2008/07/09(水) 23:30:17 ]
- (L+R)/2の情報持つぐらいなら、double型で(L-R)/2の情報を保持しといたほうがよくね?
- 717 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 00:37:58 ]
- >>716
L, R が32ビット整数ならね。
- 718 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 02:36:53 ]
- >>708 >>714
もしかして、アンダーサンプリングの話では?
- 719 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 07:04:42 ]
- >>716
もっと手っ取り早く、L/R/0.5*(L+R)の三つを保持しとけばよくね?
- 720 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 07:24:42 ]
- 保存が必要なのは L と Rだけだろ (L-R)/2 はその場で計算出来る
- 721 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 18:32:11 ]
- まぁ数だけじゃなく質もいいけどな
NT○研究所、ソ○ー アクセ○チュア まぁ君らニートには縁のない会社ばっかりだよ
- 722 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 18:39:51 ]
- 周波数から音名への割り当て方ってどうすればいいですか?
例えばサンプリング周波数44.1khzのデータをN=8192の高速フーリエ変換をすると、 周波数分解能は5.38[hz]。 A3=440[hz]と考える。 440[hz]付近はこんな感じになってる 403.747559 409.130859 414.51416 419.897461 425.280762 [Hz] 430.664063 [Hz] 436.047363 [Hz] 441.430664 [Hz] 446.813965 [Hz] 452.197266 [Hz] G#3=415[hz]で、どこまでをG#のパワーとしてみなして、どこからどこまでをAのパワーとしてみなしていいかわかりません。 単純に区間を2分割だとまずいですよね
- 723 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 19:16:42 ]
- またこの人か・・・
- 724 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 19:24:57 ]
- すいません。上のFFTのひとです
- 725 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 06:44:30 ]
- だから、まず、有効数字ってのを体に叩き込め!
半音の比は2^(1/12) = 1.059 だから、半音の真ん中の音は 2^(0.5/12) =1.029 の所だ 440*2^(-1/12) = 415Hz 440*2^(-0.5/12) = 427Hz ここが真中 なお、 A=440Hzに対して 430Hzは Aの音じゃない。 調子外れの音だ 処理の都合で A に入れるだけって事だろ?
- 726 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 10:11:53 ]
- ありがとうございます。
430Hzの音はAとしてみなし、Aのパワーとして加算すべきなのか、 ゴミとして捨てるべきなのかが分かりません。 430Hzの音が実際なっていなくても、FFTすると430Hzのところにパワーが出てきてしまいますよね?
- 727 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 10:27:57 ]
- >>726
好きにしろ。
- 728 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 11:57:50 ]
- >>726 手段は目的の為にあるんであって
手段の細かい事だけ聞かれても、他人には判断のしようがない
- 729 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 12:51:10 ]
- 厨房採譜ソフトでも作りたいんだろうよ
- 730 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 16:21:44 ]
- test
- 731 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 14:31:32 ]
- Windowsで、モールス信号を出すプログラムを作っています。
信号のオン/オフを、正弦波を生成して信号がないときには0で埋める方法で実装したのですが、 信号が切れるときにプツプツと酷いノイズが乗ってしまいました。 -- 10 9 7 0 0 0 0 0 0 -- 突然信号が0になってしまうのがノイズの原因と考え、信号が0に戻るまで待つことにしました。 -- 10 9 7 5 3 2 0 0 0 -- これでノイズはだいぶ軽減されたのですが、まだ残っています。 何かいい方法はないでしょうか。 あまり知識がないもので、何か参考になるサイトや書籍などを教えて頂けると嬉しいです。
- 732 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 14:32:40 ]
- >>731
エンベロープをつけろ。短い時間でフェードイン/アウトしろ。
- 733 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 14:33:44 ]
- >>731
ちょっとそれ聞かせてもらえる?
- 734 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 15:11:36 ]
- プチプチしたほうがモールスっぽいよ
- 735 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 20:39:15 ]
- >>731
自前でサイン波形出力してるなら0クロス地点(付近)でカットすりゃいいだけだと思うが、 そもそも、その「10」とかって値の単位はなんだ? モールス信号出力ライブラリみたいなのでもあんの?
- 736 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 22:18:14 ]
- 「信号が0に戻るまで待つ」=「0クロス地点(付近)でカット」ってことじゃないの?
- 737 名前:731 mailto:sage [2008/07/18(金) 23:42:24 ]
- >>732
エンベロープ調べてみます。アタック・ディケイをかけろということでしょうか。 短い時間なのでフェードを使うという発想はありませんでした。試してみます。 >>735 >>736の通りです。数字は単なる例示なのであまり深く突っ込まないでください。
- 738 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 06:47:15 ]
- 多分、フェードインやフェードアウトの処理は数ms〜数十ms程度の時間で良いはず。
アマチュア無線機で、この時間を調整してキークリックを低減するという改造記事を 見たことがあるし、セットモードで調整可能なメーカー製トランシーバーもある。
- 739 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 18:25:11 ]
- 時間分解能があまり重要じゃない解析において、
手法を短時間フーリエ変換からウェーブレットにする利点ってある?
- 740 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 23:52:06 ]
- ある
- 741 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:03:34 ]
- 具体的にどんなことですか?
- 742 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:36:27 ]
- >>741
テンプレートマッチングとかじゃね? 音声認識で使うみたいなの
- 743 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 00:41:43 ]
- FFTしたデータとのテンプレートマッチングでもいい気がするが
- 744 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 09:44:12 ]
- まあ、ウェーブレットも、マザーウェーブレットの種類次第では、
単なる窓掛け FFT でしかないし。
- 745 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 10:45:10 ]
- >>731
無音区間を0にするんじゃなくて、 そのまま保持してればいいんでは 10 9 7 7 7 7 7 7 7 って感じに。
- 746 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 10:49:26 ]
- …と書き込んでいいこと思いついた。
接線の傾きが大きいときにカットするからノイズになるというんだったら 0クロス地点じゃなくて、サインカーブのてっぺん つまり10、-10の時点で発振を止めて保持すればいいんじゃないかな。 10 9 7 5 3 2 0 -2 -3 -5 -7 -9 -10 -10 -10 -10 -10 -10 こういうことだ。
- 747 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 13:03:20 ]
- >>746
それ、オーディオ回路にダメージを与えかねないんじゃね? まんま直流電圧掛けることになるからコイル系の素子に過電流が流れそうだ。
- 748 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 13:47:38 ]
- >>744
そうかな?
- 749 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 18:50:24 ]
- >>748
コンセプト抜きにして、数式上はね。 ガボールウェーブレットとか、ガウス窓の FFT でしかない。
- 750 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 01:50:35 ]
- >>746
直流成分 通常はD/Aコンバータのハイパスで取り除かれるかれるとは思うけど、 この手のプログラミングではやっちゃわないように気をつけるべきところでっせ
- 751 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 04:09:42 ]
- >>749
窓掛けFFTは時間単位、ウェーブレットは波数単位とかではなかったっけ
- 752 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 12:59:42 ]
- C++相談室 part62
pc11.2ch.net/test/read.cgi/tech/1211900039/874 874 名前:デフォルトの名無しさん[sage] 投稿日:2008/07/22(火) 12:01:38 御婆ちゃんになるにつれて、声が甲高くなるゲームを作成してるのですが お勧めの関数はなんですか? 今自分ではiostreamとint(void)に目をつけています。 アドバイスよろしくお願いします
- 753 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 22:04:29 ]
- さすが天才は目の付け所が違うな…
それよりロリぃ声を再現する関数が欲しい
- 754 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 01:04:02 ]
- 年取るにつれてしわがれた声になるのは
喉にディストーションエフェクタをつけるようなもんだから ということは逆にディストーションをクリーンにするエフェクタがあれば って、うーん・・・
|

|