サウンドプログラミン ..
[2ch|▼Menu]
414:デフォルトの名無しさん
08/02/03 09:00:34
遅延時間を変更するのに1サンプル遅延するのに苦労は無いけど
0.5遅延するのにどうする? 単に2つの平均を取ると、これはLPFになってしまう。
高域をあまりカットしないで0.5遅延したいというような場合には
比較的長いFIRフィルタが必要。

415:デフォルトの名無しさん
08/02/03 18:41:33
というか、コーラス等のエフェクタ用途だったら、
遅延時間の解像度はサンプル単位で十分なのでは?
というか経験的には十分だったような。(44.1KHzとかのサンプリングレートなら)

どの程度のS/Nになるかは計算できないんだけどさ。

416:デフォルトの名無しさん
08/02/03 19:00:51
それで十分というならソレでいいんじゃない?
両耳の距離が17cmとして 170/340E3*44100 で22サンプルの遅延分
1サンプル単位にカクカクと変更しても気にならないといえばならない。

とりあえず思うような特性になるかどうか試してみるといいよ

417:デフォルトの名無しさん
08/02/04 01:06:18
コード抽出なら離散ウェーブレットじゃないの
再構成しないならオクターブバンドより狭く解析できるし
時間解像度的にも有利

418:デフォルトの名無しさん
08/02/04 12:46:12
その手の題材って、研究目的とかじっくりと取り組めるのでなけりゃ、
なかなか手を出しにくいね。
いくらかうまくいったとしても、道具としての実用レベルまでは遠い道のり・・・

419:403
08/02/05 03:52:34
>>405
>>414
>>415
>>416

回答ありがとうございます。

両耳への到達時間を1サンプル以下の単位で操作するためにFIRを利用するという意味なんですね。
やっと理解しました。

ちょっと実験してみたいと思います。
ありがとうございました!

420:デフォルトの名無しさん
08/02/07 11:54:50
サウンドカード付属のマイク入力(3.5ミニ)から入力された音声を
リアルタイム(非バッチ処理)にディジタル処理するプログラムの作成を考えています.

計測機器などはその製品ごと(というか会社ごと?)にコマンドが異なりますが,
サウンドカードも同様なのでしょうか?

windows Visual C++6 での開発を考えていますが,
後にUNIX系に移植するつもりです.
関数の使いまわしが出来るのかが心配になり質問しに来ました.

お願いします.

421:デフォルトの名無しさん
08/02/07 13:23:42
入出力は処理系依存だと思うけど

422:デフォルトの名無しさん
08/02/07 14:46:24
Windowsの場合は
1 低レベル オーディオAPI
 waveInOpen/waveInAddBuffer/
 waveOutOpen/waveOutPrepareHeader/waveOutWrite
 窓へのメッセージで貰うか、CallBackを使う。

利点:サウンドカードをインストールすれば、ほぼ確実に使え、サウンドカードを意識する必要がない
欠点:色んなサウンドカードで音切れしないように考えるバッファを大きくとってレイテンシが大きくなりがち
   ステレオ以上のマルチチャンネルは対応が難しい

2 DirectSound
URLリンク(msdn.microsoft.com)
利点:エフェクタ等、便利な機能が既にそろってしまっている。
欠点:DirectXがインストールされ、一部機能は対応サウンドカードである必要がある

3 ASIO
利点:低遅延


423:420
08/02/07 16:19:16
>>421-422
ありがとうございます.
低レベルオーディオAPIを使ってみます.

424:デフォルトの名無しさん
08/02/11 00:00:11
板違いかもしれませんが、質問させてください。
WindowsMediaPlayerのプレイビューのような、音楽にシンクロしてグラフィングが
変化する物(名前がわかりません)の作成の仕方が知りたいのですが、
どのように調べていいのかもわからず困っております。
ご存知の方がいましたら、調べ方についておしえてください。

425:デフォルトの名無しさん
08/02/11 00:04:29
>>424
それはグラフィクイコライザというものです。
音の高さに合わせて、それぞれの音の高さの音の大きさを棒グラフで表示します。
WMP等はこれをリアルタイムで行います。
原理は、フーリエ変換というものを使って信号を処理してそれぞれの周波数のゲインを解析しています。
手がかりは書いた。あとは検索しろ。

426:デフォルトの名無しさん
08/02/11 00:09:05
ありがとうございます。
大変重要な手がかりをいただけました。
早速検索してきますー。

427:デフォルトの名無しさん
08/02/11 01:53:23
ス ペ ク ト ラ ム ア ナ ラ イ ザ だ

428:デフォルトの名無しさん
08/02/11 02:00:52
ワロタ

429:デフォルトの名無しさん
08/02/11 03:24:13
>>425
あれって本当にフーリエ変換なんてやってるのだろうか?
大体のふいんきが分かれば十分だからもっと簡単な実装で良いんじゃないかと思わなくもない。

430:デフォルトの名無しさん
08/02/11 04:20:34
フィルタした音を再構成して使うんじゃなければただのIIRバンドパスで十分かもね。位相回ってもパワーには影響しないし。
IIRで完全なクロスオーバー作るのは難しいから、各バンドのパワーの和を厳密に元信号と一致させたいときは使えないけど、
棒グラフ程度なら十分だと思う

431:デフォルトの名無しさん
08/02/11 04:48:13
出てくる絵が変わっていけばいいだけなら、
無理にfftかけなくてもいいだろうけど、
スペクトル出すならなんかやってんだろうね。

432:デフォルトの名無しさん
08/02/11 11:05:56
パソコンの場合は十分な演算能力あるからFFTでもOK
ただ、FFTの都度CPUの負荷が上がるから消費電流の変動がノイズとなって聞こえるという困った事に

なおMP3はそもそも周波数毎に分割されてるのを再構成してるから、その時の情報を残している
可能性もある。

マイコン内蔵のDSPなんかで実現してる場合は
IIRフィルタでも共振型というかサイン波オシレータの構成だろう。
ようするにQ無限大の共振器に単発の窓関数かけて結果を見る
1個の共振器を時分割で使い回せば負荷も軽い

433:デフォルトの名無しさん
08/02/11 12:00:41
いつもは過疎スレなのにネタが落とされるとすぐにレスが付くな。

434:デフォルトの名無しさん
08/02/11 14:22:10
なんか前スレあたりでもほぼ同じ流れみたような
そしてそこでも、スペアナをグライコとよんでるやつがw

435:デフォルトの名無しさん
08/02/11 14:25:59
前スレじゃなかったこのスレだわ>>324

436:デフォルトの名無しさん
08/02/11 14:57:35
グライコがスペアナの意味で使われてて混乱してたけど、やっぱり違ったか。

437:デフォルトの名無しさん
08/02/11 15:20:50
>>436

なんか多くの素人が同じ間違いをしてる。
音楽やってたことある人でも多いし。
おそらくコンポやカーステレオでスペアナとグライコの表示が似てるせいだろう。

438:デフォルトの名無しさん
08/02/11 16:08:10
グライコはどうやってるんだろな
IIRフィルタだっていうけど、係数を全部いっぺん変更してるんだろか?

439:デフォルトの名無しさん
08/02/11 18:45:44
双二次で検索

440:デフォルトの名無しさん
08/02/12 15:20:24
多分、一番多い実装は、
RBJ Audio-EQ-Cookbook で言うところの
双二次のピーキングIIRを複数つないでる。

441:デフォルトの名無しさん
08/02/12 17:22:50
  b0 = 1 + alpha*A
  b1 = -2*cos(w0)
  b2 = 1 - alpha*A
  a0 = 1 + alpha/A
  a1 = -2*cos(w0)
  a2 = 1 - alpha/A
コレって、 1/Aの部分で割算が必要だし
結局 a0で割らないといけないから、リアルタイムにこのまま計算してるとは思えないなんだよね

442:デフォルトの名無しさん
08/02/12 17:41:00
>>441
その割り算(a_i, b_i の計算)は、イコライザの設定変更時だけしかしなくて、
毎サイクルは必要ない。

443:デフォルトの名無しさん
08/02/12 18:16:13
イコライザだからAの変更は必要だよね? そうすると 1/a0も計算しないといけないよね?

だから、割り算しなくていいような構成方法あるんじゃないの?

444:デフォルトの名無しさん
08/02/12 18:31:03
設定変更時だけだし多少遅くても割り算やってる。

445:デフォルトの名無しさん
08/02/12 18:31:23
A の変更の頻度、それほど高くないはずだから、
割り算のコストをそこまでシビアに考えなくてもいいんじゃないかと。

除算器乗ってないプロセッサでも、除算表持ったり近似計算したりで、
割り算全く出来ないわけではないし。

446:デフォルトの名無しさん
08/02/12 19:04:53
逆数を乗算してもいいな
そういう話をしてるんじゃないのは分かってるけどw

447:デフォルトの名無しさん
08/02/12 20:14:14
イコライザいけるならHPFでもいけるかと思って
リアルタイムで係数書き換えたらあっさり発振した。
やっぱだめか。

448:デフォルトの名無しさん
08/02/12 20:18:37
イコライザも係数を一気に書き換えたら発振するよ
書き換えでフィードバックゲインが大きく変わるから、
結果オーバフローすると不安定になる。


449:デフォルトの名無しさん
08/02/13 03:26:05
だから俺はFIR派

450:デフォルトの名無しさん
08/02/13 08:04:25
FIRで、RBJみたいに簡単に扱える方法はあるの?

451:デフォルトの名無しさん
08/02/13 09:26:34
FIRでバンドパスフィルタを作っておけば直線位相だから
元の信号の遅延信号と加減算できるんだよ。
元の信号に足せば、そのバンドだけポコンの持ち上がるし
足せば下げられる。

IIIRでも同じなんだけどね

452:デフォルトの名無しさん
08/02/13 13:57:31
IIRは結果の加減算やろうとすると位相差のせいでうまくいかないからねぇ
てかRBJって何?

453:デフォルトの名無しさん
08/02/13 14:32:31
ググレカス
URLリンク(www.google.co.jp)

454:デフォルトの名無しさん
08/02/13 15:02:04
いや、バンドパスの頂点はゼロ位相だから 加算は可能だよ。
その特性は IIR-ピーキングイコライザのものと殆ど同じ

ただQはだいぶ調整必要なのとf0も少しズレるように思ったな

455:デフォルトの名無しさん
08/02/13 16:08:33
頂点以外ずれるから問題なんだろう

456:デフォルトの名無しさん
08/02/13 16:11:20
それを言うならIIRのピーキングイコライザも問題って事になる

457:デフォルトの名無しさん
08/02/13 16:19:57
いや、位相がずれたものを元音に加減算することが問題って話ですよ


458:デフォルトの名無しさん
08/02/13 16:34:02
だからIIRピーキングイコライザも、位相はピークでは一致するけど
その前後では 〜 になる。
そして、IIRバンドパスのを加算しても、これは同じだから、同じだって

459:デフォルトの名無しさん
08/02/13 17:28:44
ん?ピーキングでもバンドパスでも位相がずれるのは当然、そりゃわかってる
問題はそれを元音に加減算することだと言ってるわけですよ。
位相がずれた音を元音に加減算したら周波数特性に影響が出るしょ?

までも、バンドパスは位相のズレ幅と同じスロープで減衰してるから、
大きな特性変化にはならないかもだけど。

まちがってたらすまん


460:デフォルトの名無しさん
08/02/13 17:45:59
速い話
IIRピーキング = 元音 + IIRバンドパス
でははない。ということ。
周波数特性が崩れる。

461:デフォルトの名無しさん
08/02/13 18:10:16
だからさあ
BPFの係数と
  b0 = alpha
  b1 = 0
  b2 = -alpha
  a0 = 1 + alpha
  a1 = -2*cos(w0)
  a2 = 1 - alpha
>>441 を比べてごらん
構造の違いは b1がゼロかどうかだろ?
BPFと元信号1遅延したのと重みを調整して加算したら区別付かないんだって

462:デフォルトの名無しさん
08/02/14 02:43:28
>>453
なんだ、それか。妙な略し方だなぁ……。

>>462
よく分かってないんだけど、
>>441でA=1として
  b0 = 1 + alpha
  b1 = -2*cos(w0)
  b2 = 1 - alpha
  a0 = 1 + alpha
  a1 = -2*cos(w0)
  a2 = 1 - alpha
a系列は共通だから分母は無視するとして、

441のH(z)の分子 = 1 + alpha - 2*cos(w0)*z^-1 + (1 - alpha)*z^-2
462のH(z)の分子 = alpha - alpha * z^-2

分子部分の違いは
1 - 2*cos(w0)*z^-1 + z^-2
これが
> BPFと元信号1遅延したのと重みを調整して加算
でどう区別つかなくなるのか知りたい……。

463:デフォルトの名無しさん
08/02/17 19:29:47
A=1の時
BPF/alpha *(1+alpha) + -2*cos(w0)*z^-1 とすれば一致するようだね



464:デフォルトの名無しさん
08/02/19 10:20:39
他スレから誘導されてきました
if文で、if (音を感知したら)
do ○○ っていう感じのプログラムを考えているのですが

その音を感知する部分で何か有効的な物ありますか?
(音はその時しか扱いません)

465:デフォルトの名無しさん
08/02/19 12:17:53
リアルタイム処理なら常に音量のゲインを見張って、
それが閾値に達したら別スレッドでdo○○に相当する関数を実行させるとか。

466:デフォルトの名無しさん
08/02/19 13:14:40
>>464
環境は? そして、その入力元は何? たとえばwindowsでマイク入力なのか、スピーカー出力なのか

467:デフォルトの名無しさん
08/02/19 20:05:30
>>465-466
ありがとう
windowsのマイク

何がしたいかっていうと
音を感知したら(どんな小さな音でもいいんだけど)、
HDDに録画をするっていうプログラムを作りたいんです。
だからゲインまでは必要ないかなとは思っています。

468:デフォルトの名無しさん
08/02/19 20:05:52
連続ごめん
マイク入力のこと↑

469:デフォルトの名無しさん
08/02/19 20:34:24
どんな小さな音でもっていうけど
録音状態でマイクからの入力が0フラットのまま安定することってなかなか無い気がするけど。
ゲインを監視しなかったら録画しっぱなしになるな。

ていうかひょっとして、聞きたいのは録音するためのAPIとか、そんな程度じゃねぇの?

470:デフォルトの名無しさん
08/02/19 21:06:25
あ、そっかそうだよね... まぁとりあえず、ゲインは後で考えます

そう、APIとかの事でした、質問が明確じゃなくてごめん。
何か良いのないかなと思って

C++を考えてるけど

471:デフォルトの名無しさん
08/02/19 22:38:08
トリガの音にもよるんじゃね?
チャイムとか時報みたいな単音かつ短い物ならFFTなりで周波数成分見て判別出来そうだけど、
比較的長めのジングルみたいなのはどこまで一致したらトリガ音と認識させるのかとか、
マイクからの入力だとちょっとした事で入力状態も変わってくると思うんだよなぁ。

472:デフォルトの名無しさん
08/02/20 00:02:27
ちょっと話はズレるんだけど、プログラムを走らせるパソコン外部の装置からのデータ入力の際に
ノイズが完全に入らないデジタルな接続ふyふyふゆいおjhy「

473:デフォルトの名無しさん
08/02/20 00:34:41
ふじこ!

474:デフォルトの名無しさん
08/02/20 04:25:26
>>467
物音がしたら一定時間録画、防犯システムみたいなもんか。

スレ一通り見た?Winでのマイク入力については
>>16 以降とか、
>>420 以降あたりが参考になりそう。

当然、環境音やアナログ回路由来のノイズとかあるから、静かだったら入力0ってことはない。
ある値を超えたら、って具合に感度(スレッショルド)は設ける必要ありますよ。
それから常に空調が入っているような部屋の場合は、
ハイパスフィルタなどを使って検出に不要な帯域をできるだけカットする必要があるかもね。

475:デフォルトの名無しさん
08/02/20 05:07:39
質問なのですが、ここらへんの技術で食べていくにはどうしたら良いのでしょう、

この中でプロで音響関連のプログラマーをやってる方っていますか?
やはりゲーム業界や計測器系の会社が多いんでしょうか?

DAWの開発会社に勤めている方とかいましたら、ぜひ職場の雰囲気など教えてほしいです。

職場での立ち位置なんかも気になります。
やっぱりマニアックな分野の分だけ、発言権は低いのでしょうか。

大学での専攻分野が音響/信号処理関連でないと難しいとかやっぱりあるのでしょうか。


476:デフォルトの名無しさん
08/02/20 06:01:23
発言権てw

477:デフォルトの名無しさん
08/02/20 10:06:59
国産DAWやシーケンサーは、プログラマ1人で作ってるものがほとんど(過去のものも含む)。
1人の作業に雰囲気もなにもない。

478:デフォルトの名無しさん
08/02/20 10:59:44
職場の雰囲気なんて社風によったり、部署毎に違ったり、面白いやつが一人いるだけで変わるもんだから聞くだけ無駄。
ゲーム業界におけるサウンドの地位は基本的に底辺。
サウンド専用のメモリをメイン側で使われたって話も聞いたことがある程。
唯一コナミだけはサウンドの発言権が強いってんで有名だったけど、それも10年くらい昔に聞いた話だし現状どうなってるかは知らない。
組み込み系やサウンドツールはボチボチ仕事転がってるから需要あるかもしんない。

ってかマ板向けの内容だなw

479:デフォルトの名無しさん
08/02/20 12:18:01
Q ここらへんの技術で食べていくには
A 自分を差別化出来るだけの技術を付けるしかない
音しか出来ないのでは駄目。
色んな事が出来た上で音も出来るのでなければならない。

算数や工業数学には強くないといけないね

480:デフォルトの名無しさん
08/02/20 13:02:34
算数は機械がやってくれるので問題ないだろ。
数学をやれ。

481:デフォルトの名無しさん
08/02/20 20:14:33
スタインバーグとか開発が海外でしかも音響専門のソフトウェア会社ならどうなのか気になる。
みんな楽しそうにやってるのか、デスマーチで死んでるのか。

482:デフォルトの名無しさん
08/02/20 22:06:48
>>479
技術よりネタだろうな、なんつーかもう何もかもやり尽された分野だし
FM音源が流行っていた時代、ソフトで音を作っていた時代が懐かしい。
今やるとするなら初音ミクみたいな奴とか

あえて技術で攻めるなら、このデータは効き難い事で有名といところで、圧縮、だがこれももう限界に近い。
他には音声認識もまだやれる事が多いかな、これは出力ではなくて入力なのでこのスレとはちょっと違う雰囲気か。

483:デフォルトの名無しさん
08/02/21 02:07:34
たしかに雰囲気は違うか
でも語らうとしたらこのスレくらいしかって気もするな

484:デフォルトの名無しさん
08/02/21 02:23:11
Visual C++ 6
SDKにて開発をしています.

こちらをコピーして,マイクから録音したものをwav形式で保存しています.
URLリンク(www7a.biglobe.ne.jp)

処理の流れを見ると,
waveInOpen
waveInPrepareHeader
waveInAddBuffer
waveInStart
>録音中
waveInStop
waveInReset
waveInUnprepareHeader
waveInClose
で,最後にSaveWave関数内で wav ファイルに落としています.

ここで,信号を wav に落とさずに信号処理を行いたいのです.
おそらく wh.lpData 内にデータが書かれていると思うのですが,
サンプリング周波数(例では8kHz)によってデータを配列に並べる処理等が分かりません.

具体的には,録音をしたデータをフーリエ変換し,そこから別の処理へと繋げるつもりです.
ご教授願います.

485:デフォルトの名無しさん
08/02/21 03:20:36
>484
>474

486:デフォルトの名無しさん
08/02/21 08:37:57
>>484
wf.nChannels = 1;
wf.wFormatTag = WAVE_FORMAT_PCM;
wf.wBitsPerSample = 8;
wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
wf.nSamplesPerSec = 22050;

wh.lpData に  モノラル 8bit 22.05KHzの配列として入力されている
FFTするなら、
wf.wBitsPerSample = 16;
として 16bit 符号付の配列として wh.lpData を扱えばいい。

連続して処理するなら、
waveInPrepareHeader
を2つ以上確保しておいて、MM_WIM_DATAメッセージを貰う都度、バッファを使いまわす事だ

487:484
08/02/21 13:28:25
>>485
もちろん目を通しましたが,わかりませんでした.

>>486
ありがとうございます.8kHzではなく22.05kHzでした.
おそらく wh.lpData 内はバイナリで書かれていると思います.
バイナリファイルから数値を読み込むのは fopen( hoge, "rb") を利用すれば良いのですが,
バイナリとして書かれているものをアスキーの配列に入れなおすには
どうしたら良いのでしょうか?

調べる中で以下のサイトに辿り着きましたが,
こちらも fopen による処理でした
URLリンク(oku.edu.mie-u.ac.jp)

よろしくお願いします.

488:デフォルトの名無しさん
08/02/21 13:47:13
チョットまだ基本的なC言語の考え方がわかってないようだ。
もう少しC言語の作法がわかる段階でないと説明する方も辛いんで勉強してくれ。

wf.wBitsPerSample = 8; だから
wh.lpData にはバイト列で入ってる  符号なし8bitだから

unsigned char *p= (unsigned char *)wh.lpData;
とやれば for 文で  (p[i]-0x80 ) とでも ( *p++ - 0x80 ) とでも 処理出来る。 


wf.wBitsPerSample = 16; にしてやれば 16bit 符号付になる
同じように16bit幅の符号付ポインタに代入すればいい。

489:デフォルトの名無しさん
08/02/21 14:00:14
>>488
不勉強な中,質問させていただいて申し訳ありません.
ご丁寧なレス,感謝致します.頑張ります.

490:デフォルトの名無しさん
08/02/21 14:26:16
>>487
サウンドプログラム以前の話じゃん。
スレ違いだよ。

491:デフォルトの名無しさん
08/02/25 22:35:24
Windows上で、waveOutGetDevCaps()やwaveInGetDevCaps()で取得したデバイスの、
さらに詳細な情報を得るにはどうしたら良いでしょうか?そのデバイスがUSBオーディオ
デバイスであるかどうかや、USBデバイスの場合はPIDやVID等を取得できるとうれしい
んですが。
Setup APIと組み合わせればどうにかなるかなと思ったんですが、Setup APIで取得できる
情報と、waveOutGetDevCaps()/waveInGetDevCaps()で取得できる名前とのマッチング
がとれないんですよね。WAVE APIだと、"(2)"とか"スピーカー"とか勝手についたりするし。
何か良いアイディアは無いでしょうか?

492:デフォルトの名無しさん
08/02/26 11:25:01
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}
を見るくらいかなあ・・・

493:デフォルトの名無しさん
08/02/28 20:52:43
質問です。

Q1.
信号を、ハミング窓をかけて50%オーバーラップしながらFFTして、
そのまま、逆FFTして、Overlap and Add した場合、信号が完全に
再現されるのでしょうか?

Q2.
信号を、sine窓かけて50%オーバーラップしてMDCTして、
そのまま逆MDCTして、再度sine窓かけて、オーバーラップすると
信号は完全に再現されるのでしょうか?


494:デフォルトの名無しさん
08/02/28 21:07:26
理論上どうだったかは忘れたけど、
少なくとも窓関数が 0 近い辺りでは誤差が大きくて、
完全な再現ってのは無理。

495:デフォルトの名無しさん
08/02/29 08:13:37
FFT->逆FFTで完全に元に戻っているのだから、
窓関数がオーバーラップ処理でフラットになるかどうかの問題。

フラットになる窓関数は 180度の位相差のものと足して1になる必要がある。

ハニング/ハミング窓は
A-(1-A)*cos(2πT/L)で 180度ズレると A+(1-A)cos(2πT/L) で加算すると2A

だから、ハニング窓は完全に戻るし、ハミング窓は 0.54*2 のゲインが残るだけ

サイン窓は 180度のズレは窓関数上は90度のズレになるので、
加算してもsin関数が残る。 そのサイズでモジュレーションした信号になってしまう


FFT->加工->逆FFTとした場合は、一般的には完全には接続しない。
MP3なんかはうまく誤魔化してるけどね。

単純に考えても、音程のある成分は位相を合わす事が出来るけど
でも位相を合わせると、ノイズは位相が合わせられないのだから 1/√2になる

496:デフォルトの名無しさん
08/03/08 16:41:59
>>495
詳しい説明ありがとうございました。
MP3は、なぜハミング窓を使わなかったのだろう、と思いまして。
sine窓の必然性が理解できてないのです。。。

497:デフォルトの名無しさん
08/03/08 17:08:38
>>496
周波数領域での加工を前提とすると、
FFT前に窓がけしないと、周波数領域の信号レベルの確度が悪くなる
逆FFT後に窓がけしないと、時間領域で接続性が悪い

上の理由から実務上2度窓がけする必要があって、かつ、2度の窓がけ後の結果の
オーバーラップが元信号に戻らないといけない。でも、han窓は1回の窓がけの
結果のオーバーラップで元に戻るように設計されてるから適さない。
で、上の条件を満たすsin窓とかVorbis窓が使われる。

498:デフォルトの名無しさん
08/03/08 20:45:14
なるほど、頭いいなー

499:デフォルトの名無しさん
08/03/15 16:21:05
すみません、質問なんですが

サウンドプログラミングに関する本で、
picか何かでのサウンドドライバの作り方とか
一連のサウンドプログラミングが説明してある組込みの書籍か雑誌が発売されてたみたいなんですが、
本のタイトルがわからなくなって探すことができません。
それっぽいキーワードでググっても出てきません。
目次を眺めただけなので、具体的な内容は違うかもしれないのですが。。。

どなたか、上記の本のことをご存じないでしょうか?

500:デフォルトの名無しさん
08/03/15 18:34:48
picってMicrochip社のPIC?

501:499
08/03/15 23:37:51
>>500
ごめんなさい、picかどうかも怪しいです。
僕はMicrochip社のPICのつもりで書きましたが、
そもそもpicじゃないかもしれないです。

質問内容が曖昧過ぎますよね。。。
今になって>>499の本にすごく興味が出てきてしまって。

502:デフォルトの名無しさん
08/03/16 08:27:07
PICだとすれば DsPIC だろうけど

503:デフォルトの名無しさん
08/03/16 08:32:06
検索したけど、コレくらいしかみつからなかった
URLリンク(gihyo.jp)

504:デフォルトの名無しさん
08/03/17 23:38:52
すげえなこれ
URLリンク(slashdot.jp)

505:デフォルトの名無しさん
08/03/18 00:01:38
ソレ、おれもおどろいたわ
どういう仕組みなのかなあ

506:デフォルトの名無しさん
08/03/18 00:45:39
基音を分解したあと上音を再構成してるんだろうけど
どの上音をどの基音に結びつけるかってのは、
あらかじめ楽器音を抽象化したサンプルのカタログから検索してるんじゃないかなぁ


507:デフォルトの名無しさん
08/03/18 05:47:11
すげえなこれ
URLリンク(sho1.jp)


508:デフォルトの名無しさん
08/03/18 10:07:14
>>506
それだと人の声とか、音の響き方が変わったときは無理じゃね?
解析中に倍音成分の偏りのテーブル作ってるんじゃないかなぁ。
試算は元波形から減算して0になればいいわけだから、その辺からも補完情報得られそうだ。
おかしなエフェクトかけた音とか食わしてみたい。

>>507
ナニガ?
サウンドプログラム的には初歩の初歩だろ。

509:デフォルトの名無しさん
08/03/18 19:54:37
位相を和音を基準に解析して、各周波数ごとにピッチ、スピード、再生タイミング等を調整できるようにしただけじゃね。
和音に分解するのにものすごい時間かかりそうだ。どちらかというとアイディアよりも速い速度を出したという努力の方が凄い。

510:デフォルトの名無しさん
08/03/18 23:43:22
>>509
短絡的に考え過ぎじゃまいか。
速度無視すりゃキミ作れる?

511:デフォルトの名無しさん
08/03/18 23:51:51
まあ、そういうこと言い出すと、情報系の研究の結構な割合が、
真新しい技術を作ることじゃなくて、既存技術を低演算量で実現ってノリよ。

512:デフォルトの名無しさん
08/03/19 00:17:18
どうせ解析がDWT、再生が可変速再生でしょ。
例えばV-Vocalとどう違うのか分からん。

新しい技術ってのは多くがまず理論の領域だからね
実践が重要な情報工学の分野は、どう実現するか、とかが重要になる。

513:デフォルトの名無しさん
08/03/19 10:05:39
>>512
アホか? どの周波数の音がどの音の倍音かってのを分解できなきゃいけないんだからV-Vocalとは全然違う。
音源分離の基礎から勉強しなおせ、このタコ。

514:デフォルトの名無しさん
08/03/19 14:34:45
>>513
さすがにサンプル全く聴かないで想像で書くとバレるかwww
ある意味安心した

サンプル聴いてみたが、全サンプル単音色なのね
これだったら、全体の倍音構成がある一つの倍音構成の重み付き和になるから
アタック検出とあわせて認識するのは可能かなー 専門が音声ですら無いから
最先端とか知らんけど

515:デフォルトの名無しさん
08/03/19 15:35:05
おまえ耳悪いんだな

516:デフォルトの名無しさん
08/03/19 18:05:43
>514
URLリンク(www.sonicstate.com)
これ見て凄さが理解出来ないなら黙って消えてくれ。

517:デフォルトの名無しさん
08/03/19 19:44:08
やってることがすごいとかすごくないとかはよくわからないんだけど、
動画の中で音をばらす最初のシーンはかなり興奮したw


518:デフォルトの名無しさん
08/03/19 20:14:00
一から楽器を演奏して曲の音源を得るコストと、そのソフトを購入して既存の少ない音源から
元の音源が分からない程にまでリミックスして曲の音源を得るコストのどちらが高いか。
勿論後者の場合はもともとの音源が第三者には追跡不可能だし人格権を主張できないほど弄ってるから著作権料なんて発生しない。

519:デフォルトの名無しさん
08/03/19 20:21:14
論点変えて楽しいか?

520:デフォルトの名無しさん
08/03/19 20:35:08
一つのどうでもいいレスに対して話の流れから脱線しているように思うなら、無視すればいいだけのこと。

521:デフォルトの名無しさん
08/03/19 20:53:43
つうか板違いだろ

522:デフォルトの名無しさん
08/03/20 02:34:17
>>516
黙って消えろは酷いなw

さて、その動画今観てみたけど、やっぱり同種の楽器のサンプルしか無いね
一つだけギターとトランペットのサンプルがあるけど、音の小さいギターの方の認識は弱くなってる
支配的な倍音構成にフォーカスしてるのかな

523:デフォルトの名無しさん
08/03/20 05:03:48
>>516はアルペジオ的なサンプルばかりなのもあーやーしーいw

けど、こっちにはギターのカッティングを分解してるビデオがある
URLリンク(www.celemony.com)

524:デフォルトの名無しさん
08/03/20 14:09:51
>>523
お、やっと話せる人が来た 嬉しい

同時発音へのアプローチはどうなんだろうね。
そっちの動画は最初に観て、その感想が>>514なんだけど、うーん。
あるいは、同時発音といえどもms単位のアタック時刻ずれがあるからそれを検出して……とかなのかなぁ。
ただ低域になると時間精度が悪くなるから、そこまでの精度がでるのかどうか。

完全に同時発音のソースとか、BBE通したソースとかでどうなるか、とか興味あるなぁ
>>516の動画でも、リバーブがきついと怪しいとか、2パートのピッチがクロスすると怪しいとか
おっちゃんも言ってるし。

って長文ごめん

525:デフォルトの名無しさん
08/03/21 10:05:41
>>524
前も書いたが、音源分離の基礎から勉強しろ。
「音源分離」でググれば、この分野の基礎技術がやまほどでてくるから。

526:デフォルトの名無しさん
08/03/21 12:09:03
>>525
あぁ、>>513で書いてるのか
ただの脊髄レスだと思って切ってたわ
音源分離ね。みてみる

527:523
08/03/21 12:35:50
君自身が「話せない人」だと思うよーw

528:デフォルトの名無しさん
08/03/21 12:50:27
>>526
無知だってことを指摘されても、自分は悪くない、と放置するからいつまでたってもバカのままなんだよ。
はっきり言って、あんたの知識レベルは非常に低い。おそらく別な場所でもさんざん叩かれてるだろ?
それは人間性に問題があるからだぞ。

529:デフォルトの名無しさん
08/03/21 14:13:53
これは酷いw

>526
なんか自身満々そうだし、試しに単音でもいいから分離アプリ作ってくれよ
音のアタックとリリース重なる部分の分離だけでも出来ればたいしたもんだと思うよ

530:デフォルトの名無しさん
08/03/21 14:20:53
>>524
専門外だと自覚してるならしゃしゃり出てくんなよ。
あんまり的外れなことばかり書くから、スレが妙な盛り上がりをしてるじゃねーか。

531:デフォルトの名無しさん
08/03/21 18:47:35
C(ド)の音色データを加工してDEFGAB〜の音を作ることはできますか?

532:デフォルトの名無しさん
08/03/21 20:51:15
>>529
単音のサンプル投下希望
自前サンプルだとまた叩かれそうだから

533:デフォルトの名無しさん
08/03/21 21:00:01
>>531
できますよ

534:デフォルトの名無しさん
08/03/21 21:06:21
>>531
つ ピッチシフト
あとはフォルマント辺りを加えて調べてみるといいかも。

>>532
お前は頭大丈夫か?
これ以上叩かれる前に消えた方がいいぞ。

535:デフォルトの名無しさん
08/03/21 23:26:22
>>533-534
ありがとうございます。

536:デフォルトの名無しさん
08/03/22 03:18:19
>>531
出来るけど
音に深みが無くなる

537:デフォルトの名無しさん
08/03/22 03:25:55
なんか久しぶりに湧いてんな。
ただでさえこのスレの住人はネタに困ってるんだからあんま煽るなよ532。

しかしDirectNoteAccessすげえええええええええええええええええええ。
あまりに感動したのでYoutubeのほうもはっとこ。
URLリンク(jp.youtube.com)

538:デフォルトの名無しさん
08/03/22 10:05:53
素人なので何がすごいのかわかりません

539:デフォルトの名無しさん
08/03/22 10:34:14
>>538
カクテルを材料毎に分離して比率を変えたりして再合成するようなもの

540:デフォルトの名無しさん
08/03/22 10:37:10
それは素晴らしい
こう、チャレンジスピリッツが刺激される試みですね

541:デフォルトの名無しさん
08/03/22 10:38:08
そのうちリバースエンジニアリングが犯罪にされそうだな

542:デフォルトの名無しさん
08/03/24 09:59:47
マルチトラックな内部データを持つ同機能に見えるだけのfakeなら簡単に作れからなぁ
現物を調べないと投資を引き出すためだけの偽デモの可能性を否定できない

543:デフォルトの名無しさん
08/03/24 11:11:47
>>542
ねーよw
多少は都合のいいデータをデモに使ってるだろうけど

544:デフォルトの名無しさん
08/03/24 11:56:45
アタックが弱い楽器はトランスポーズできないのかな


545:デフォルトの名無しさん
08/03/25 23:20:04
すみません。
ピッチシフトはFFTをしないと実現できないのでしょうか?

546:デフォルトの名無しさん
08/03/25 23:22:02
IIRならなんでも

547:デフォルトの名無しさん
08/03/25 23:58:57
IIR調べましたが理解できませんでした。
単純に半音分の1.05946を時間にかけて伸ばしたり縮めたりするのは駄目ですか?

548:デフォルトの名無しさん
08/03/26 00:04:19
>>545
まず、一定間隔でサンプルを間引き/補間して
(音程も再生速度も変わる)、
その後、フレームに区切って、フレームをオーバーラップさせたり重複させたりで
再生時間を調整。

549:デフォルトの名無しさん
08/03/26 00:22:01
>>548
それならできそうです。
ありがとうございます。

550:デフォルトの名無しさん
08/03/26 00:34:57
>>549
オーバーラップさせるときに、重ね方ちょっと工夫しないとノイズっぽくなるから注意ね。
重なってるところが似たような波形になるように、
相互相関とかとって重ねる位置ずらす。
この方法で、綺麗な周期波形なら結構いい音になる。

551:デフォルトの名無しさん
08/04/14 19:34:53
最近はユーザが日本語化MOD作るからいらないよな

552:デフォルトの名無しさん
08/04/14 19:35:23
誤爆

553:デフォルトの名無しさん
08/04/19 04:13:41
高域を補完するフィルター(KENWOODのSupremeみたいな物)を作ろうと思うのですが
サウンドプログラミングはやったことが無くどのような方向から手を付ければいいか判らない状態です
まずは非リアルタイムで実験してみるつもりですが、ゆくゆくはリアルタイムで処理できるような物を作りたいです
ソースをFFT→FFT結果を元に倍音生成のスペクトラムを生成→逆FFT→ソースと合成みたいな感じになるのでしょうか…?
よろしくお願いします

554:デフォルトの名無しさん
08/04/19 07:48:04
たぶんFFTでは難しいと思うよ。
一般的にブロック・フーリエ変換の場合 周波数軸で加工すると実軸に戻した時に
ブロック同士を接続させるのが難しい。

たとえば原音から高域だけ抽出して その成分を2乗3乗したのを加算するとかどうかな
倍角公式とか3倍角公式で高音を加算出来る事になるよ

555:デフォルトの名無しさん
08/04/21 16:20:21
ピッチや再生速度を変えるにはどうすればよいですか?
サンプルを間引いたりするだけではうまくいきませんでした。
ググってもツールしかヒットしません(><;

556:デフォルトの名無しさん
08/04/21 16:51:58
>>555
>>548

557:デフォルトの名無しさん
08/04/21 16:53:09
あと、C# でよければ、
URLリンク(ufcpp.net)
にピッチシフトのコードある。

558:デフォルトの名無しさん
08/04/22 08:07:18
>>555
このスレの1つ前の過去ログの先頭にある程度詳しく書いてある。

肝心なのは
>再生速度を変更するには、上げるにも下げるにも強力なLPFが必要になる
って所。 これをサボると駄目だね

559:デフォルトの名無しさん
08/04/22 10:21:41
>>555
ディレイを使うのも手。
重複を気にせず、再生速度を変えたのをたくさん並べるだけでもそれっぽくなる。

560:デフォルトの名無しさん
08/04/22 11:48:11
>558
555じゃないけど、サボるとエイリアシングノイズが出るって事?
ピッチ上げるときはLPFかけないとマズそうなのはなんとなく解るんだけど、下げる時もLPFなの?

561:デフォルトの名無しさん
08/04/22 12:17:44
>>560
そう、アンチエイリアシング。
下げるときは、
簡単化のために、再生時間2倍、音程1/2で話すと、
元のサンプルの間に、まず、0を挿入するのね。
元のサンプルが 100, 110, 130 とかだったら、
100, 0, 110, 0, 130, 0 にする。
この状態をフーリエ変換すると、
元の周波数特性の高周波にエイリアスノイズが乗った状態になってるから、
それを LPF かけて取る。

562:デフォルトの名無しさん
08/04/22 18:45:52
0を挿入する意図が分からん。
100,100, 110,110, 130,130 じゃダメなのん。

563:デフォルトの名無しさん
08/04/22 19:10:34
>>562
それは0を挿入してから低品質な2タップFIR LPFをかけたのと同じことじゃん。
>>558>>561が言いたいのは、そのLPFをもっと強力なやつにしないと駄目よってことでしょ。

564:デフォルトの名無しさん
08/04/22 19:21:45
そうだね。 1+1/z っていうFIRフィルタの特性と同じで遮断特性は殆ど無いも同じ。

半音単位だと16:15とか16:17とかの比になるんで、
理論的には0を16個つめてFIRフィルタを通す事になるけど、
実際は0をつめる部分は掛け算しなくていいんで

565:デフォルトの名無しさん
08/04/22 23:18:36
>>562
もちろん、実際には内挿補間とかするんだけどな。
フーリエ変換の定義式に、0を挿入した奴を食わすと、理論式が綺麗なんだわ。

566:デフォルトの名無しさん
08/04/23 00:43:46
CUDA使ってる人っている?
並列処理がどれくらい速くなるんだろう。

567:sage
08/04/23 02:40:36
DCTベースでピッチシフトって(理論的に)出来ないんでしょうか?
32kHzでサンプリングした音を2048点のDCT(DCT-typeII)して、3半音分ずらして
(1720点分のデータを2048点に補完)IDCT(DCT-typeIII)してみたら、なんか
元の2048サンプルが1720サンプルの波形に変換(残りは0近辺)されたような感じ
っぽくなった(つまり単なる早回し?)んですけど…

DCTでやってるのは、FFTは使ったことあるけどDCTはなかったから。あと、実数
なので楽かと思って。だた、変換結果をみると、位相成分も混ざってか(?)
かえって扱いにくいようにも思えてきたところなんですが。

理論とか数学とかダメな方なので、実際にコード書いて実験してる次第。
ちなみにJavaでやってます。(慣れると)楽ですよ。描画も簡単だし。

568:デフォルトの名無しさん
08/04/23 09:08:37
出来ないか出来るかという話なら出来るんでしょう。
でも問題は
1、ブロックである事から接続の問題がどうしてもついてまわる事
2、周波数シフトそのものの計算の面倒さ
 6:5 という比率なら5を6に移動するのは簡単だが6を7.2という事になると exp関数となる

569:デフォルトの名無しさん
08/04/23 23:01:48
> 100, 0, 110, 0, 130, 0 にする。
なんとなく、出力レベルが下がっちゃいそう。

570:デフォルトの名無しさん
08/04/23 23:04:07
じゃあその分ゲインをかければいいでしょ

571:567
08/04/24 00:02:55
>>568
>5を6に移動するのは簡単
それすら上手くいってないんですけど。DCTした5要素をどうやって6要素に
分配(シフト)すればいいのか。sinc補間で5要素から6要素を求めてみたり、
5要素を適当に6要素に分配してみたりしたけど、IDCTしたら変になります。
(振幅が一旦大きくなったあと、小さくなるような波形になるっぽい)。
なんかシフトしたら係数を掛けないといけないんでしょうか?

>exp関数となる
全然わかりませんorz。オイラーとかがからむ話なんでしょうか。

572:デフォルトの名無しさん
08/04/24 00:22:57
>>571
DCTだと、位相が無視されるからなぁ。

振幅が大きくなってる箇所があるってのは、位相が狂ってるんだと思う。

定常波だと位相が狂ってても聞こえは一緒だったりするんだけど、
立ち上がりの部分が変わっちゃうと変な聞こえになりそう。

573:デフォルトの名無しさん
08/04/24 00:24:24
周波数領域でピッチシフトするなら、フーリエ変換にしないと駄目かなぁ。
ついでに言うと、対数振幅と位相をそれぞれsincなり何なりで補間。

574:553
08/04/24 07:44:16
>>554
レス送れてすみません。ありがとうございます
1.ソースをFFTで周波数/強度に変換
2.1の周波数ごとに倍角公式、3倍角公式で倍音、3倍音を生成。音量は1の強度を元に適宜減衰
3.2を合成して補完音を生成
4.ソースと3を合成
みたいな感じでしょうか?
コーディング時には2〜4は同時に行った方がメモリのリソースは節約できそうですね…

575:デフォルトの名無しさん
08/04/24 09:11:17
えと、俺が書いた事は無視する事にしたのか誤解したのか、

俺が言ってるのは、ソレで2倍3倍の信号作って位相情報をどうするのって事。
元位相のまま2倍の位置にシフトしたら2度繰り返す事に
周波数軸上で変換するのは簡単じゃないよと。

だから

1、ソースのサンプル周波数変換
2.ソースからHPFで元サンプル周波数の1/4〜1/2の高域だけを抽出
3.2の2乗、3乗等の信号を作成
4.ソース+3の信号を重み調整し加算して出力

でいいんじゃないの?って事。

576:567
08/04/24 21:07:53
>>572
>DCTだと、位相が無視されるからなぁ。
シフトするときの分配をちゃんと(元の値が対応する区間を求めて、比率に
あわせて配分。言葉で書くとわかりにくいなぁ)したら、ブロック途中の
振幅の暴れはマシになったけど、なぜかブロックの先頭から末尾に向かって
減衰します。なにか、大きな位相成分がおかしいのか…

>>573
>フーリエ変換にしないと駄目かなぁ。
やっぱりそうなんでしょうか。どっちも周波数成分への変換相当だから、
DFTとDCTは同じことが出来るのかと思ってました。

577:デフォルトの名無しさん
08/04/24 23:30:07
>>576
連続フーリエ変換なら話は楽だったりするけど、
離散だと、周期の都合で妙なことになったりするかなぁ。

ピッチシフトって周期が狂う非線形処理だから、根本的に DCT・DFT と相性悪いかも。

578:デフォルトの名無しさん
08/05/09 12:43:38
和音がわからない
誰だよ白鍵と黒鍵分けたアホは
全部半音単位で管理しろや

579:デフォルトの名無しさん
08/05/09 12:48:16
>>578
頭悪いのね。

580:デフォルトの名無しさん
08/05/09 13:37:42
言われてみるとどういう基準で分けたのか気になるな。
流石に578はどうかと思うが。

581:デフォルトの名無しさん
08/05/09 13:38:17
>>579
頭良いのね。

582:デフォルトの名無しさん
08/05/09 13:47:03
音階が12なのは時間が12進なのと関係があるんか?

583:デフォルトの名無しさん
08/05/09 14:04:58
>>580
どういう基準もなにも、倍音とってったらドレミの音階が生まれるだろ。
それをオクターブ内におさまるようにしたら白鍵盤のぶんが埋まる。
そのときにだいたい半音、ってのが最少単位になってるからそれに合わせて鍵盤をわりふる。
西洋音楽の音階はだいたいそんな感じ。

>>582
倍音を拾っていってオクターブ内の音を分割した結果で、12等分がキリのいいとこに近かったんだよ。
地域によっては、12をさらに分割したのが最少単位だったりする。

584:デフォルトの名無しさん
08/05/09 14:56:59
純正律のことを言ってるのか?
いわゆる純正律はそれはそれで恣意的だと思うが。

あるいはピタゴラス音律か。

585:デフォルトの名無しさん
08/05/09 14:58:50
ようするに 
ドミソ のソ 周波数比 2:3 の1.5が 2^(7/12) に近くて
ドミソ のミ 周波数比 4:5 の1.25が 2^(4/12) に近いから

最初にドミソの和音が出来て、それを展開していってドレミファソラシドって事でしょ



586:デフォルトの名無しさん
08/05/09 18:39:46
>578
プログラム関係ねぇよw
和音やコード進行は音楽関係の教則本には必ずと言っていいほど載ってるし、
当たり前な話だけどギターなんかは全部半音単位だ。

587:デフォルトの名無しさん
08/05/09 18:55:58
>>578
全部白鍵だったらどれが「ド」だか分からなくなるだろ

588:デフォルトの名無しさん
08/05/09 18:57:51
無刻印HHKを扱える奴がいるから慣れだなw
でもいやだなそんな鍵盤

589:デフォルトの名無しさん
08/05/10 01:27:16
そういう奴は周りから嫌だなと思われるのを生き甲斐としている。
疎外感と優越感の混ざった感覚。

590:デフォルトの名無しさん
08/05/12 14:45:20
ちょっと質問さしてください
WAVやAIFFを読み込んで再生するプライバックサンプラーを作りたいと思ってるんですが
音階演奏のための再生ピッチ変更(引き延ばし・縮め)って、
普通というか主流というか、どうやるものなんでしょう?
少しためしてみた感じでは、単純な一次補間でもけっこう使える感じがしたんですが
市販のサンプラーなんかはどうしてるんですかね?

591:デフォルトの名無しさん
08/05/12 16:25:42
あらかじめアップサンプリングしたデータを持っているなら1次補間でもいけるだろうし
そんなもの好きにやったらいいと思うけどな

592:デフォルトの名無しさん
08/05/12 17:33:47
DTM用で、あらかじめアップサンプリングしたデータを用意する
ようなことは想定してないです。
好きにやったらといえば返す言葉がないんですけどね・・・

サンプリングレート変換と同じといえば同じなので
もっとちゃんとした方法があることは理解してるんですが、
演奏が目的のサンプラーの類だと、
一次補間ぐらいやっとけば普通レベル??なのか気になったもので


593:デフォルトの名無しさん
08/05/12 17:39:54
>>592
URLリンク(www.psoft.co.jp)
こんなのとか?

594:デフォルトの名無しさん
08/05/12 17:49:29
>>592
いや自分でアップサンプリンしたのを内部データとして持っておけば
その1次補間でも十分実用になるという意味だよ。

アップサンプリングは元のサンプリング周波数の整数倍にすれば面倒なことは何もない


595:デフォルトの名無しさん
08/05/12 18:10:43
>>593
いえいえ、タイムストレッチ・ピッチシフトではなくて
単純な再生速度変更です。

>>594
なるほどーうまい方法ですね。
補間方法ばかり気にしてたんで、いやかなりはっとしました。
メモリは食いますけど、それなら再生時の負荷もほぼ同じのままS/Nアップしますね。
そういう実装してるのもあるのかなぁ

596:デフォルトの名無しさん
08/05/12 19:32:16
市販のサンプラー作ってた奴がいたとしても、そんなもんは企業秘密だから書けるわけねぇだろ
実装して問題が起ってるからアドバイスくれとかならともかく、抽象的すぎんぞ

597:デフォルトの名無しさん
08/05/17 18:23:59
えーと、サウンドプログラミングについての定番サイトってありますか?
やりたいのは任意のWaveファイル(サンプラーとして)+ゲームパッドを使い、
リアルタイムに強弱をつけながらパーカッションを打ち鳴らして、
打ち込んだ結果をMIDIファイルやWaveファイルに保存したいです。
こういうゲームパッドドラム?を作って、楽しく、楽に打ち込みたいのです。


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

4988日前に更新/249 KB
担当:undef