SSブログ

SmileSoundで音の処理が重いので音の周波数を下げて軽くした。 [ds-DCCデコーダ]

 さて、SmileSoundデコーダですが、音の処理が重いから発熱が結構あるという話が続いており、For文を減らした次の策として、今度は音のサンプリング周波数を44KHzから32KHzに下げました。音悪くなんじゃないの?という話はありますが、ベンチマークにしているEsuのLokSound5も31.25KHzとのことで、問題なさそうです。
 で、今まで音の内部処理は44.1KHzでやっていましたが、32KHzに変更して、それに合わせて数か所プログラムを変更して、どの程度処理が減ったかを確認しました。
 結果は以下のグラフで、32k_12音が追加したものです。処理時間はほぼ変わっていません。
(データ数が一緒なので変わるわけないですね。考えると・・・。)
Sound処理時間_K1.png

 ただし、1周期の4096データ時、いままで1サイクル90.6msだったのですが、これが126msに変わりましたので、CPUの占有率は減っています。処理時間は同等なので、占有率としては、90.6ms/126ms=71.9%のため28%処理が減っています。
 あと・・・、ちょっと一個、ミスっていた場所があって、32kHzに直していて気づいたのですが、実験で使用していいた音源のサンプリングビットがunignedの8bitでした。(処理が軽い)。こんど、ちゃんとsigned 16bitで確認します・・・。
 以上です。


コメント(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。