X



サウンドプログラミング6 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2016/01/04(月) 16:42:19.79ID:tGIZuuwU
落ちていたので立てました。
テンプレ等はお願いします。
0241デフォルトの名無しさん
垢版 |
2019/04/04(木) 08:41:15.20ID:GzEPd4tz
ああ、ロングメッセージをもっと簡単に扱えるAPI作ってほしいかも
0243デフォルトの名無しさん
垢版 |
2019/05/16(木) 15:25:40.65ID:lVc23QOV
既存のソフトのスペクトラムアナライザーに不満がある
→自作出来ないか→FFTとかWFTとかが理解できない→orz(イマココ)
0245デフォルトの名無しさん
垢版 |
2019/05/16(木) 20:57:08.87ID:ITYngrHq
というかパソコンがリアルタイムでFFT出来る能力を獲得して20年以上
その間にパソコンの計算能力は一桁以上向上しているがスペクトラムアナライザーの
周波数、時間、ダイナミックレンジ等の分解能が向上しているように見えない。なじぇ
0247デフォルトの名無しさん
垢版 |
2019/05/17(金) 10:43:45.79ID:Os+rXKxi
恥を忍んで質問させて下さい。

この論文がイマイチ理解出来ないのですけど、誰か解説おながい…。
ttps://secure.aes.org/forum/pubs/conventions/?elib=15680
0248デフォルトの名無しさん
垢版 |
2019/05/17(金) 16:23:19.96ID:1e6MbvMq
てゆーかさ論文1つ解説しろって
新しい論文1つ書けって言ってるに等しいじゃんwww
まずお前がその論文を要約して分からないところだけ質問しろよ
そうじゃないとリンク踏む気も起きない
0249247
垢版 |
2019/05/17(金) 23:08:30.05ID:R9aG9tk3
>>248
要約:IIRヒルベルト変換フィルタの構成法
1)IIRハーフバンド楕円LPFを用意
2)これを全域通過移相フィルタ(のカスケード接続)を2つ足した形に変換する
但し元の伝達関数をH(z)として、H(z)=A(z^2) + B(z^2)/zを満足する事
(A, Bが全域通過移相フィルタ(のカスケード接続))
3)z→-jzとする事で、ヒルベルト変換フィルタ対になる。
4)通過域と阻止域の端を考慮しつつ周波数変換

2)の操作については、参考文献が示されてるのみなので、本当に出来るのかなぁ…と。
0250247
垢版 |
2019/05/18(土) 13:58:07.07ID:xrqvW6bP
参考文献がこれ
ttps://ci.nii.ac.jp/ncid/BA20792517

…編者の一人がKaiser窓の人だから希望が出てきたw
0251デフォルトの名無しさん
垢版 |
2019/05/18(土) 13:59:58.02ID:dCJO5BP8
それ質問か?
0253247
垢版 |
2019/05/18(土) 14:49:35.44ID:xrqvW6bP
250は古本で安く出回ってるので、購入します。
近所の図書館には置いてない…。

>>251-252
2)の過程を解説した日本語の参考文献やwebサイトが見つからないので、
漏れがじたばたしてるだけです。
(学校の宿題や輪講とかではないです)
0257デフォルトの名無しさん
垢版 |
2019/06/06(木) 06:50:12.14ID:8cTAphsR
ここってAESの論文がサイトライセンスとかで読めるような人も見てるの?
そうでない限り有料の論文なんて限られた人しか購入しないでしょ…。
0258デフォルトの名無しさん
垢版 |
2019/07/17(水) 09:06:20.78ID:5US3NOFQ
C#でMIDIのロングメッセージの受信→送信したいのだけど
コールバックの書き方が分かりません
ショートメッセージはmidiInOpen()のdwinstanceにコールバックのポインタ渡して
CALLBACK FUNCTIONで出来たのですが
ロングメッセージはこれと共通で出来ないでしょうか?
単にロングメッセージをINからOUTにスルーさせたいだけなのですが
それでもバッファの準備したり構造体指定したりしないとダメなんですかね?
何処かに参考になるコード公開されてませんかね?
0259デフォルトの名無しさん
垢版 |
2019/07/17(水) 10:16:39.42ID:zg1w+PG8
>>249
このスレで専門的なこと説明したってわかるわけ無いだろ空気読めよ
もっとライブラリーの使い方とか聞けよ
0260デフォルトの名無しさん
垢版 |
2019/07/17(水) 12:02:57.80ID:FD/sfaX1
https://yoshida-eth0.ハテナblog.com/entry/20100126/1264444683
0261デフォルトの名無しさん
垢版 |
2019/07/17(水) 12:46:42.87ID:rtz8wKUM
なんか違うみたい
0263デフォルトの名無しさん
垢版 |
2019/07/17(水) 14:19:02.99ID:aRqZbL8u
ありがとう
下のコードに何か使えるネタがあるかもしれない
勉強してきます
0264デフォルトの名無しさん
垢版 |
2019/07/19(金) 09:05:14.00ID:ZXumgKgg
趣味のインチキMIDIプログラマで恐縮っすwww
ロングメッセージの受信に必要なAPIを自分でマーシャリングしたのですが
どなたか添削してください
いつも利用してるPINVOKEに登録されてなかったので

既に完成してるショートメッセージのプログラムに追加したいので
それと共通の型、書式にしたのですが
マーシャリングの型って結構自由なんですか?
いくつか調べたのですが少しずつ違ってたりするので良く分からない・・・
第1引数がintやIntPtrだったり
第2引数がrefやoutだったり・・・
どちらも引数は共通だと思います

[DllImport("winmm.dll")]
static extern uint midiInPrepareHeader(IntPtr hMidiIn, out MidiHdr lpMidiInHdr, uint uSize);

[DllImport("winmm.dll")]
static extern uint midiInAddBuffer(IntPtr hMidiIn, out MidiHdr lpMidiInHdr, uint uSize);
0265デフォルトの名無しさん
垢版 |
2019/07/21(日) 09:53:04.81ID:aqRfDvEl
うーーーーん自己レス
マーシャリングは良く分からんが仮にプログラム組んで
バッファ生成、登録してみたらリザルトは0が返ってくるから合ってるだろうなあ?
これでINデバイスにエクスクルーシブ入れたら自動で受信が始まるのかと思ったけど
始まらん・・・なんで?
0266デフォルトの名無しさん
垢版 |
2019/09/15(日) 15:18:43.08ID:2F/PGB+Q
質問します
2次のバターワースフィルタなんだけど、フィルタの係数求めるのに

(1)Robert Bristow-Johnson Audio EQ Cookbookとやら
http://vstcpp.wpblog.jp/?page_id=523

(2)http://freeverb3vst.osdn.jp/tips/iir_filter.shtml
↑ここのサイトに載ってる求め方
の二種類が見つかったんだけど
それぞれ方式が少し違ってて、実際係数を求めてみると大体似た感じになるんだけど微妙に違う・・・
音を聞いた感じも微妙に違います
この違いが一体何なのか、どっちの方が精度が良いとか、教えてください
ちなみに
http://www.iowahills.com/A7ExampleCodePage.html
のサイトにあるサンプルで係数を求めてみたら
(2)の方式で求めた係数と一致しました
0267デフォルトの名無しさん
垢版 |
2019/09/15(日) 15:50:01.70ID:tu3q64lr
テキトーだけど最初に疑うのは
floatとdoubleの差とか
unsigned付け忘れとか
あとmath.hのincludeし忘れとか
0268デフォルトの名無しさん
垢版 |
2019/09/15(日) 16:13:44.41ID:2F/PGB+Q
どうも
数式や方式が違うから結果が微妙に異なるのは当然なんです
ただ、どっちの方がいいのかなーと
0269デフォルトの名無しさん
垢版 |
2019/09/22(日) 05:24:28.87ID:iQNUwqxZ
ぱっと見(1)は簡易版的な感じがするかなあ(tanが出てこないあたり)
簡単な確認方法は、カットオフ周波数を高く設定して(fs=44.1kHzならfc=10kHzとかに設定)
そのカットオフ周波数の信号入れてちゃんと-3dBになる方が正解
0272デフォルトの名無しさん
垢版 |
2019/09/28(土) 07:51:13.38ID:+gjGC7ia
IIRの並列構成やはしご型構成が流行らないのは何でだろう?
ttp://leo.ec.t.kanazawa-u.ac.jp/staffs/nakayama/edu/file/signal_proc_ch7.pdf
0273デフォルトの名無しさん
垢版 |
2019/09/28(土) 07:57:38.62ID:+gjGC7ia
>>269
双一次変換のpre-warpingの読み方って
・プリワーピング
・プリウオーピング
・そのほか
0275272
垢版 |
2019/10/02(水) 14:49:12.60ID:v/fz82+q
>>274
2次IIRの縦続構成は、
高次IIRで分子/分母の組合せで悩まないといけないけど、
そういうのは設計用ソフトが組合せを推奨してくれるものなのかなぁ?
0276デフォルトの名無しさん
垢版 |
2019/10/03(木) 07:55:36.53ID:XwbxMiWc
2次くらいなら係数を見比べれば悩む程のこともないでしょ
際どいことをするならそれぞれの通る帯域と極の順番を考慮するくらい?
0277272
垢版 |
2019/10/16(水) 12:56:20.26ID:eqLCKxzt
「多項式の比の部分分数展開は、数値的に不良設定問題です。」ってとこが、
IIRの並列構成が、実務的に嫌われてる要因なんだろうか?
ttps://jp.mathworks.com/help/signal/ref/residuez.html
0278デフォルトの名無しさん
垢版 |
2019/10/16(水) 13:06:46.62ID:dmmazo8P
答えが何通りも(無限に)あったら無理やろ。
素因数分解みたいに特定出来る訳じゃなく、
π求める公式だって無限にあるやん?
0279272
垢版 |
2019/10/16(水) 18:17:22.03ID:eqLCKxzt
>>278
多分答えは一通りしかない筈なんだけど、
例えば、高次多項式で表されてるIIRを並列接続に変換する際に、
IEEE754の倍精度での計算では十分な精度が得られない…と云うイメージです。

そこだけ任意精度計算出来ればいいのですが。
0281272
垢版 |
2019/10/17(木) 11:26:41.51ID:V7JeF/dp
>>280
多分真面目にやろうとすると精度保証付き数値計算(≒区間演算)になるんだけど、
Mathematicaの一択になると思う。
仕事で使うには値段が高いので稟議が通り難い…。

RasPiのMathematicaやWolfram Programming Labを
内緒で仕事に使うのは駄目なんだろうなぁw
0283272
垢版 |
2019/10/20(日) 01:25:11.55ID:FDd3dljx
>>282
BYODやBYOAで済むなら楽なんですけどねぇ
0284デフォルトの名無しさん
垢版 |
2019/10/22(火) 00:48:00.84ID:lX7I/gsp
オッペンハイムせんせーの本は、このスレではどう評価されてるのでしょうか?
ttp://www.coronasha.co.jp/np/isbn/9784339004717/
ttp://www.coronasha.co.jp/np/isbn/9784339004724/

つか著者より訳者の名前の方がでかいなんて…
0287デフォルトの名無しさん
垢版 |
2019/10/26(土) 09:56:03.71ID:e6NVGnmw
フーリエ変換
縮小
フーリエ逆変換
0288デフォルトの名無しさん
垢版 |
2019/11/04(月) 12:13:06.35ID:Lq9X0dCx
双一次変換のpre-warpingの逆って、
・post-warping
・un-pre-warping
・de-pre-warping
・そのほか
0289デフォルトの名無しさん
垢版 |
2020/12/17(木) 18:52:44.06ID:jtQpKGvd
お!?いつのまにかスレ復活してるじゃん
ageとこ
この板でMIDIやってる人いないのかね?
0291デフォルトの名無しさん
垢版 |
2020/12/28(月) 23:20:48.19ID:s8ZMQocU
俺的にサウンドプログラムと言ったらFM音源とか音を作り出す方なんだけど、
このスレの内容は違う。
0294デフォルトの名無しさん
垢版 |
2021/01/02(土) 21:59:44.16ID:XbqNno73
スペアナ表示用にFFT作ったんだけどいまいち結果のキレが悪い
窓関数を入れたらクッキリするんだろうけど、何窓が適しているかな?
0295デフォルトの名無しさん
垢版 |
2021/01/03(日) 11:34:49.34ID:TDgWBZTo
DTM版ってキチガイばっかりやん
ここの方がマシ
0297デフォルトの名無しさん
垢版 |
2021/01/05(火) 12:08:11.65ID:G8BimKKu
ここがキチガイばっかりじゃないとはどこにも書かれていないぞ
0298デフォルトの名無しさん
垢版 |
2021/02/06(土) 05:41:14.42ID:hmqqDSHk
リサンプリングで最終的に32bit floatの精度を得たい場合、doubleを使った演算で精度足りますか?
0299デフォルトの名無しさん
垢版 |
2021/02/27(土) 10:21:48.25ID:EkyOYClV
MinMMのwaveInOpen関数で、2048byteのバッファ2つを繰り返し再利用しながら長時間録音しています。
重い処理を平行で動かしていると途中で、しばしば片方のバッファのメッセージが届かなくて1バッファの繰り返しになったり、
動かしているアプリごと異常終了する現象がでてしまいます。
もしこのAPIに造詣が深い方いらっしゃれば、アドバイスいただけないでしょうか。
0301デフォルトの名無しさん
垢版 |
2021/02/27(土) 12:13:48.82ID:EkyOYClV
>>300
アドバイスいただきどうもありがとうございます。
ご紹介いただきましたサイト情報も参考にさせていただいていましたが、現象が発生してしまいます。
知りたい点としましてはwaveInAddBuffer()で追加したバッファの順でデータがたまったら、
メッセージ(またはコールバック)を確実に返してくれるものなのか、です。
まれにメッセージ(またはコールバック)が帰らずスキップされ、再利用の処理ができない為に、
結果使いまわしているバッファ数が減少してしまいます。
0302デフォルトの名無しさん
垢版 |
2021/02/27(土) 22:10:13.29ID:Yt5NHAzi
>>301
WAVEHDR構造体のdwFlagsのWHDR_DONEビットを監視しなきゃダメなんじゃないの?
バッファ初期化のwaveInPrepareHeaderはエラー出てない?
0303デフォルトの名無しさん
垢版 |
2021/02/28(日) 09:43:01.00ID:i1OJ3gO2
>>302
そうなんです。
届いたメッセージに対応するバッファをwaveInUnPrepareHeader(),waveInPrepareHeader()するときに
エラーになる場合があります。
dwFlagsの値は確認しないでいました。
dwFlagsの値を事前に確認することのがヒントになりそうですね。
アドバイスありがとうございます。
0305デフォルトの名無しさん
垢版 |
2021/06/25(金) 18:57:39.76ID:c66d112u
プログラミングの勉強も兼ねて、FMシンセを作ってみたんだけど
キャリアにモジュレーションかけたらピッチが狂って、鍵盤と関係ない音が出る
これじゃあ楽器として演奏できない
どこを間違ったんだろう
0308305
垢版 |
2021/07/24(土) 11:25:49.12ID:F/fcX2Mm
SONICWARE LIVEN 8bit warpのオシレーターテーブルって32サンプルしかないんだね

前にFMシンセわからんって言った者なんだけど、試しに自分のプログラムの
オシレーターを32サンプルにしてみた。
1キャリア1モジュレータの2OP構成なんだけど、32サンプルにしたら
結構面白い音が出る

変調かけたらピッチがずれる話なんだけど、306の言う通りそういうもんみたい
0312デフォルトの名無しさん
垢版 |
2021/10/03(日) 16:05:35.31ID:8nHVkruX
テステス
0313デフォルトの名無しさん
垢版 |
2021/10/03(日) 16:50:09.04ID:8nHVkruX
441Hzと260Hzと120Hz。この3つのsin波だで作っ加算合成和音のwavファイルを大浦FFTのrdftメソッドに読み込ませて演算結果をテキストファイルに書き出して眺めてみました。そこで違和感。
120Hzは最大音量の50%になるように作ったので15869.0(short値を基準にしてます)
という出力結果は納得なのですが、前後のバッファ119Hzと121Hzにも2011.0と2694.0…と、結構高めの音量が出力されてるのです。これ何とかなりませんかね?
スペクトルグラフ作る時に凄く邪魔で…
0314デフォルトの名無しさん
垢版 |
2021/10/03(日) 20:19:50.36ID:s9ykO0bu
rdftの分解能が可笑しいんじゃね
0315デフォルトの名無しさん
垢版 |
2021/10/03(日) 21:10:49.22ID:uocygOBv
>>314
具体的に分解能でどのように変化するのでしょうか?
ちなみに分解能は
44100÷4096=10.76…Hzにしてます。
0316デフォルトの名無しさん
垢版 |
2021/10/04(月) 12:52:41.19ID:Ze652r1b
>>314
指摘頂いたので自分でも調べてみたんですが、つまりリーケージの問題ってことですか?
確かに…窓関数なんか使わずにwavファイルから得た4096のdataをそのままrdftに渡してましたから、分解能の誤差分でスペクトルが広がっていたのかも。
音響プログラム初心者のものでお恥ずかしい限りです。
情報検索の足掛かりが出来ましたので、窓関数に付いて調べてみようと思います。
回答ありがとうございました♪
0318デフォルトの名無しさん
垢版 |
2021/12/08(水) 06:07:43.76ID:juXg17Zg
つべの動画漁ってたらマクシミリアンのライブラリ激推しされてたんですけど
皆こういうのコッソリ使ってるんですか?
0320デフォルトの名無しさん
垢版 |
2021/12/09(木) 05:42:36.44ID:EQXL0mfC
>>316
窓関数については
https://www.a;mazon.co.jp/dp/4789830292/
p268-270 に三角窓、ハミング窓、ハニング窓についてごく簡単にまとめられています、章末に参考文献も記載されています
0321デフォルトの名無しさん
垢版 |
2021/12/15(水) 05:10:11.19ID:tnUMRh1R
倍精度で計算するのが流行ってるのでちょっと試してみたんですが
ブロックで分けて処理するよりも、1サンプル単位で逐次処理した方がパフォーマンス出ますね
サンプルのサイズが大きいとSMIDで並列処理しにくいとかキャッシュに乗りにくいとかあるのかな
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況