[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 08/10 22:34 / Filesize : 74 KB / Number-of Response : 328
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

サウンドプログラミング5



1 名前:デフォルトの名無しさん [2009/01/11(日) 13:43:21 ]
音のプログラミング処理について語りましょう

各エフェクタの組み合わせとか、
プログラミング外の話題はDTM板の方がいいよ

サウンドプログラミング4
pc11.2ch.net/test/read.cgi/tech/1185340076/

サウンドプログラミング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

157 名前:デフォルトの名無しさん [2009/04/29(水) 04:49:22 ]
>>149
一回の計算についてはFIRもFFTと同じくブロック処理以外の
何ものでもないのだが? 
どちらも対象の有限長のブロック以外は全然計算対象に入っ
ていない。

FIRの代わりにFFTを使う時、FIRでの場合と同じように1サン
プルづつずらしてFFTを行い、その結果を正しく評価すれば
FIRでの場合と同じ結果が得られるんじゃない?
ただ、それだと普通にFIRやるよりも計算量が増えるので、
それをひっくり返す手法としてオーバーラップ法があるの
だと理解してるが?

158 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 14:31:42 ]
>>157
てことは、オーバーラップは単に計算量対策で、
FIRとFFT+オーバーラップは本来は代替不可能ってことか。

159 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:26:47 ]
>>157
一回の計算についてはプログラミング上
ブロック処理にしてもしなくても
出力はFIRならいっしょだからそれは考えないとして。
FIRとFFTの違いはサンプル数の違いがでかくないか?
FFTはサンプル数でかくしないと周波数領域で操作できる
周波数ステップ荒くなるし
FIRは少なくてもある程度できる。
サンプル数大きくするとそれだけFFTの計算に入れる時間が
大きくなるから時間分解能下がる
FIRはリアルタイム処理だから時間分解能最大。
それでサンプル数が一緒での議論だと、
FFTは実際(データが何かにもよるけど)窓関数とかかけなきゃ
だめだからそれだけデータ量そこでへっちゃうから、
最終処理後のデータの品質さがる
だから目的に合わせて選べばいんでは



160 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:40:47 ]
>>159
いまいち良くわからんのだが、、

>FFTはサンプル数でかくしないと ... FIRは少なくてもある程度できる。

同じステップ数として、FFTの時間領域で、FIRフィルタの
設計上のカーブを各点で取ったフィルタ処理は違うもの?
違うとすればどの辺りが?

> サンプル数大きくすると ... 大きくなるから時間分解能下がる

時間分解能はサンプリング周波数で固定だと思うけど、、、
短時間FFTのオーバーラップ回数が少なくなるってこと?

> FFTは ... それだけデータ量そこでへっちゃうから、

データ量は減らないと思う。

161 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:35:07 ]
>>160
FFT/FIRの基本的な仕組みすら理解出来てねーだろお前。
159の説明は波形処理の基礎だぞ。
まずは自分で調べて考えろ、なんでも聞いて済まそうとすんな。

162 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 00:00:23 ]
>>161
ただ罵倒するだけのレスは無価値ですよ、いつもの方。

163 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 01:51:36 ]
>>160
あの、
ここでの説明だとあれだから本買ってきた方がいいよ。
最初の方は強いて言えば違わないけど、
それぞれの癖とか特徴とかできることできないことあるから
目的に応じたいい方をえらべよ

二つ目は
>サンプル数大きくするとそれだけFFTの計算に入れる時間が
>大きくなるから時間分解能下がる
これはFFTの時間分解能だから。
160が言ってるのは多分サンプリング定理とかそこら辺の
波形のデジタル化の時の時間分解能の事をいってるんかな?
FFTの原理とか時間領域-周波数領域のサイトとか本とかみればわかると思うけど

みつめ
何バイトとかのデータ量はへらないけど、なんというか削ってるんだから論理的な
データ量は減るよね?
たとえばwav->mp3圧縮の時みたいな感じで
たとえばデータを波形ととらえて周波数領域に変換して周波数高い一部分を少なくして
時間領域に戻してもバイトは変わらない。でも何か(なんらかの情報)は減っている。

164 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 02:02:29 ]
>>163
うーん……難しくていいので正確に書いてもらえると嬉しいです。
理解してるとかしていないのかという問題よりも、163の説明の中の
一つ一つの用語が式とか定理のうち具体的に何を指しているのかが曖昧すぎて分からない。

> FFTの時間分解能

>>160の時間分解能は指摘の通りデジタル化の際の時間分解能です。
で、説明だとFFTという変換自体にに時間分解能ってパラメータなり特性が存在するんですよね?

> データ量
窓かけの周波数特性でサイドローブが出る話ですよね。
歪みは出ると思いますが、それが情報が減っているということ?

165 名前:デフォルトの名無しさん [2009/04/30(木) 05:43:39 ]
>>159
>FFTはサンプル数でかくしないと周波数領域で操作できる
>周波数ステップ荒くなるし
>FIRは少なくてもある程度できる。

そんなことない。
「NタップのFIR」は「サイズNのFFT+周波数領域での積和演算」
と等価でしょ?



166 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:11:03 ]
>>165
「ある程度」だから実用性を考えての
ことだよ
小さいタップ数で同じ事ができるんだったら
小さい方がいいだろ

167 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:35:01 ]
>>164
一般的なFFTの話だが
FFTはサンプル数を大きくすれば周波数分解能はあがるが、
それだけ時間領域でも…
たとえば音楽だと22050hz、4096FFTだと一回のFFTで
4096サンプル=0.185秒分のデータが必要になる
音楽だと0.185秒だとテンポの速い音楽だと音符が2個分
含まれていることもあるかもしれない。(極端な話)
上のFFTだと5.38hzごとの周波数領域のデータだ。

このようにFFTではサンプル数を大きくすれば得られる周波数データの
hzの間隔は少なくなり詳しく得られるが、それだけたくさんの時間を
計算に組み入れなければならないので、いらないデータも含まれるかも
しれない。sin波だったらずっと同じだからいいけど、PCMなんかだと
刻一刻と周波数成分が変わっていってるので(音楽なので刻一刻と
かわらないとおかしいが)一回の計算にいれる時間は少ない方が
その時点の周波数は正確に表れる。

この文を読めばFFTの時間分解能、周波数分解能の意味は
なんとなくわかるだろ


168 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 22:12:17 ]
>>167
いやそれはとっくに分かってるんだが・・・
ピッチ検出ならゼロクロスなりケプストラムなり使うし。

で、そもそもの疑問である
>>163
> 最初の方は強いて言えば違わないけど、
これをkwsk

169 名前:165 mailto:sage [2009/05/02(土) 05:33:05 ]
>>166
>小さいタップ数で同じ事ができる

俺はそんなことは出来ないと理解してるのだが?

170 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 22:11:32 ]
便乗レスだけど、

>>168
NタップのFIRをFFTで実装しようとすると時系列データもN用意して
Circular ConvをConvにするため最低Length=2N+1のDFTを行う必要がある。
(信号分析しないから窓掛けしないとする)
DFT自体は丸め誤差とかを除いたら単なる座標変換だから周波数領域での掛け算も
時間領域の畳み込みも等価なんだけど、フレーム単位で処理する必要があるから
出力時には最低Nサンプルの遅れがある。
反面、FIRだと過去Nサンプルのバッファを用意して置けば新しいサンプルが入ったときに
バッファからフィルタの出力をその時点で得られる。

同じ性能を発揮するのに必要なタップ数が変わることはありえないし、
時系列でFIRを処理するから周波数分解能が云々とか、それを座標変換した
領域で作業するから周波数分解能が云々ってないし、考慮する要件は数理的なものよりも
処理時間やFFT-IFFTするオーバーヘッドや誤差への許容に関すること。
更に言えば、Portaudioみたいに最初にデータをバッファにためてバッファがいっぱいになったら
コールバックを呼ぶようなやつだったら、正直FIRを時間ドメインでやろうが周波数でやろうが
変わらない。

リアルタイム性を重視するフィルタだったらFIRを時系列で畳み込む方がいい場合もある。
特にタップ長が短い場合。

171 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 23:46:32 ]
質問いい?

VistaでWin32APIのmidiOut〜系でMIDIを出力しているんだが、
どうにも我慢ならないほどの遅延が発生する(200ms程度)。
出力先をデフォルトのMIDIマッパーの代わりに、Timidity++→ASIOにしても同程度の遅延が発生するので、
多分APIに問題があるんだと思う。

そこで、他のAPIに乗り換えようかと思ったんだが、
DirectMusicは消滅した上に64bitアプリで使えないようなので、
他の選択肢が欲しい。
なんかないかな?

172 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 23:53:35 ]
MIDIならしょうがない

173 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 00:02:12 ]
しょうがないのか。 適当な音源自前で実装するか……サンクス。

174 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 09:57:02 ]
Timidity++側、ASIO側にバッファがあれば同様の遅延は発生するだろ
APIを疑う前になぜMIDIインタフェース+外部音源の組み合わせで試さないのか不思議だな

175 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 10:22:23 ]
>>171
少なくともXPまでの環境でmidiOutで200msecも遅延するとか聞いたこと無い
Vistaのドライバとかの問題だと思うが、ソフトMIDI音源とかで試してみた?



176 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 12:35:56 ]
>>174
外部音源とか持ってねーよwwww
Timidity++のGUIからmidiファイルを再生してみたけど、たぶん遅延してない。

>>175
全く違うハードウェア構成の2台のVistaで同様の遅延が発生してる。
で、さっきXPマシンで試験したけど遅延しない。

何ヶ所かの英語フォーラムで、Vistaだと遅延が発生するという報告があるのよ。

177 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:33:55 ]
いや、MIDIファイルの再生じゃ遅延してるかどうかなんて分からんだろう・・・
なんにせよmidiOUtの問題じゃないと思うんだが

VISTA環境があれば試すんだがなぁ

178 名前:177 mailto:sage [2009/05/21(木) 13:36:32 ]
>>173には同意してるかんね

179 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:59:15 ]
ソースが公開されてるDAWやシーケンサがMIDIをどう発音しているか確かめたら?
あとTimidity++自体に遅延があるからASIOを使ってもMSGSより遅いぞ

180 名前:デフォルトの名無しさん [2009/05/31(日) 17:26:05 ]
ogg vorbisのエンコードについて詳しく書かれたサイトありますか?
公式見ても初期化部分しか書かれてなくて何をすればいいのかすらわからん

181 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:03:25 ]
>>180
oggのlibならexamplesディレクトリに encoder_example.c があると思うけど、それじゃだめなん?

182 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 13:24:01 ]
ogg vorbisのエンコード上手くいかない・・・

183 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 14:21:40 ]
自作のフィルターを組んでメモリ上に全てのデータを置いてランダムアクセスで
メモリ上を飛び回って処理をしているのですが、音源の時間に比べて20倍の処理速度が掛かります。
DSPとやらを使えばもっと高速にできるらしいのですが、どうやって使えばいいのでしょうか?
Google先生に効いてもネット上に資料はあまりなく、困っています。
VC++9.0SP1を使ってプログラミングをしています。誰かVC++からのDSPの使い方を教えてください。

184 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 16:19:54 ]
とりあえずどんなフィルタか書かんと
DSPは単純な演算を高速に(あるいは並列に)こなすものだから
処理の種類によっちゃ効果がない

185 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 02:42:57 ]
>>183
どんなマシン使って20倍なのかわからないけど、
最近のPCでそのスコアならアルゴリズムから見直さないとどのみち無理な気が。

一言にDSPっていってもピンキリだし、PCから使うならどこかの評価ボードみたいなの買うしかないんじゃないかな?
本気でDSPに手出すなら開発キット&コンパイラで数十万、仕事じゃないなら個人に販売してくれるかってのも微妙な所。
たぶん想像してるよりもはるかに敷居高いと思う。

波形処理の高速化なら一番お手軽なSIMDに手出してみれば?
モノによっては5〜10倍くらい期待出来る。



186 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:12:40 ]
G.722とG.722.1 Cの、GPL/LGPLでないソースを探していますが、どこにありますか?

187 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 18:29:55 ]
誰かにそのソースを渡す
アルゴリズムと定数だけそいつから聞き出して自分で実装する

188 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 20:49:19 ]
そして定数の中にGPLの文字がひっそりと含まれていて自爆するわけですね

189 名前:デフォルトの名無しさん [2009/06/09(火) 21:05:53 ]
ogg vorbis以外で意匠フリーでブロードキャスト向けの音声圧縮ってありますか?

190 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 21:30:33 ]
189!=186と仮定して、G.722

191 名前:186 mailto:sage [2009/06/11(木) 12:55:56 ]
結局Speex使うことにしました

192 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:55:46 ]
スペアナ作りたいですが、窓掛けしてFFTして絶対値取れば完成ですか?

193 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:03:43 ]
いや、表示せんと。

194 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 21:17:35 ]
テキストで吐けば十分
リアルタイムじゃないなら

195 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:04:34 ]
すいません。
WindowsXPでサウンドデバイスを2つ以上インストールしているマシンがあるとします。
再生デバイスと録音デバイスにそれぞれ別の物を設定しているとして、
録音デバイスから入力した音声をそのままダイレクトに再生デバイスから出力させることは
できますか?



196 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:57:27 ]
OS上の機能では無理だったと思うよ。

プログラム作っていいなら AudioIn → プログラム → AudioOut は簡単に実装できる。
まぁ、レイテンシは発生してしまうけど。

Virtual Audio Cable とか既存のツール使ったらプログラム組まなくても簡単にいけるかな。

197 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:13:37 ]
DirectXスレからきました。

DirectSound で再生しながら、
横軸に周波数、縦軸に音量を表すようなグラフを
リアルタイムで描きたいです。
とりあえずWAVを再生するところはできてるんですけど、
そのようなグラフを描くにはどうすればいいですか?

一応↓のコードを手に入れたのですが、どういうふうに使えば... ?
ttp://www5.airnet.ne.jp/tomy/cpro/sslib8.htm

198 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 17:40:48 ]
やる気がなければ帰れ。

199 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 18:21:18 ]
>>197
テストアプリ書いてデバッガなりコマンドプロンプトなりに変換結果出してみるとかやってみた?
サイン波形なりを食わしてみればすぐ理解できる

200 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 23:50:01 ]
>>197のプログラムをコンパイルするとkが初期化されてない警告が出るんですけど、
これは0 で初期化して問題ないですか?
あと、iter は何の値なんでしょうか??


201 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:53:28 ]
んー、一通り目通せばすぐ気付くだろうに、ホントにやる気ないのな

fft2(), fft2x()のjのforループでkは使われてない→たぶんコピペって k += nmax を消し忘れ
iterはループ回数の演算省略用じゃね? 0渡せば勝手に計算するようになってるだろ

202 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 23:56:30 ]
RolandのVariPhraseってあるじゃん
あれってなにがすごいの?

203 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 21:12:01 ]
>>202
当時のチップの速度でリアルタイムにピッチやらフォルマントやらを操作して、それをもとに音作りできるところ。

204 名前:デフォルトの名無しさん [2009/07/09(木) 23:57:30 ]
ケプストラムについて教えてください。

n個の時間領域のデータxn(t)をFFTし、

Xk(f)のパワースペクトルを得たとします。(k=n/2)

パワースペクトルの自然対数を取り、IFFTすると思うのですが、IFFTするには
実部と虚部の情報が必要ですよね?パワースペクトルの対数をとったら、虚部が
わからなくなってしまいますよね。
そのところでわからなくて困っています。わかる方教えてください。

205 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:15:43 ]
>>204
IFFTは別に虚部がなくてもいいです.
それとスペクトルのkはnのままでいいと思います.
スペクトルは偶関数になってるので,IFFTすれば実数成分(ケプストラム)が求まると思います.



206 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 03:03:10 ]
MMEやDirectSound対応のスペアナソフトやレベルメーターのソフトみたいな音を入力して解析してリアルタイムで表示する系統のソフトって、
半日以上とか1日とか数日とか、長時間起動してると、必ず反応がかなり遅れるようになるけど、それはなぜ?
複数のソフト、いろいろな環境で再現性があるのでOSの問題なんだろうかと思うんですが。
たとえばwavespetcraとかDeskTopLevelMeterとか、他にも山ほどあります。

207 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:25:17 ]
システム時計とサンプラ側の時計(たとえば44.1kHz)がビミョーにずれてくのかもね

208 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 15:56:49 ]
ソレ系のソフト以外でも、何でも遅くなってないか?
多分、ただのページングだよ。

209 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 16:48:43 ]
WinVista/VC++expでサウンドプログラミングをしているのですが、
リアルタイム(1バッファ遅延)に入力→加工→出力を行うAPIを探しています。
調べたところWDM?ではカーネルミキサを通す分遅延がありすぎて話にならない
ディフォルト出力ならKernel Streamingが良いと聞きました。
Win32APIのwaveXXXX関数は、関数の内容的にハードウェアに直接アクセスしてるように思えるのですが
実際のところ、Winのカーネルミキサを経由していたりするのでしょうか?


210 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:22:46 ]
「ハードウェアに直接アクセス」なんて危険なAPIは基本的に存在しない

waveIn()/waveOut()で遅延がネックになるレベルならPCでの処理は難しいと思うが、
WinAPIよりはリアルタイム処理に向いてると言われるASIO使ってみれば?

211 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:54:39 ]
CoreAudioAPI

212 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:49:41 ]
DirectX

213 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:04:27 ]
>>211
DirectXはミキサ通すはず。
>>212
VistaはCoreAudioっていうんだな。Macかとオモタ

214 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:03:48 ]
音程を変えずに速度を変える処理って、100msとかの短い間隔のかたまりで処理するタイプが定番なんですかね。
ゆっくりさせると、響いている様になってしまい良くないです。
NHKテレビで、波形の山を増やすとか言ってたが、
波形の山一個単位(一周期単位)でコピーして増やしたり減らしたりするアルゴリズムを僕は考えていたのですが、実現されていないのでしょうか。

215 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:09:28 ]
>>214
ちょうどいい間隔でスキマがうまるならそれでいいだろうよ。
どうせギャップができて似たような音になると思うけど。



216 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:25:22 ]
>>214
ピッチ検出の話になるが、ゼロクロス検出の精度が実際微妙ってことを
考えると、似たような理由で何かの障害があるんだと思うよ

217 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 10:22:13 ]
含まれる周波数の最小公倍数な周期、いわゆるf0周期が短く明確なら良好な結果になるが
が、実際の音声は周波数はおろか振幅エネルギーも
時間変動する
よってf0の定義自体がまず困難
少しでもずれがあればパルスノイズが発生(矩形窓の場合)

蛇足だか、なんだかんだで窓関数は有効だよ。
目的に応じて最適な窓関数とオーバーラップ数の設計をすればいいし

218 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 19:03:38 ]
>>214
nhkでそんな話してくれるの?KWSK

219 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 01:06:24 ]
反応速度を優先するならグラニュラー(ディレイを使ったものも一緒)
音質を優先するなら、周波数領域に変換してからリリース部なんかを中心に引き伸ばせ。

220 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:02:58 ]
ここの人たちって、お仕事はなにを?

221 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 04:29:17 ]
無職

222 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 05:37:43 ]
マ板でやれ

223 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 10:13:29 ]
自宅警備員

224 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 18:53:17 ]
音関係に詳しいから仕事もそれ関連かと

225 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 19:06:27 ]
だからなにやってんのって話だ



226 名前:214 mailto:sage [2009/08/24(月) 00:24:34 ]
なるほど、なかなか難しい訳ですね。 ありがとうございました。
>>218
昔の高校情報Aでやってました。

227 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:29:44 ]
最近の高校生は信号処理とかもするのか

228 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 01:41:47 ]
うろ覚えだけど昔工房でフーリエ変換習ってた奴もここに居たしな。

229 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:07:02 ]
高専なら普通に教えてそうだね

230 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 06:21:32 ]
証明はともかく使いかただけなら工房でも分かる罠

231 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 06:22:50 ]
は?何?それがどうした?

232 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 06:32:01 ]
なんか変なレスきた

233 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:14:29 ]
FM合成、もしくはFM変調などについて学べる書籍またはサイトは無いでしょうか?
簡単な波形合成を行うプログラムを作っているのですが、中々FMについて理解が進みませんorz

234 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 16:38:49 ]
「FM音源」と組み合わせて検索かければ解説からサンプルコード、FM音源ドライバのソースまでなんでも見つかんね?

235 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 16:57:04 ]
wikipediaで調べるといい。



236 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:18:03 ]
サウンドプログラミングに限らず、離散信号処理で辞典的役割をしてくれるもしくはできるだけ広範囲をカバーした本があったら教えてください

237 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:43:38 ]
www.google.co.jp/search?hl=ja&q=%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E4%BF%A1%E5%8F%B7%E5%87%A6%E7%90%86+%E6%9B%B8%E7%B1%8D

238 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:46:03 ]
ttp://www.seventhstring.com/
ここのTranscribe!ってソフトのタイムストレッチ/ピッチシフトがめちゃ精度良いように思うんだけど、
どうやって実現してるか先輩方わかります?

239 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:13:26 ]
そんな糞ソフトよりAutoTuneとかのほうが糞精度いい

240 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:17:06 ]
ポジティブな形容にも「糞」って付けるものなの?

241 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:21:31 ]
ワンピースみろよ。

242 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:50:04 ]
着てる

243 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:54:57 ]
ワンピース着るような清楚な女は一度も見たことないわ(清楚でなくてもだけど(ワンピース着てる奴に限ってビッチ多いらしいけど(童貞だから知らないけど)))

244 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:57:43 ]
lisp厨がきたぞー

245 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:42:23 ]
WaveOut系APIで、waveOutWriteで送った後のデータ書き換えたらマズいのかな
(waveOutPrepareHeaderで指定したWAVEHDR構造体のlpDataの参照先のデータのことね)
やってみたら一応動作はしたんだけど、これが出来るならWaveOut系APIの遅延も短く出来るよな



246 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:22:23 ]
俺もそれやった事あるんだけど、結局資料が見つからずに有耶無耶になってサウンドプログラミングやめた。

247 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 23:00:21 ]
>>245
woWriteの後はデータ管理としてはOS側だろ?
バグ作り込むようなもんだからできるできない以前にやらない
仕様として保証されていない動作に依存するようになるとデバッグが泥沼だよ

248 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:49:05 ]
Replaygainを自作プログラムに実装すべく考えているのですが
良く分かりません。教えていただけないでしょうか。

実際、色々調べてみてある程度はわかったのですが、
「Peak Amplitude」があまりよくわからなかったのと、
音量設定の単位がdbになっているので、設定の仕方が難しい、
合わせにくいというところでつまずき、そのままになっていました。

現在わかったことは、ピーク時の振幅(Peak Amplitude)、
トラックごとに音量を設定する値(Radio Replay Gain Adjustment)、
アルバム単位で設定する値(Audiophile Replay Gain Adjustment)
の3項目でタグが構成されていて、これらの値を使って音量をdb単位で調整する、
ということです。

タグの読取りはそれぞれの形式(tta,ape,mp3)で異なるが、
提供されているライブラリを使えば読取りは比較的簡単に出来る。

というところまでは行きついたのですが、
実際に読み取った値からどう処理するかが難しく、
実装するのが難しい状況です。

今考えているのが、勝手にdbの単位を独自の値に置き換えて(0dbが125とか)、
音量を調整すればいいのかも?と思っているのですが、
それにしても、ピーク時の振幅(Peak Amplitude)がよくわからないので、
どう使って良いか悩み、ここでつまずいています。

ご存じの方、教えていただけないでしょうか。

249 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 21:42:49 ]
>>248
全てはdBとリニアの変換くらいは自在にできるようにしてからだ。
Peak Apmplitudeは意味そのまんま最大振幅と思うんだが。最大はmaximumだとか言うなよ?

250 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 03:12:01 ]
dBーリニア変換

dB = 20log(A/B) log:常用対数
(パワーの場合は10log(A/B))

例)
Aが1、Bが10の時AはBに対して20dB落ち(-20dB)

上記のような比を表す他に、dBV, dBu, dBmなど、具体的な単位
(例えば1Vなどの電圧)に対する比を計算し、実際の値を表すこともある

例)
0dBm = 1 mW

251 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:45:56 ]
>>249-250
ありがとうございます。
試行錯誤してみます。

252 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 17:22:01 ]
色々な楽器の倍音構成をある程度記載したサイトもしくは書籍などないでしょうか?
ピアノについては見つけられたものの、そのほかの楽器が中々見つけられません

253 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 19:15:25 ]
Peak Apmplitudeについても、何となくわかりました。
曲によって振幅が違うから、その状況を表しているんですね。
それにしても、何故「1」が最大値なんでしょうか。
「1」の基準は何でしょうか?

質問ばかりで申し訳ないのですが、ご存じの方教えてください。
よろしくお願いいたします。

254 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 19:24:26 ]
少しは自分で考えないと相手にされないよ
もうされてないと思うけど

255 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 03:19:10 ]
>>252
自分でスペアナ通せよ。

>>253
Maxが100%=1だと計算しやすいから。



256 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 04:00:30 ]
>>255
本当にありがとうございます。

257 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 14:23:14 ]
適当なGM音源モジュールを買ってMIDIで鳴らして録音
リアルな音じゃなくても、倍音構成を調べるくらいには使えるんでない?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<74KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef