Linuxを中心とした話題を投稿予定。 使用ディストリビューションであるFedoraが中心になると思われます。http://oedipa.wiki.fc2.com/にてTips Wikiを公開してます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
C#版WAVEファイル読み出しライブラリ作成
そろそろ研究用のプログラムを作っていかないとまずいという事実に気がついてしまったため、固定小数ライブラリはひとまず置いておくことに。
昨日のポストで「符号部1bit、整数部11bit、小数部12bit」を目指す、としていたんですが、これは大きな勘違いでした。少なくとも、今の実装(32bit整数型を小数として扱う)では乗算でほぼ間違いなくオーバーフローしちゃいますね・・・。これじゃ誤差どころの話じゃなくなっちゃう;;
乗算でもそれなりの精度を保持したいなら、整数部と小数部で別々に計算して加算し、外向きには固定小数に見せかけるとかの方法がありますが・・・、また内部ロジックを考え直さないと行けないので後回しですね。
つーわけで今日は以前C++で作成したWAVEファイル読みだしライブラリをC#へ移植しました。
の、つもりでしたが、全面的に書き換えちゃいました(てへっ
まぁANSI C++ってのと.NETのC#ってのではバイナリファイルの扱い方とかに差が出ますからねぇ。ANSIにない便利機能は使っていきたいところですし。 C++版にも逆移植はするつもりですが。
とりあえず読み出しは完成したので明日以降はいよいよロジック部分ですね。とりあえずは畳み込みかな。これをもっとスマートに書きたいんだよなぁ・・・。実機移植を考えないなら間違いなくサイクルバッファを実装するんだけど・・・、昔実装したものをもう一度見て書き直すか。あの頃に比べたらC#もだいぶ分かってきたし。
ま、サイクルバッファだろうと見た目ただの配列として使えた方がいいからなぁ。プロパティは必須か。探せばありそうではあるけれど、軽く探して見つからなかったら己で実装かな。教授の春巡業が終わるまでにシミュレータは完成させたいのぅ。
関連記事
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。