バスレフ研究所 Personal Audio Laboratory mcap.exblog.jp

工学オーディオに取組むオカルト嫌いです。


by MCAP-CR
プロフィールを見る
画像一覧

<   2014年 12月 ( 7 )   > この月の画像一覧

来年の素材

MCAP-CR、ダブルバスレフ、バスレフなど、複数ケースの力学的シミュレータをリリースしました。
ドキュメントは、まだ英語版だけですが...
日本語版を作ろうとして、文字入力→変換の面倒さに挫折しました...
日本語版ドキュメントもそのうちリリースします。
↓難しいことは書いていないので、とりあえずご使用ください。
http://mcap.web.fc2.com/software.html
いままでに、ダブルバスレフで使用できるシミュレータにいいものがあったかどうか知らないのですが、これは、結構使えると思います。
箱の容積比率を少しずつ変えたり、ダクトの面積や長さを少しずつ変えたりして、適切な設計ポイントを探します。
そういう用途にはピッタリです。
やってみると、ダブルバスレフは、方式そのものに無理がありそうです。
やっぱり空気室とダクトの自由度の高いMCAP-CRのほうが有利そうです。

それはさておいて、来年のスピーカーユニットの素材には下のものを選びました。
a0246407_8572719.jpg

前回に続いて秋月電子で購入です。
8cmで、1個300円ですが、ペア500円です。
これを8個、合計2000円です。
前回の200円のものは店舗から見えなくなっていました。
誰か買い占めたかな?

しかし、前回もそうでしたが、今回のものも、フレームに難があります。
a0246407_8595218.jpg

隙間がないように作成するのは困難そうです。
さてどうやって克服するか。

皆さん、よいお年を!
[PR]
by mcap-cr | 2014-12-31 09:03 | オーディオ一般 | Trackback | Comments(2)
みなさんいかがお過ごしですか?
ブログの更新はいつも通勤中です。
シミュレータプログラムの更新も通勤中にやっています。
なかなかまとまった時間がとれないですね。

さて、CUIバージョンですが、現在改変が進んでおり、複数の条件でシミュレーション結果が比較できるようになりました。
a0246407_6475619.png

この結果、箱の容量を少しずつ変えたり、バスレフダクトサイズを少しずつ変えたりして、比較するのが容易になりました。
もう少し改善してリリースする予定です。
ダブルバスレフにも(シングルバスレフにも)使えるので、結構役立つと思います。
上のグラフは、改変中のシミュレータでシミュレーションした結果例です。
[PR]
by mcap-cr | 2014-12-25 06:51 | プログラミング | Trackback | Comments(0)
私は、このブログを、多自由度バスレフ研究ウェブサイトの補助的な日記として利用しています。
ウェブサイトのほうでは、現況とはあまり関係なく、一般的なことについて書くよう、ある程度区別しています。
ですから、ブログと関係なく、ウェブサイトもときどき更新しています。
このところ何回か更新しましたので、たまには覗いてやってくださいね。

それと、今年も研究会(会員の資格必要なし)の忘年会をしようかと思っていますので、ご希望の方はご連絡ください。メーリングリストに登録されている方は、そちらから、それ以外はことらからでOKです。
[PR]
by mcap-cr | 2014-12-17 06:49 | オーディオ一般 | Trackback | Comments(0)
前々回、シミュレータのマイナーチェンジにバグがあると書きましたが、
バグではなかったようです。
不自然な設計の値を入れると、モデル式が対応できず、発散してしまったりします。
今回の問題は、まさしくこの点が問題の原因でした。
計算の解像度を細かく設定し直したら、計算できました。

ただ、新たな疑問が湧き上がりした。
解像度をどんどん高めていくと、高域側(200~400Hz)のゲインが変わります。
こういう問題は、数値解析にはつきものです。
安定した結果を出すためには、現在の倍精度から更に有効桁数を増やしたりしなければいけないのかもしれません。
有効桁数を増すと、計算時間が長くなります。
今回プログラムを見直して実行速度を改善したのですが、別な問題が出るかもしれません。
[PR]
by mcap-cr | 2014-12-15 12:38 | プログラミング | Trackback | Comments(0)

なぜC言語なのか

私は、バスレフのシミュレーションプログラムを、C言語で書いています。
C言語は1970年代に生まれた古いプログラミング言語で実績は多くありますが、古いため、今はさほど人気はないようです。
では、なぜC言語を選んだのか考えてみました。


(1)コンパイラが無料で手に入る
当初はさらに古いFORTRANで書こうと思っていましたが、適切なコンパイラが見付かりませんでした。
今は、GCCにもFORTRANが含まれていますが、当時は気付きませんでした。
(2)ウェブ上に情報がたくさんある
これはプログラミングを学ぶ上で重要なことです。
その前にもCに関する書籍2桁冊は購入していると思いますが、書籍ではなかなか難しいところもあります。
ウェブでは知りたい情報がピンポイントで選べるところがメリットでしょう。
(3)少しだけ知っていた
少しでも知っていると始めやすいものです。
(4)他の言語をあまり知らない
比較的知っていたのは、古いBASIC、FORTRAN、EXCEL VBAといったところでしょうか。
Visual BasicとかVisual C++, Borland C++でも調べながらできない訳ではないのですが、あまりひとつのプラットフォームに依存するのもどうか、と。


C言語は、ハードウェアに近い言語と云われ、ハードを直接操作するのに強みがあるどうですが、自分はそういうことは全くできません。
計算だけならFORTRANのほうがよさそうですが、Cで書いてみると、記述のしやすさは大して変わらないように思います。
自分のプログラムは、Cの能力の1パーセントも使っていませんが、それで知りたいことが計算できててしまうのが強みです。
五十の手習いですが、始めるのに遅すぎることはありません。
研究会にプログラミング分科会をつくるとか....無理そうですが。

さて、今年も忘年会か新年会をやりたいと思っています。
あとで、メーリングリストで連絡します。

最後に、
必ず投票に行きましょう!
投票先は、マスコミに操作された情報に惑わされず、自分で選びましょう。
マスコミは基本的に自分の都合で記事を作るので信じてはいけません。
C言語では儲からないのでプロモートしないのと同じです。
自分の目で選んで日本を創っていきましょう。
[PR]
by mcap-cr | 2014-12-12 06:57 | プログラミング | Trackback | Comments(2)

なかなか進まないデバグ

公開済みのMCAP-CR型バスレフシミュレータプログラムのデバグに取組んでいますが、調子が悪くなると一向に進みません。
計算プログラムのデバグの一般手法は分かりませんが、たぶん、自分がやっている手法はあまり変わらないでしょう。
計算プログラムのデバグで、最も重要なのは、次の計算プロセスに対して意図した数値が渡されているか、ということです。
初期の設定値を元に、単純計算を実施し、その結果を次のステップに渡す、このような単純な繰り返しがプログラム計算だと思っています。
プログラムにする場合には、ステップ数が多いので、手計算だけで検証できることは必ずしも多くはありません。
そこで、途中で、中間計算値を、デバグ用ファイルに書き留めるコードを書き入れます。
そして、その計算値が渡された先で、正しく受け取ってるか、その値も書き留めるコードを書き込みます。
たとえば、
a0246407_12273077.png

(Excite Blogでは、Cプログラムを文字のまま書いても何故か正しく表示されないバグがあるようなので、画像にしました)
のようなコードを延々と追加してゆき、実行の都度デバグログに目を通します。
これで解決できるバグも多いのですが、何故か良く分からないものもあります。
特に、if文が多いと、その計算がどういう条件の場合なのか、良く分からなくなります。

そもそも、自分が使っていたプログラムうに何故今頃良く分からないバグが出てくるのか、それも分かりません。
頭をひねりますが、素人プログラマの自分には、まだまだ乗り越えなければならない壁があります。

追伸:
今、構想している次期の作品は、メカニカルマトリックス共鳴管で、三分割、全部繋げると3mとなるものです。
変わるかもしれませんが。
スピーカーユニットは、秋月の300円のものを使おうかと思っています。
さてどうなるでしょうか...
[PR]
by mcap-cr | 2014-12-10 06:59 | プログラミング | Trackback | Comments(0)
このところずっとシミュレータプログラムを修正しています。
先日、少し変わった構造の多自由度バスレフ用シミュレータの第一版を終えたので、調子が良くなったと思っていました。
ここに来て、バグが修正できずにいます。
すでにリリースしているプログラムに大きなバグはないと思っていましたが、ときどき、予想外の結果が出ます。
予想外とは、微妙に違うとかではなく、質点の変異が計算できているのにDFTに値が正しく渡されていないとか、すぐにおかしいことが分かるものなので、混乱するということではないのですが、気になります。
それに、いずれは、複数のシミュレーションケースを一括して計算出力したいと思っていました。
多自由度バスレフは、設計の自由度が高いのですが、自分の場合、試作する訳にはいかないので、できるだけ、シミュレーションでピンポイントに、設計を決めたいと思っています。

あと少しで、修正版をリリースできると思います。
CUI版ですが。

GUI版は、Qtが買収される度に変わるので最近は触っていません。
とは云っても、Visual C++とかでは、Linuxで使えないので手を出す予定はありません。

買収されないIDE(Integrated Desktop Environment)は出ないかな?
[PR]
by mcap-cr | 2014-12-02 06:45 | プログラミング | Trackback | Comments(0)