mobilesynth C# port (is not working)

| No Comments | No TrackBacks

iPadが出て、知人が無駄に見せてくれるというので、じゃあそれまでにMonoTouchを使って何かアプリを作ってやろうと思って、音を鳴らすおもちゃを何か作ってみようと考えた。考えたのだけど、CocoaTouchはMIDIすらまともに鳴らせないプラットフォームなので、音を鳴らすことすら望みどおりに行えない。仕方ないので、既存の音声合成ライブラリを使おうと思い至った。Objective-Cで書かれているものであれば、btouchというツールを使って、ちょっとIDLのようなインターフェースを書くだけで使うことができるし、Cで書かれたものであればP/Invokeすれば良い。

というわけで探してみて、最初に出てきたのがMobileSynthというアプリケーションのコードだった。これは実のところ今は作者が自らAppStoreに登録しているわけではないようだが、iPhoneでは無事動かすことはできた。しかしソースコードがC++だったので、このままでは使えない。というわけで最初Objective-Cのラッパーを作ろうとしたのだけど、ソースをよく見てみたら、コード量はたかだか数百行のソースが十数ファイルあるだけだ。というわけで、ざっくりとそのままC#に移植してみた。 http://gist.github.com/418212

これにはあくまで音声合成の機能しか含まれていないので、iPadでは、合成した音声はCoreAudioの機能を使って再生してやらなければならない。他にもいろいろパラメータを設定してやらなければならないので、最低限のパラメータコントローラーを実装したUIを作って鳴らしてみることにした。 http://dl.dropbox.com/u/493047/2010/iPadTest3.tar.bz2

といっても、やっていることはmobilesynthの縮小再生産のようなもので、今のところほぼ存在意義がない...どころか、どうもmobilesynth portがうまくいっていないのか、使い方が良くないのか、期待している通りの音が出ない。音声モジュールはUIのおまけにすぎない予定なので、ここに深入りするかどうかは未定だ。本当に作りたいものは、こういうおもちゃではないし、iPad版はandroid版に向けての単なる踏み台にするつもりでいる。

No TrackBacks

TrackBack URL: http://veritas-vos-liberabit.com/noteon/mt-tb.cgi/112

Leave a comment

About this Entry

This page contains a single entry by note on published on June 5, 2010 3:11 AM.

mugeneの最適化 was the previous entry in this blog.

slmmltouch (slmml port, not working either) is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.23-en