Cross-Platform · Audio DSP
PocketTune — Game Boy DMG-01 互換サウンドエンジン
iOS / Android 両プラットフォームで個人開発した、Game Boy DMG-01 互換のチップチューン音楽トラッカー。要件定義から音源エンジンの実装、ストアリリースまでを一人で完結させたプロジェクト。
プラットフォーム
iOS / iPadOS / macOS (Apple Silicon) / visionOS / Android
言語・技術
Swift / Kotlin / AudioTrack / AVAudioEngine
対応言語
日本語、英語、中国語(簡体・繁体)、韓国語、スペイン語 — 計 6 言語(iOS 版)
課金モデル
Free / Premium(買い切り $4.99)
担当範囲
企画・設計・実装・UI・ローカライズ・ストア申請・運用(全て一人)
プロジェクト概要
PocketTune は、スマートフォン上で Game Boy DMG-01 互換のチップチューン音楽を制作できるトラッカー型シーケンサーです。タップ操作だけで本格的なチップチューン作曲ができるよう設計し、ファミコン世代のレトロサウンド愛好家から、これから音楽制作を始める初心者まで使えるように作られています。
スマホ向け音楽制作アプリの大半はピアノロールベースの DAW 系で、トラッカー形式に特化した、しかもチップチューンに焦点を絞ったアプリは非常に少ない——この市場の隙間を狙いつつ、個人開発で 8bit サウンドエンジンを実装するという技術的挑戦を兼ねたプロジェクトです。
技術的な難所
「動くプロトタイプ」ではなく「ストア配信できる完成品」にするには、いくつかのハードルがありました:
- リアルタイム多チャンネル音声合成:4 チャンネル(パルス×2、トライアングル、ノイズ)を同時に走らせ、ユーザー入力に対して遅延なく音を出す
- クラシックなチップチューン特殊効果の DSP 実装:アルペジオ、ポルタメント、ビブラート、ボリュームエンベロープ、デューティサイクル変化、ピッチベンド——これらを数値計算ベースで再現する
- トラッカー UI のタッチ最適化:本来 PC キーボード向けに発達した縦書き音符配列を、スマホの指操作で扱えるよう再設計
- クロスプラットフォーム展開:同じ仕様を Android (Kotlin) と iOS (Swift) のネイティブ実装で揃える
- WAV ファイルエクスポート:内部合成した音を高品質な WAV として書き出すパイプライン
主要な技術判断
1. クロスプラットフォーム fw ではなく、両プラットフォームともネイティブで実装
Flutter / React Native でのクロスプラットフォーム実装も選択肢でしたが、リアルタイムオーディオでは OS 固有 API に直接アクセスする必要があり、抽象化レイヤーを挟むと低遅延での再生が難しいと判断。Android は Kotlin + AudioTrack、iOS は Swift + AVAudioEngine でそれぞれネイティブ実装しました。結果として、音響の質と応答性を両プラットフォームで揃えて担保できています。
2. Game Boy DMG-01 のアーキテクチャに倣った 4 チャンネル設計
音源エンジンは Game Boy DMG-01 のハードウェア仕様を参考に、4 チャンネル構成としました:
- Ch.1 / Ch.2:パルス波(メロディ・ハーモニー)
- Ch.3:トライアングル波(ベース・低音)
- Ch.4:ノイズ(ドラム・パーカッション)
PCM レベルで波形を生成し、各チャンネルの音色エンベロープを独立に制御。レトロゲーム機特有の 「制約があるからこその表現力」 を再現しています。
3. プリセットパターンで初心者の学習コストを下げる
トラッカー形式は表現力が高い反面、ゼロから打ち込むのは学習コストが高い。これを越えるため、ドラム・ベース・コード・アルペジオ・メロディの 5 カテゴリーで計 16 種類のプリセットパターンを内蔵。組み合わせるだけで楽曲が完成するように設計しました。表現の自由度と取っ付きやすさのトレードオフを、初期コンテンツの作り込みで解決した形です。
4. 課金モデルは「サブスクなし、買い切り」
Premium 機能(WAV エクスポート無制限・広告非表示)の収益化は、月額サブスクではなく $4.99 の買い切り にしました。本アプリのユースケース(趣味の楽曲制作)とユーザー層(個人クリエイター)に月額課金は心理的に重く、買い切りの方がコンバージョンが取りやすいと判断したためです。Google Play Billing と StoreKit、両方の API でこのモデルを実装しました。
クロスプラットフォーム展開
Android 版を先行してリリースした後、iOS 版を立ち上げました。Android で固まっていた音源エンジンのアルゴリズム、UI 設計、課金モデルがそのまま再利用できたため、iOS では実装フェーズに集中でき、要件定義や設計の手戻りはほぼなしでリリースまで到達できました。「複数プラットフォームを一人で持つ」体制の強みが出た部分です。
iOS 版は単一バイナリで iPhone / iPad / macOS (Apple Silicon) / visionOS に対応。6 言語のローカライズも実装しています。
結果
- Google Play / App Store の両方でリリース完了
- Android / iOS 共通の Premium IAP(買い切り)を実装
- 6 言語の i18n を実装し、海外ユーザーにも対応
- iOS 版は iPhone / iPad / macOS (Apple Silicon) / visionOS の単一バイナリ対応
What this project demonstrates
このプロジェクトで証明できること
- iOS / Android のネイティブ両方を一人で設計・実装・運用できる
- リアルタイムオーディオ・DSP 等の低レイヤー領域に対応可能
- アプリ内課金実装の経験(Google Play Billing / StoreKit の両方)
- 多言語対応を含む国際化設計の経験(6 言語)
- 企画・UI 設計・実装・ストア申請・運用までを完結させられる