2011年3月17日木曜日

今、やるべき事(チャリティをします)

 macbookを修理している間にblogの更新は頻繁に行う予定でした。
しかし、東北の大地震の発生後は、電力、ネットワークトラフィックを無駄に増やさないように、ラップトップの使用を2、3日停止していました。その後は、修理後のmacbookを受け取り環境構築を行い、プログラミングも開始しています。プログラミングは余計なことを考えずに済み落ち着いていいのですが、blogの更新は自分のすべきことを明確に決めたかったので遅くなりました。

まず、チャリティを行います。内容は現在僕が唯一AppStoreで販売しているMIDIシーケンサーアプリのmidif0nの1アプリあたりの売り上げから100円を寄付することにします。これは売り上げ金額の8%ぐらいの僅かなものですが、微力ながら被災者の方々に貢献したいと思います。期間はまだ決めていませんが、3/11の売り上げからカウントし、3ヶ月以上になると思います。寄付先は信頼できるところから選びます。

それから今回の一連の災害により、あらゆる分野において省エネ、携帯性がより重視されるのは確実です。そして、幸いにも僕はその条件を満たす、モバイル機器重視で開発を行っています。ですので、僕ができることは、ラップトップの代替と言わずとも、ある程度の仕事を携帯機でもできるように、より良いアプリを作る事だと考えています。そうすれば、少しは省エネに貢献できると思います。

ちなみにバージョン1.4でまた音源に手を加えます。理由はまた別途書きます。

2011年3月9日水曜日

midif0n バージョン1.3 スクリーンショット集

以下、midif0nのバージョン1.3のスクリーンショットです。

メイン画面、上下が入れ替わっています

トラック15のコード設定画面(1ページ)

コード設定画面(2ページ)、配置は適切?

フレーズ読み込み画面 
メモリを減らす要素がまた増えることに

楽器のカテゴリで並び替えた場合

ダイアトニックコードとフレーズを適用した結果

コード、スケールガイド
上は、キーがD, コードがAm7の場合

バーの近くで、タップダウンすると直入力

そのままドラッグで、ゲートタイムの変更も可能

リピート編集
ノート、休符、タイなどごく基本的な編集に対応

フレーズ読み込みは11-15&ドラムトラックのみ

フレーズ保存は、4/4で4小節まで
ルートがCでない場合、ルート指定をして下さい

midif0n バージョン1.3 Ready for Sale

3/7付けでmidif0n バージョン1.3がReady for Saleになりました。変更点は前のエントリを参照して下さい。

一度アップしてから何回か自らリジェクトして修正を行いました。前の変更内容一覧の追加点として、amp表示を修正してあります。

残念ながら、今回リリースしたバージョンに関しても既に問題点(主にギターのストロークモード)が何点か確認できました。リリース前であれば修正しますが、今回は予想よりも
リリースが早かったため、既知の問題には目を瞑って下さい。
また、開発のmacbookを修理に出す事に決めたので、しばらく修正はできません。これは致命的なバグに関しても当てはまるので、あらかじめご了承お願いします。


2011年3月6日日曜日

midif0n バージョン1.3 審査待ち

長らくお待たせしました。midif0nバージョン1.3をアップしました。

以下、バージョン1.3の内容です。
  1. コード設定可能に(15トラック)
  2. フレーズ機能を追加(11−15&ドラム トラック)、フレーズファイルの読み書きにも対応
  3. メイン画面でタッチ操作によるノート、フレーズの入力に対応
  4. 基本的な編集がリピート再生中にできるように改善(リピート編集)
  5. 編集モードを上書き、置換の2つに簡素化
  6. トップメニューの表示位置を下に、情報関連を上に位置変更。それに伴い、トップメニューをファンクションメニューに名称変更。
  7. 入力インターフェースのスケール、コードガイド機能
  8. スクロール方式の変更(再生時は固定化)
  9. 出力MIDIフォーマットをSMF0に変更(より正確にはXFフォーマットで、その規定に準拠)
  10. その他の修正(バグ修正、細々とした修正)

バグ修正
  • メトロノームのプレビューで落ちるバグを修正
  • 音量エンヴェロープ再修正(Attack, Decay, Releaseの音量カーブ修正)
  • ファンクションメニューのオクターブ変更で状況によって落ちるバグを修正

改善点
  • ベロシティ編集がタップでできるように
  • ファイル名、フレーズ名の表示に対応(一時ファイルはtempと表示)
  • 組み込みのリソースファイル(MIDIデモ、テスト用のフレーズファイル、壁紙ファイル)のコピーの有無を設定可能に

コードに関しては、現在15トラックを使用していますが、これはあくまで暫定的なものでこのまま確定するかどうかわかりません。リピート編集を入れて、今後これを発展させると現状のUIのままで納めるのが難しくなると考えています。必要に応じて別画面にする等の対応を採るかもしれません。

XFフォーマットについても同様のことが言えます。基本的にコード情報のためにこのフォーマットを用いていますが、編集に必要なパラメーターを効率的に保持することを考え、必要があれば、別フォーマットに切り替える可能性があります。ただし、その場合でも基本的にSMF互換フォーマットという形を採用する予定です。また、出力フォーマットがどうであれ、XFの読み込みには対応するつもりです。


落ちるバグに関しては、いずれもここ2、3日で見つけたものばかりです。そのため緊急修正リリース扱いにはしていません。

このバージョンでカレントノートの概念を削除しました。それに伴い、ノートベロシティオフセットの機能を消しています。

オプション項目が増えてきたので、次のバージョンからアマチュア、プロフェッショナルモードを設けて機能の切り分けを行いたいと考えています。

2011年3月3日木曜日

iPad版GarageBandとiOS4.3の感想

 midif0nのVersion1.3のリリースですが、お待たせしていて申し訳ありません。実装が落ち着いてきたので、今週末にはアップできると思います。インターフェース、ファイルフォーマット、機能追加とかなり広範囲に渡って低レベルな部分から変更していましたので時間がかかってしまいました。もちろんバグも何点か直していますが、変更に伴い新しいバグが発生する不安もあります(単体テストgoogletestは結構かけているのですが、まだまだ足りていないので)。

いろいろ書きたかったニュースはあるのですが、iPad版GarageBandとiOS4.3の発表は今後の開発に大きく影響するので、即取り上げておきます。

まずはiPad版のGarageBandですが、Apple Special Event のビデオ(GarageBandは47:30から)を見るとわかりやすいでしょう。第一印象は様々な楽器のインターフェースがあり楽しそう&安い($4.99)です。ヴェロシティは加速度計(accelerometer)で対応しているようですが、ビデオで見る限り不自然な操作に見えません。オルガンのインターフェース(ドローバー、ロータリースピーカーの操作も可能)があるのは、オルガン好きとしては嬉しいところです。iPadのタッチインターフェースを最大限に生かした作りにしている点は、Appleのしっかりしているところだと思います。ビデオで分からなくて気になっているのは、ソフトウェア音源のピアノロール編集の操作部分です。
GarageBandがこの品質と値段で発表されたことで、今後iPadで音楽アプリのビジネスをするのは大変そうに感じます。僕としては、iPhone版が先に出てくると思っていたのですが、それは今後に期待しましょう。何にせよ、ますますしっかりしたアプリを作らなければいけないと気が引き締まる内容でした。

iOS4.3は機能はあらかじめチェックしていましたが、大事なことを見落としていました。それはiPhone/iPod touchに関しては3世代以降しかサポートされない点。何度か書いていますように、僕の開発環境はTouchの2Gですから切り捨てられた訳です。まあ開発においては、Appleが下位互換性を正しく維持すると想定して、実機チェックを外すだけで取り立てて問題になることはありません。しかし、個人的な感覚で言えば、サポートを切るのが早すぎるように感じます。まあ、CoreMIDIのサポートが2世代を含んでいてくれて良かったと思うことにしましょう。