YouTubeでドッキリ動画を見たんです。歩く時にイカルドの足音が鳴ったり、運動中に関節がギシギシ鳴る音を出して周りの人を困惑させるやつ。それを見て「これアプリにしたら面白そう」と思いました。
というわけで作りました。Koforawalk。
どう動くかというと
Apple Watchの加速度計とジャイロスコープのデータを分析して、歩きと走りを検知します。検知するとあらかじめ保存された音が再生されます。イカルドの足音、キュッキュッ、シュッシュッみたいな音です。
自分で音を録音して保存することもできます。オリジナルの音を作って友達をからかえるわけです。iPhoneとApple Watch間でリアルタイム同期されるので、ウォッチだけで使うことも、iPhoneと一緒に使うこともできます。
大変だったこと
Apple Watch開発は思った以上に違います。iOSアプリとは構造が異なり、制約も多いんです。
歩きと走りの区別が難しかった。 加速度計データだけでは不十分で、ジャイロスコープデータも組み合わせる必要がありました。Core Motionフレームワークで両センサーのデータを統合したんですが、最初は敏感すぎるか、逆に動いても反応しないかのどちらかでした。閾値の調整を何度もやり直しました。
遅延も問題でした。 動きを検知してから音を再生するまでにラグがあると、完全に違和感が出るんです。Apple Watchはバッテリーと性能に制限があるので、効率的なアルゴリズムが必要でした。
音声再生はAVAudioPlayer、録音はAVAudioRecorder、iPhone-Watch同期はWatchConnectivityフレームワークを使いました。
現在の状態
App Storeに公開済みです。動き検知、足音再生、カスタム音録音、iPhone-Watch同期まで全部動きます。
ただ正直、動き検知の精度向上、サウンドエフェクトの追加、ユーザー設定あたりはまだ足りていません。完成度が高いとは言えませんが、Apple Watchアプリを実際に作ってストアに公開した経験自体はかなり価値がありました。少しずつ改善していく予定です。
KoforawalkアプリはApp Storeからダウンロードできます。