サウンドプログラミン ..
[2ch|▼Menu]
486:デフォルトの名無しさん
07/04/08 21:05:08
じゃ、ここまでの勝手なまとめ
1、FFTを使う場合でもレイテンシ1のフィルタは実現可能
   ただし計算量はそれなりに増える
   それでも係数器が巨大ならFFTを使わない方法よりもずっと高速

2、FFTを使わない場合でもキャッシュサイズが溢れる心配については不要
  キャッシュに入るサイズにFFTでレイテンシ1のフィルタを作る時と同じように分割すればいいだけ
  だったらFFT使えよと

487:デフォルトの名無しさん
07/04/08 21:06:57
DSPだと積和を1クロックで処理できるって売りを良く聞くけど
Intel入ってるとかだとどうなの? 例えば10クロック必要なら単純に
3GのCPUでも300M個の処理しかできないよね。
3億タップ!?って感じはするけど実際に使えるリソース考えると
>>464の言うリード時間の問題がほとんどになる気がする。

>>477
何個分割して処理しようが結局メモリからキャッシュにフィルタ係数なり入力信号なりを
リードしてから計算しないといけなくなるから無意味。
始めからCPUキャッシュ上に係数も信号も保持していないと駄目ぽ。

>>464
の言う1/10000sec が 1/1000sec の間違いだという仮定ならますますPCでの
リアルタイム畳み込みは時間軸では厳しくなりそうですね。
あと揚げ足とるようだけど10万個の係数読むなら10万個の入力信号も
読まないといけないわけで合計20万個のデータリードになるよ^^;
ということは 1/500sec が一度の積和に必要なメモリリード時間になるが。。。

キャッシュから外れたら無理だね。と思わせる時間だよなこれw

逆に質問、キャッシュ内データのアクセスタイムってどれくらいなんだろ。
ナノのオーダーじゃ全然遅いよね。ピコとかのオーダーなのかな

488:デフォルトの名無しさん
07/04/08 21:09:20
>>486 の結論2は明らかに間違っている。

489:デフォルトの名無しさん
07/04/08 21:10:01
って書いたら真上で 487が指摘していた うぇw

490:デフォルトの名無しさん
07/04/08 21:20:08
>>487 もしかして、話についていけない?

フィルタの計算は、1サンプル毎にデータがズレて
t0↓ d  e  f  g  h  i  j  k
t1↓ c  d  e  f  g  h  i  j
t2↓ b  c  d  e  f  g  h  i
t3↓ a  b  c  d  e  f  g  h
係数器は同じ係数が使われる。
   c0 c1 c2 c3 c4 c6  c7

f0の時点で、 d*c0+e*c1+ ・・・・ だけでなく
d*c1+e*c2+・・・・ や
d*c2+e*c3+・・・・ を先に計算しておけば
t1の時点では c*c0だけを
t2の時点では b*c0+c*c1を計算するだけでいい というわけ

で、先に計算する時に計算順をキャッシュのサイズで分割すればいいだろ?
って話をしてるわけさ

491:デフォルトの名無しさん
07/04/08 22:00:44
ようするに、
遅延器の後ろの部分は、先に計算出来るから
計算順を変更してしまって、
1サンプルでは同じ遅延器部分を何度も計算してしまうようにしちゃえばいいって事だな

で、細かく分割して計算順を変更する手間を考えたら、
だったらFFTで計算しちゃえよと

492:デフォルトの名無しさん
07/04/08 22:03:03
スルー

493:デフォルトの名無しさん
07/04/08 22:05:51
>>490全然計算量減ってないあたりが笑えた


494:デフォルトの名無しさん
07/04/08 22:11:37
ん?  計算量は同じだけど、t0に計算が集中してしまうね



495:デフォルトの名無しさん
07/04/08 22:18:05
しかもt8以降は計算量一定

一体何を言いたかったの?

496:デフォルトの名無しさん
07/04/08 22:28:23
こんだけ説明されて判らんのか? どこが判らんの?

497:デフォルトの名無しさん
07/04/08 22:32:40
>>494
例ではそうなってるけど、
実際は、これを分割するわけ、キャッシュに入るサイズで分割すれば
キャッシュの出入り回数はそれだけ実質へらせられる

498:デフォルトの名無しさん
07/04/08 22:46:22
とりあえず誰かこれプログラムにしてみてよ
話それから

499:デフォルトの名無しさん
07/04/08 23:18:17
1/2分割の手順

N2=N/2-1
Σ(0..N){c[i]*d[i]} =c[0]*d[0]+c[1]*d[1] +・・・c[N]*d[N]

R1=Σ(2..N2) {c[i]*d[i]} S1=Σ(N2..N) {c[i]*d[i]}
R2=Σ(2..N2) {c[i]*d[i-1]} S2=Σ(N2..N) {c[i]*d[i-1]}


2サンプル毎に
偶数目では S1=Σ(N2..N) {c[i]*d[i]} と S2=Σ(N2..N) {c[i]*d[i-1]} を計算 
Σ(0..N){c[i]*d[i]} =c[0]*d[0]+c[1]*d[1] +R1+S1で求める

奇数目では R1=Σ(2..N2) {c[i]*d[i]} と R2=Σ(2..N2) {c[i]*d[i-1]} を計算
新しいサンプリングデータがdnewとして
c[0]*dnew+Σ(1..N){c[i]*d[i]} =c[0]*dnew+c[1]*d[0] +R2+S2 で求める

そしてデータは2ワードシフトする

500:デフォルトの名無しさん
07/04/08 23:19:36
訂正
× c[0]*dnew+Σ(1..N){c[i]*d[i]} =c[0]*dnew+c[1]*d[0] +R2+S2 で求める
○ c[0]*dnew+Σ(1..N){c[i]*d[i-1]} =c[0]*dnew+c[1]*d[0] +R2+S2 で求める


501:デフォルトの名無しさん
07/04/08 23:51:28
こういう計算する時の遅延器ってみんなどう実現してるのかな
DSPの場合はモジュラアドレッシングがあるからいいけど
PCの場合、俺がやった事があるのは

1、2のべき乗のサイズのバッファ取って and 演算で計算
   [(wp+i) & (BufSize-1) ]
  案外、効率が悪い

2、メモリを2倍とって wpの位置に書く時 [wp]と[wp+N] の2箇所に書いて
 読む時はそのまま [wp+i] でアクセス
  効率はいいけど、メモリが2倍必要
  仮想記憶用のテーブルにアクセス出来れば、メモリを2度割り付ければいいんだろけど

他にいい方法ある?
 メモリをその都度moveするコードはありえないとして


502:デフォルトの名無しさん
07/04/09 01:03:17
何この流れ。
最近は、リアルタイムの意味を取り違えている人がいるから困ったもんだ。 (あのドラマ、リアルタイムで見た とか。お前の視覚神経はコンピューターか)

503:デフォルトの名無しさん
07/04/09 01:04:27
スルー推奨

504:デフォルトの名無しさん
07/04/09 10:47:29
リアルだったら殴ってるよタイム

505:デフォルトの名無しさん
07/04/09 13:29:27
流れぶったぎって初歩的な質問を・・・
0〜1のリニアなスロープを聴感上リニアにしたいのですが、いい方法ありますか?
-96〜0などとしてデシベル換算だと、0が0にならないですよね。
あるいは良く近似するカーブを得る軽い方法などありますか?
(自分は累乗をよく使うのですが、近似というところではイマイチで・・・)

506:デフォルトの名無しさん
07/04/09 13:38:18
指数カーブに適当に0を通る関数を掛け算したら?
(a^x)*x^b
とか bを 1/2 つまり平方根なんて良く使うよ

507:デフォルトの名無しさん
07/04/09 14:44:14
平方根掛けいいですね。
試してみましたが、かなり近似しつつ0を通るようにできますね。いいこと教わりました。
リアルタイムで毎回計算する用途だと平方根はちょっと重いですかね?
類似した方法も、いろいろ試してみたいとおもいます

508:デフォルトの名無しさん
07/04/09 18:34:32
a^x と √x のどっちが重いかという話なら、同じ程度だと思うが
PCならテーブル作って間を直線補間するし
DSPなら4〜5次くらいに級数近似するし

509:デフォルトの名無しさん
07/04/10 01:18:11
パッタリ止まったなぁw

で、ソースまだ?

510:デフォルトの名無しさん
07/04/10 02:05:59
クレ房きました

511:デフォルトの名無しさん
07/04/10 02:08:10
オレ、勝手にやってる

512:デフォルトの名無しさん
07/04/10 05:37:57
流れが止まった・ ∪´∀`)モキュ

513:デフォルトの名無しさん
07/04/10 06:44:22
ソースって・・・・ >>499の以上に必要か?

FFTを使えば、計算量もメモリアクセスも激減するのに、
こっちは計算量は減らない。 当然メモリアクセスも。
ただ同じ領域を2度使うからキャッシュが効き易いというだけじゃ、試す必要もない
理論的に可能かどうかは式みれば判るだろ

514:デフォルトの名無しさん
07/04/11 06:08:28
>>501
モジュラアドレッシングって巡回アドレッシングの事だよね?
Tiでいうところのサーキュラドレッシングモードみたいな。

最近のPCだとSSEでシフトレジスタ用意されてるからほぼ同じことできるよ。
そうじゃなかったらメモリ2倍使う2番目の方法が一番現実的な気がする

>>513
まぁまぁそう言わないで。
初心者さんにしてみたらFFTなんか使う方法よりもサクッとフィルタ係数畳み込める
時間軸での方が分かりやすいし書きやすいってのはあるんじゃない?
溢れさえ気にしなければそのままソースかけるし。

515:デフォルトの名無しさん
07/04/11 08:32:25
モジュラアドレッシング は モジュロ(modulo)アドレッシング の typo だろけど
SSEで モジュロアドレッシングってどうやるの?

516:デフォルトの名無しさん
07/04/18 03:20:32
すごい止まったなぁ。。。

517:デフォルトの名無しさん
07/04/18 10:15:41
DSPじゃないんだから、モジュロ・アドレッシングなんてできるわけない、
ムリに再現しようとしても動作が重くなるだけで意味ない、って誰か書けよ。

518:デフォルトの名無しさん
07/04/18 10:46:28
直前まで、FIRフィルタ処理の話をしてるんだろ?
モジュロアドレッシングつかわずにどう実装するんだ?

519:デフォルトの名無しさん
07/04/18 11:43:45
>>518
単純に、ループと配列を使って、掛け算したのを足していく。
逆になんでモジュロアドレッシングがなきゃできないんだ?

520:デフォルトの名無しさん
07/04/18 11:58:13
>>519
ソレはバッチ処理の場合だろ?

1サンプルづつデータを受信して、処理する場合、モジュロで処理しないの?

521:デフォルトの名無しさん
07/04/18 12:29:19
普通に書いたら、

wp := ( wp-1+length(data) ) mod length(data);
data[wp]:= 新データ;

sum:=0;
for i:=low(c) to High(c) do sum:=sum+ c[i] * data[ (i + wp) mod length(data) )] ;


だな。 もしかして、この mod がモジュロアドレッシングなのか?


522:デフォルトの名無しさん
07/04/18 12:32:07
それなんていう言語の擬似コード?

523:デフォルトの名無しさん
07/04/18 14:02:00
   // :/:::::/::::::.!:::|:::: !::::::::、:::::::::::::::::、::ヽ::::::::ヽ
   !|:::/::::::.!:::::::|:::∧::::|、::::::::!.、:::::::::::::ヽ: !:::::::::: !
  i:l: ::|:/:::.!::::::ii|_:| ヽ:::!l\:::!'、\::::::::::::!::!::::::::::::.!
.  |/l:::.!|, :::ヽ::::l'l:lヽ、ヽ:|l'´ヾr==ミ、:::::::|::|:::::::!::::: !
   |::.!l:.!::::::lヽ|,==、 `'    ヽ   \:|:: !: ::: !::::::.!   うるさいうるさいうるさい!
   l/ `ヽ::|:::l     , - 、       ll'::::!.l:::::.!:::::::.!
       l`l::.!!     l/ ̄ ヽ    /.!::::.!:|::::::.!:::::::l
       !::::.!.!ヽ   ヽ   ノ  /::::|:::::|::.!:::::.!:::::::.!
      .!::::| !::::.` ー 、._ ´ ,/  |::: !:::::|:::l::::::.!:::::::|
       |:::::|.!::::.!:::::.!:::::::::`Г    l-,|::::.!::::|::::::.!:::::::|
      |::::::l':::::.!::::::|:::::_, -/}    /:l:::::lー-: !:::::::.!
      !::::::|:::::_!, .‐' ´.:.:.:!r- 、_ /.:.:.:!::::l// /`ヽ:: !
.     |::::::|/ ヽヽ.:.:.:.:.:.lィーミ./.:. :.:.:.!:::.!/  /   !::.!
.     |:::::::! ヽ ヽヽ.:.:.:.ヽ  / .:.:/ !::::|   /   |::::!

524:デフォルトの名無しさん
07/04/18 15:22:39
>>522
PascalとかSmalltalkとかじゃないか?

525:デフォルトの名無しさん
07/04/18 15:50:35
>>501
3、積和を2度に別ける
wp〜最後までと
 先頭〜 に


526:デフォルトの名無しさん
07/04/19 01:57:52
久しぶりにパスカルチックな言語書く人みたわwwwwwwwww
:= なんてほんま涙がでそうやわ。

ここ見てる人はシフトレジスタ知らない人なんだねと心底思った。

527:デフォルトの名無しさん
07/04/19 07:12:04
シフトレジスタ?
シフト命令の間違いか? だとしても、この話題のどこにシフト命令が?

528:デフォルトの名無しさん
07/04/19 10:20:39
>>526
コンパイラが勝手にやってくれるところだろ。

529:デフォルトの名無しさん
07/04/19 12:51:26
>>526
このスレと過去ログを := で検索してごらん
URLリンク(www.2chdat.net)

たぶんあなたが思うより多かった筈だ。
たぶん、スレ参加者の半数くらいは windowsではDelphi使ってるカモ

530:デフォルトの名無しさん
07/04/19 13:07:03
×スレ参加者の半数くらいは windowsではDelphi使ってる
○Delphi使ってる香具師が一人で頑張っている

531:デフォルトの名無しさん
07/04/19 13:35:49
":= "が登場したのはフィルター計算とサイン波音源の話くらいかな

532:デフォルトの名無しさん
07/04/20 05:00:43
:= 書いてるの明らかに一人だけじゃないかww

>>530に禿げ同

533:デフォルトの名無しさん
07/04/20 07:28:59
Delphiは良いと思うよ

534:デフォルトの名無しさん
07/04/20 07:38:28
うん。低レベルAPIのラッパコンポ作っておけば、
実験するときはポトペタで簡単にコード試せるし
GUI付けて、他人に試してもらうの便利。
BCBもいいけどコンパイルの早さでDelphiだな

535:デフォルトの名無しさん
07/04/20 10:13:19
Delphiは完成品が重いし、コンポーネントはバグ抱えてるし、
意外とほかでの応用がきかないし、どうかな…。

536:デフォルトの名無しさん
07/04/20 10:23:18
自分の場合、windows上だけで完成するわけじゃないからテスト用
アルゴリズムを評価してもらうためと自分のテスト用ね。
コンポーネントのバグは知らない。テスト用だから気にもしてないのかもね

537:デフォルトの名無しさん
07/04/20 10:32:50
>>534
お前はまずPCを買い換えろ。
テストコード程度でコンパイル速度に顕著な差が出るってどんなマシン使ってんだ・・・

538:デフォルトの名無しさん
07/04/20 10:51:14
Delphiは完成品がとても軽いのだが・・・・もしかしていまだにDelphi5使ってるから?

>>535はどのバージョンが何と比べて重いの?

539:デフォルトの名無しさん
07/04/20 19:16:28
PC を買い換えたら Delphi の完成品の速度も、BCB のコンパイル速度も上がるな(w

540:デフォルトの名無しさん
07/04/21 12:42:36
パソコンが速くなっても、BCBだとF9押して3秒くらい
Delphiは1秒以内。 実行ファイルそのままクリックしてる感覚と変わらない
だからCで書いたコードのテストでもDelphiからコマンドラインでBCCでコンパイルして
pascalでテスト部は書いてるな

541:デフォルトの名無しさん
07/04/21 12:45:38
Delphi派は判ったから、他の人は何で書いてるのか知りたいな。
MATLABとか多そうだけど

542:デフォルトの名無しさん
07/04/21 16:35:04
ノシ
MatlabとJava

543:デフォルトの名無しさん
07/04/21 18:22:31
それ以前にこのスレはどうゆう人が多いのかな
DSP使った組み込み向け信号処理屋みたいな人とか、
PC向けリアルタイム処理(音楽関連アプリやVSTとかDXプラグインとか)やってるひととかさ。
それによってだいぶ違うよね?
前々からそれによって微妙に話しが食い違うときがあった気が。
いわゆるゲーム屋とかでは、このスレみたいなやれFIRとかFFTとかいう話題にならないし

544:デフォルトの名無しさん
07/04/21 18:54:32
音を利用するプログラムを作ろうとしてるか、音データを処理するプログラムを作ろうとしてるかだけでもだいぶ違うな。

545:デフォルトの名無しさん
07/04/21 19:22:09
>>543
ところがどっこい
エンタメ系サーバ書いてる奴がPhaseVocoder使ってたりするw

546:デフォルトの名無しさん
07/04/21 21:06:25
私ゃ信号処理屋だから参考にしてるだけ。
まぁでも、光もナノテクの世界では音みたいなもんだしね。

547:デフォルトの名無しさん
07/04/21 21:11:30
非現実的な妄想発言を見てしまった

548:デフォルトの名無しさん
07/04/21 21:13:00
>>185書いた人?

549:デフォルトの名無しさん
07/04/21 21:13:00
低学歴が犯しがちなトンでも発言だな

550:デフォルトの名無しさん
07/04/21 21:37:05
このスレ 面白いんだけど、ドレが正解かよく判らん所もあるな

551:546
07/04/21 21:37:39
私ゃ>185じゃないよ。

光の回折でエッジが暈けるから位相を反転して合成しようとか、
光の密度が均一じゃないから反射を利用して均一にしようとか、
そういう話を実際の光源でテストする前にシミュレーションする仕事が
よく来るのよ。実際何がどうしてそうなるのかなんてよく判らんけどね。

552:デフォルトの名無しさん
07/04/21 21:40:29
じゃ>>185は正解なの? 
あと >>109は?

553:デフォルトの名無しさん
07/04/21 22:52:39
低学歴なんでよくわからないけど、
スペクトル分解(フーリエ解析)なんかは、
電磁波でも音波でも全く同じ数学なんじゃないの?

554:デフォルトの名無しさん
07/04/21 23:09:21
>>553
光と音は波としての性質は同じだが、目と耳は構造も機能も全く違うからな。

555:デフォルトの名無しさん
07/04/21 23:30:56
> 光もナノテクの世界では音みたいなもんだしね

どんなナノテクwをやっているのかkwskw

556:デフォルトの名無しさん
07/04/21 23:52:11
まあいいじゃないの、そんなとこに食いつかなくても

557:デフォルトの名無しさん
07/04/22 00:04:21
はいやっぱり逃げたね
いくらなんでも愚かすぎる光学技術者だと思ったら
やっぱネタか


558:デフォルトの名無しさん
07/04/22 00:17:39
画像処理と音声処理の共通点の無さは異常

559:デフォルトの名無しさん
07/04/22 00:21:20
決まり文句も出たところでこのへんで

560:546
07/04/22 05:54:18
面白いなぁ、勝手放題で。
信号としての特性に似たところがあるってのを似たようなもんだって書き間違えただけでこれだ。
それに私は自分が光学技術者だなんて一言も書いてないのだけれど。

561:デフォルトの名無しさん
07/04/22 08:06:15
だいじょぶ、俺は信じるよ

562:デフォルトの名無しさん
07/04/22 08:35:52
> 光もナノテクの世界では音みたいなもんだしね

どんなナノテクをやっているのかちゃんと言ってごらん


563:デフォルトの名無しさん
07/04/22 08:37:10
>>545
PhaseVocoderを何に使うんだろうね

564:デフォルトの名無しさん
07/04/22 10:04:38
>>109の音は干渉しても消えないというのは

・光の波は進行方向に垂直だから進行方向が異なっても
 合成した場合、電界変化がゼロになった場所は磁界変化もゼロで、その場所では検出出来ない


音の波は、
URLリンク(tmhf.eng.shizuoka.ac.jp)
・進行波は運動量変化が進行方向に生じるので、方向が違うならベクトル加算しても消えない
・定在波は、運動量変化と圧力は90度位相がズレているので、圧力変化が最小の場所は運動量最大である

だから音の波は干渉では消えない。 
>>181 のように仮想の壁で反射する事でダクト消音は出来るが、これは干渉ではない。


・・・という理解で正しい?

565:デフォルトの名無しさん
07/04/22 10:25:13
高卒かよw

566:デフォルトの名無しさん
07/04/22 10:35:27
V

567:デフォルトの名無しさん
07/04/22 10:37:43
> 光もナノテクの世界では音みたいなもんだしね

どんなナノテクをやっているのかちゃんと言ってごらん

568:546
07/04/22 11:49:46
私自身はナノテク技術者やってるわけじゃないんだけどな。
まぁ、同じレスがコピペされている段階で相手にするだけ無駄か。

569:デフォルトの名無しさん
07/04/22 12:03:50
お前は自分の発言に責任を持っていない。
まともな神経を持った人間とは言い難いな

570:デフォルトの名無しさん
07/04/22 12:09:18
この人は2ちゃんに何を期待しているのだろう・・・

571:546
07/04/22 12:09:31
みんなごめんね☆

何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。

反省したので明日ボウズにしてきます。

(;_;)



572:デフォルトの名無しさん
07/04/22 12:30:47
>>569
侮辱的な発言ありがとう
ちゃんと責任とれよ

573:546≠571
07/04/22 13:19:56
あ〜あ、もう収集つかないね。

574:デフォルトの名無しさん
07/04/22 15:08:07
今どき絵に描いたような煽りにつきあうなよ。

575:デフォルトの名無しさん
07/04/22 15:46:49
>>564
ホントに光も磁界変化はゼロになるのかな?
2つの送信アンテナ1,2 で逆相で送信して、等距離の3の位置で受信すると考える

@      A
 \   /
   \/
   B

電界を検出するアンテナでは、3の位置では逆相で打ち消される
では、バーアンテナを3の位置に取り付けたらどうだろ? 
1−2に平行の場合は、話の通り、検出出来ない。 
バーアンテナを1の同心円方向に設置すれば2に対して指向性が働いて受信出来てしまうんじゃないのか?

576:デフォルトの名無しさん
07/04/22 17:21:31
電磁波の場合、そのバーアンテナを設置した事で、状態が変化してしまうよ。
バーアンテナをその向きに設置したことでバーアンテナに磁界変化が起きる=然電界も変化するわけで、
バーアンテナを設置したことで、普通のアンテナでも受信出来る位置になってしまうわけ


577:デフォルトの名無しさん
07/04/22 18:29:07
おまえら電波かよw

578:デフォルトの名無しさん
07/04/22 18:40:00
波の物理的なイメージってのは、難しいよね。
だから、こういうのをしっかり掴む為にも、こういう議論は有意義だと思う

579:デフォルトの名無しさん
07/04/22 18:54:37
>>577
デムパというよか、電子回路系なんだろうよ
この不思議な議論の流れから察するに

580:デフォルトの名無しさん
07/04/22 22:54:13
電子回路系、、、ってのもずいぶんと無知な言い方だが
とりあえずスレ違いの域なのは確かだな

581:デフォルトの名無しさん
07/04/22 22:57:33
ムリな言い訳しなさんな
あんた向いてないよ

582:デフォルトの名無しさん
07/04/23 01:58:28
軌道修正を行います。
完了推定時間、9分です。

583:デフォルトの名無しさん
07/04/23 07:31:03
スタジオエンジニアとか、ホール設計とかだと、300Hzの音聞きながら、
部屋の中に波長1mの定在波をイメージしてたりするんだろか?

584:デフォルトの名無しさん
07/04/24 01:27:43
オレ、しないな。

585:デフォルトの名無しさん
07/04/24 01:49:55
音を聴きながら波形をイメージすることはあるよな?
この音は丸っこい、とかカクカクしてる、とか。

586:デフォルトの名無しさん
07/04/24 03:09:57
>583,>585
スレ違い。
プログラミング関係ねぇし、お前が何イメージしてるかなんてどーでもいい。

587:デフォルトの名無しさん
07/04/24 04:08:07
プログラミングならグラフをイメージしないとやっていけないだろ
この音の振幅は・・・周波数は・・・・・だめだ、差分適応PCMは圧縮できそうにない・・・・・・

588:デフォルトの名無しさん
07/04/24 07:03:29
>>586
スレ違いだと思うなら、何かネタをフルべきだと思う。
それじゃ潰し屋だ。

プログラミングネタは、APIの呼び出し関係は
それぞれの環境依存がすぎて本人特定されちゃうくらいなわけで、
まあ各自マニュアル嫁って事で、話題にし辛い。

アルゴリズムネタにどうしても流れてしまうのは仕方ないと思うが・・・限界があるよな。

でも、そろそろ新人さんのhelp meネタがあってもよさそうなんだが・・・・
怖がらずに質問してくれていいんだよ>>新人さん

589:デフォルトの名無しさん
07/04/24 09:17:25
昔、質問したら、難しい物理方程式を出されて全く理解不能だった。
プログラムの実例を教えて欲しかったんだが。 物理の勉強をしに来たわけじゃないので。

590:デフォルトの名無しさん
07/04/24 09:29:47
なるほど。 でも方程式を教えてくれただけでも良かったと思うのだが?
さすがにコードまでは書いてくれんでしょ

591:デフォルトの名無しさん
07/04/24 09:58:17
人はそれを丸投げと言うからな。

592:デフォルトの名無しさん
07/04/24 10:10:10
理屈を知ってないと応用が利かないしねえ。
いちいち質問する訳にも逝かないだろう。


音関係の弄りやすいライブラリって何?
やっぱりダイレクトエックスとか?

593:デフォルトの名無しさん
07/04/24 10:11:43
>>589
数式が読めない人は、プログラムの前に数学を勉強すべき。
仕組みが理解できてないと、問題があったときに対処できないだろ?

594:デフォルトの名無しさん
07/04/24 10:13:12
今は googleさんがあるから、キーワード一つ教えてくれれば、後はなんとかなるものな

595:デフォルトの名無しさん
07/04/24 10:14:56
で、検索したらこのスレがヒットするという

596:デフォルトの名無しさん
07/04/24 10:59:08
そして質問してみて、にちゃんの洗礼を受ける。
にちゃんねらーとしてにちゃん教に入信しました。他の宗教は信仰しては逝けません。

597:デフォルトの名無しさん
07/04/24 18:57:23
やろうとすること次第であって、大半のことは中〜高校数学程度で足りるしょ。
複雑な数式理解できないと話しにならないような場面は限られてる。
数式が出てきても必ずしも理解する必要はないし、道具として使い方知ってれば事は足りる。
そこそこ詳しい人ってのは、必要以上に難しく説明しがちなもんだわさ。

598:デフォルトの名無しさん
07/04/24 19:05:21
おめえはホント口先ばっか達者で話題が乏しいな

599:デフォルトの名無しさん
07/04/24 19:48:33
>>597
高等教育とはそんなものじゃないよ。
中卒の方ですか?

600:デフォルトの名無しさん
07/04/24 19:53:50
だからさ道具と思って知ってるだけじゃ応用効かないって話。
答えが見つかればそれを道具として中身を理解せずに使えば良いじゃんって頭悪い。

601:デフォルトの名無しさん
07/04/24 19:57:13
じゃあ質問します
アナログアンプのシミュレータを作りたいと思ってるです。
真空管なんかは飽和歪みがひとつの特徴らしいのですが、そのほかに注目するべき点はどこでしょう。
位相特性みたいな話しをよく聞くのですが、
この場合の位相特性とは具体的にどうゆうことなんでしょう?
アナログアンプ的な特徴的な位相特性とはなんでしょう?

602:デフォルトの名無しさん
07/04/24 20:18:17
                           _ , ─ - 、
                       , -‐'´      ヽー 、
                      , .'´        ソー     ヽ
                 -≠Z´, ,           ヽ    ヽ
                   / / / / /,        、  ヽ   ヽ
                    / イ ,' ,' .ィハ l  ! 、  、  ',   ',   !
                 /' ,'.i ! .l /l.l l  !、 l  ヽ  i  |    l
                   l' l k l l7`|'-、.ヽ lヽ. ト、 ヽ  | l l   l
                   l ハ i .{lr≠、ヽ \‐ヘ'ヽヽl-. トl !   i l
                      |' .',lx!i !|::;:}    _,r≠=、卜!' ,'.   |.!ヾ、
                      i'l ー'    !l、::::;:}》. //`y イ'|'  `
                          lヽ   '    `ー'/ .//,.ノ/ |
             l 、    ,、   |/ ヽ、 -    /ソ /ィX.、
            r┴-'ニ< ヽ--、   ` ーz- ' ´/ィ'´ヽヽ、ヽ
             てー  _`._j弋ー' ヽ、.,r,ニ-´ー ´.     l l.l }
         , -‐y‐ '{ /´::::::、ヽ. ̄ヽy'-´ヽヽヽ       l l !'
          ,〃'´    Y´:::::::::::::}  /ー:、:::::::ヽ', ',       l l !
        {、ヽ     l:.:::::::::::::::l /:::::::::::::ヽ:::::l | l       ///
        | ヽヽ、   i::::::::::::::::l/::::::::::::::::::::i;:::l l l    ,r ニ 'l
>>597・・・中卒のDQN旋盤工と推測・・・性交経験なし・・・

603:デフォルトの名無しさん
07/04/24 21:05:27
自分で測定するのが一番いいのだろうけど、
回路シミュレータでやってる人がいるので
URLリンク(www.geocities.jp)

これをベースにやればどう?

604:601
07/04/24 21:42:16
あー参考になりそうだけどむずかしいな。。。回路設計とかの知識はまったくないもんで。
きほんてきなことなんだけど位相特性というのは、
周波数成分ごとの信号の遅れ(ディレイ)と単純に考えていいの??
ここのページのグラフだと、高域成分ほど遅れてると見るんでしょか。
実際に周波数特性をフラットなまま周波数成分ごとの遅れをシミュレーションするとしたら、
どういう実装方法になるんだろう。

605:デフォルトの名無しさん
07/04/24 21:58:23
位相特性は位相特性 高域程ってあのグラフは1Mまで伸びてるから

10KHzで360度だから1遅延程度を入れて位相特性図を描きなおした方がいいと思う
位相だけを補正するなら 
 APF=オールパスフィルタ
が 検索キーワード


606:デフォルトの名無しさん
07/04/24 22:00:45
ようわからんけどFFTで帯域ごとに処理でいんでね?

607:デフォルトの名無しさん
07/04/24 22:05:36
FFTで帯域ごとにってのは・・・
 短時間FFTで周波数軸上で音の加工は基本的に出来ない。
 短時間FFTを使うならFIRフィルタの高速計算の目的で

位相特性だけを加工したいなら、オールパスフィルタ( IIRフィルタ)を複数組み合わせるのが最適
オールパスフィルタには1次と2次があり、
どちらも実現式は非常に簡単。

googleさんで調べて、ダメならまた聞いて。

608:デフォルトの名無しさん
07/04/24 22:25:15
DTM板の関連スレを焼きなおしてるだけじゃん最近の話題って
なんでそんな貧しい行為に必死になるかな


609:デフォルトの名無しさん
07/04/24 22:40:03
高域だけを遅延すりゃいいのなら、FIRフィルタでも出来る
0, 0.038394
1, -0.188396
2, 0.958548
3, 0.191451
これで大体高域が90度回る

低域で位相を回したいならIIR-オールパスフィルタでないと面倒だ

610:デフォルトの名無しさん
07/04/24 23:01:38
これで44.1Kサンプルで3.5K付近から90度回せられる。 遅らせたいなら係数の順番を逆にする
0, 0.0370952
1, 0.0338991
2, 0.0622815
3, 0.0796952
4, 0.1040610
5, 0.1494064
6, 0.1928090
7, 0.2834788
8, 0.7217380
9, -0.5518646
10, -0.1280079
11, -0.0307499
12, -0.0003218
13, 0.0023316
14, 0.0115652
15, 0.0163134
16, 0.0076485
17, 0.0086209

611:601
07/04/24 23:07:07
オールパスフィルタって、存在はは知ってたけどこうゆうときに使えるのか。
とりあえずフィルタの実験に入ることにします。
FIRも係数このぐらいのなら低負荷でいけますね。(てか設計すんの速いですね・・・

612:デフォルトの名無しさん
07/04/25 01:13:29
設計はMatlabでポンだよ。

613:601
07/04/25 01:18:18
位相いじるの面白いですね、オーディオ的にかなりいい経験です。
オールパスフィルタをスタックしたりして極端なことやってみてるのですが
スペアナ見てるぶんには周波数特性変わらないのに、
ほんとに音の太さとか(というと曖昧だけど)ニュアンスが変わって
特にベースやキックなんかの低音楽器はわかりやすいですね。
周波数特性だけじゃ出音は語れないっての痛感・・・

614:デフォルトの名無しさん
07/04/25 02:33:15
本来は位相も含めて周波数特性というんだが、スペアナとかで見える値は振幅の絶対値
でしかないわけだから本来の周波数情報のうち大部分欠落した情報を見せられているから
無理もない話なのかもしれん。

615:デフォルトの名無しさん
07/04/25 03:03:57
真空管の振幅を実際見てないとイメージしにくいだろうなあ。
経験的にどうなるかは知ってても、知らない人に説明できる自信は無い。orz

なんとなくプラグイン買う金がないから自分でなんとかしよう的な雰囲気はあるよね。
PCでシュミレーションもいいけど、実際に回路設計して半田ごてで制作するのも楽しいと思うよ。

616:デフォルトの名無しさん
07/04/25 06:30:10
> 本来は位相も含めて周波数特性というんだが

位相の周波数的変化を群速度という。

617:デフォルトの名無しさん
07/04/25 10:12:43
理屈抜きで音だけでいいなら、
素の音と、軽くディストーションをかけてLPFを通したものをまぜて、
それにディストーションをかけてHPFを通すと、アンプの音になる。

役立つ参考リンク
URLリンク(www.harmony-central.com)
URLリンク(www.harmony-central.com)

618:デフォルトの名無しさん
07/04/25 10:16:01
なんだここ荒してたのもアイツだったのか
世も末だな

619:デフォルトの名無しさん
07/04/25 17:16:41
何をいまさら

620:デフォルトの名無しさん
07/04/26 08:29:57
FIRフィルタで位相が変化しないフィルタが作れるっていうのは、それは遅延を無視してるからだよね?

621:デフォルトの名無しさん
07/04/26 08:46:44
よし、googleさんで、このスレがヒットするように書き込み

オールパスフィルタで フェーズシフタとかワウワウ とか

622:デフォルトの名無しさん
07/04/26 22:50:54
前から思ってたのだが、
このスレってスレタイから想像するのと微妙に雰囲気違う気がするな。
次回から【FFT】デジタル信号処理プログラミング【IIR/FIR】とかにしてはw

623:デフォルトの名無しさん
07/04/26 23:18:18
それは悲しい。

624:デフォルトの名無しさん
07/04/26 23:40:49
>>622
おまいはスレタイからどんな想像するのか言ってみろ

625:デフォルトの名無しさん
07/04/27 00:47:34
いやほら、サウンドのプログラミング、サウンドをプログラムするというと
もっとサウンドそのものというか、コンテンツ自体に近いイメージないか?
あとゲーム系。実際サウンドプログラマーと呼ばれる職種があるしさ
シンセなんかの音色を作ったりするのもサウンドプログラミングと呼ばれることがあるしな。

626:デフォルトの名無しさん
07/04/27 01:00:32
おすすめ2ちゃんねるに注目w

627:デフォルトの名無しさん
07/04/27 01:16:41
>>625
その辺はDTM板で扱う話題のような。

まあ、紛らわしいのは良くないんで次スレは「音声処理」にでもするか?
「デジタル信号処理」は音声以外にもいろいろあるし。


628:デフォルトの名無しさん
07/04/27 01:25:03
>>625
シンセの音色はマズイが、その上はまあスレ違いとは言われないだろ

629:デフォルトの名無しさん
07/04/27 01:35:29
自分は「サウンドプログラミング」の語感からだと音に関しての出力段に近い処理の事のニュアンスが強いな。
このスレの流れだと「信号処理」(デジタルに限らないが周波数は可聴領域)って感じかしらん?



630:デフォルトの名無しさん
07/04/27 01:49:05
そんなに話題の幅を狭めなくても、音に関する処理全般をプログラム板的に扱うスレ、でいいじゃん。


631:デフォルトの名無しさん
07/04/27 02:47:44
このスレでよく出てくるようなデジタルフィルターや、いろいろな変換/解析技術とか、
デジタルオーディオを扱うソフトウェア技術を総称してなんと呼ぶのか、ということだな。
DSPプログラミング、とかもありかな。

632:デフォルトの名無しさん
07/04/27 04:42:50
サウンドの技術屋なんてただでさえ多くないんだから別に細分化しなくてもいいでしょ。
ドライバ語ってもいいし、MIDIデータ語ってもいいじゃない。

633:デフォルトの名無しさん
07/04/27 06:12:38
同意

それにしても
サウンドプログラミングというと、楽器機材のオペレーションや打ち込みを意味したり
サウンドエンジニアというと、音楽スタジオのレコーディング・ミキシングエンジニアを意味したりするから
世の中ややこしいわな・・・
音楽スタジオのエンジニアのほうもそう言ってたの聞いたことある

634:デフォルトの名無しさん
07/04/27 06:32:14
空理空論ばっかりの荒しうぜぇ

635:デフォルトの名無しさん
07/04/27 07:48:40
まあ、プログラム板にある時点で察しろってことだな。

636:デフォルトの名無しさん
07/04/27 10:05:21
シンセの音作りや、効果音の鳴らし方の質問も答えるよ。

637:デフォルトの名無しさん
07/04/27 10:46:00
MIDIデータの音長に1/fのゆらぎを与えるプログラムの書き方を教えてください

638:デフォルトの名無しさん
07/04/27 10:57:13
1/fゆらぎ というのは、周波数に反比例してノイズが大きくなる事
正規乱数を累積すればいいのだが、正直にやると、発散してしまう。

単純に乱数を2個取って は cは小さい係数として
d := ( (rand()-rand())*c + d*(1-c) );

この d を単位時間毎に更新しては、オフセットとして加算しては?


639:デフォルトの名無しさん
07/04/27 10:59:12
>>637
ランダムに値を増減する、というのを何度も繰り返すと、
元の値に近い部分が最も多く、元の値から離れたものが最も少なくなる。
これが一番簡単な1/fゆらぎの作り方。

640:デフォルトの名無しさん
07/04/27 12:02:55
ゲーム業界の狭い呼称を世界標準と勘違いされてもねえ。
ここは音響全般のプログラミングでしょ。

ゲームとか楽曲とかのエンジニアはミュージックプログラミングの方が近い。
DTM板の方が適当だろうね。プログラムあんまり関係ないし。ソフトでどう表現するかの方が主体。

641:デフォルトの名無しさん
07/04/27 15:28:54
Flashでサウンドプログラミングしてる人っている?
いろいろできるみたいなんだけど。
URLリンク(www.dtmm.co.jp)

642:デフォルトの名無しさん
07/04/27 20:32:19
>>641
おお興味ある。
前からFlashでリアルタイムのサウンド処理できたらと思ってたんだけど、不可能とあきらめてた。
で、びっくりしたんでざくっと調べてみたんだけど、
最新のFlash CS3(FLASH 9) with ActionScript3で可能になってきたっぽいな
ランタイムVM(Flash player)もインタープリタ式からJITコンパイラに変わったり
すげすげ

643:デフォルトの名無しさん
07/04/28 01:51:29
もうねすれ違いでわりぃんだけど
ECMAScriptのJIT実装ってどうやって型の解決してんだか、そっちが気になったのと
AMラジオの帯域だと今時のCPUで処理可能なんだなと思うとサウンドプログラミングって名前で良いのかとちょいと疑問に思う(w


644:デフォルトの名無しさん
07/04/28 07:08:22
もう支離滅裂やん
いい加減にしろキチガイ

645:デフォルトの名無しさん
07/04/28 08:06:19
AS3ってJTIとかそういうのじゃなくて
単なる実行エンジンの改良で早くなったときいたんだけど。
というかマジちんこ痒い。

646:デフォルトの名無しさん
07/04/28 08:10:14
いい加減にしろよ

647:デフォルトの名無しさん
07/04/28 08:27:41
といって、このスレでf0/Qがコントロール出来るフィルタ教えろと言っても教えてくれんだろ?

648:デフォルトの名無しさん
07/04/28 09:18:10
URLリンク(pc.watch.impress.co.jp)
2.7MHzの1bit信号を88.2kHzのPCMに変換するデシメーションフィルタ
って、あるけど
URLリンク(www.sony.jp)
サンプリング周波数は2.8224MHzとあるから64倍でしかないのだから

コレって何てこと無い単なるFIRのLPFだよね?
演算負荷下げる為にFFT使う程度だと思えるのだが

649:デフォルトの名無しさん
07/04/28 13:06:20
なんだよソフトウェア・ラジオの話題かよ
そんなInterfaceの過去記事みたいな話題を
いまさらここでやって何になるの?

何かハッタリをこいたつもりなのかこの親父は

650:デフォルトの名無しさん
07/04/28 13:07:42
>>648はDSDかよ

651:デフォルトの名無しさん
07/04/30 08:57:31
Winampのプラグインか、VSTプラグインで、エフェクタ系のプログラムを
作ってみたいのですが、何かいい参考書、文献、Webなどありませんか?
みなさんは、サウンドプログラミングを始めるとき、何をとっかかりにして
スタートしたんですか?



最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4932日前に更新/170 KB
担当:undef