コーディングゼロ。構想からビルドまで2時間。Antigravityと作った「本格ギターシーケンサーアプリ」

システム開発未経験者がAntigravityとGemini、Monacaを使い、コードを一切書かずに2時間(計4時間)で本格ギターシーケンサーアプリをビルド。実機でのドラッグ&ドロップ対応や、OfflineAudioContextによる音詰まり解消など、AI開発の裏側を公開します。

コーディングゼロ。構想からビルドまで2時間。Antigravityと作った「本格ギターシーケンサーアプリ」

1.導入

データ分析やDX推進/顧客折衝などシステム開発現場未経験の私が、生成AI(Antigravity と Gemini)との対話のみで、 しかし今回、プログラミングのコードを一切書かず、スマホで動く本格的な音楽アプリを開発し、ビルドまで完了させてしまいました。

非エンジニアよりの私が、AIとペアプログラミングを行い、パフォーマンスの壁を乗り越えたのか。その技術的な裏側をシェアします。

2.きっかけ

開発のきっかけは「妻の一言」

きっかけは、楽器が弾けない妻からの「バンドの曲を作ってみたいんだけど、直感的に使えるいいアプリない?」という一言でした。

既存のDAW(作曲)アプリは無料版だと機能制限が多く、有料版でも最低限の音楽理論や経験値が必要で、端末のスペックも求められる。 「ブロックを並べる感覚でコード進行が作れて、そのまま歌も録音できるアプリがあったらいいのに…無いなら作ってしまえ!」と思い立ったのが始まりです。

「思いつきから1〜2時間でサクッと実装したい」(というより連休中の貴重な時間を使いたくない!)と思ったため、最初からAIをフル活用する前提でスタートしました!

3.アプリの概要

どんなアプリ

エントリーモデルのスマホでもサクサク動く「Guitar Sequencer」です。

開発環境「Monaca」で構築中のギターシーケンサーアプリと右側プレビュー画面

ドラッグ&ドロップでコードを並べるエディタ画面。ダークモードにも対応しています。

主な機能

1.直感的なUI: 音楽の知識がなくても、ブロックを配置する感覚でコード進行を構築。

2.多彩な音色とリズム: Web Audio APIでリアルタイム合成する「アコギ」「ファズ」など10種以上のギター音色と「ロック」「ジャズ」などのドラム音色。 「アルペジオ」「8-beat」「16-beat」などの20種のギターストロークパターンやベースの「ウォーキング」「ルート」「オクターブ」などのパターン、 「四つ打ち」「HIP HOP」「Shuffle」などの12種のドラムパターン。FillやTie、N.C.などのツール機能も実装。

3.マイク録音/出力機能: 自分の歌声を伴奏に重ねて録音し、WAVファイルやPDFコード譜として書き出し可能。

4.弾き語りサポート機能: ギターTAB譜の自動生成、歌詞の挿入、自動スクロール、カポタスト時/キー変更時のエディタ自動反映なども可能。

たった4時間の開発プロセス

今回の開発フローと技術スタックは以下の通りです。

フロントエンド: HTML / CSS / Vanilla JS (動作の軽快さを優先しフレームワーク不使用)

オーディオエンジン: Web Audio API (重い音声ファイルは使わず、オシレーターで波形をリアルタイム合成)

検証・ビルド: Monaca (Apache Cordova)

セクション1にドラム、ベース、メロディのパートを追加して編集するギターシーケンサーアプリの操作画面

Antigravityに自然言語で要件を投げ込み、Monacaで即座に実機プレビュー。

前半2時間:Antigravityによる爆速プロトタイピング
Antigravityに「ドラッグ&ドロップでコードを並べるシーケンサー」という要件を自然言語で投げ込み、ベースのUIとオーディオロジックを一気に生成。そのコードをMonacaに貼り付け、手元のスマホで検証しながらチューニングし、あっという間にデバッグ用の .apk ビルドまで到達しました。

後半2時間:GeminiでのUIブラッシュアップ
Antigravityの利用回数制限に達してしまったため、別アカウントの Gemini にコードを引き継ぎました。「iPhoneのブラウザでも動くWebアプリ(PWA)化」「再生時のレンダリング機能」「曲テンプレートの実装」「FillやTieなどのツール機能の実装」など細かい仕上げを行い、計4時間で完成です。

4.ぶつかった壁

Web上で音声を扱う場合、特にモバイル端末特有の「沼」がいくつも存在します。 今回は「AIに丸投げ」するのではなく、人間側(私)がアーキテクチャのアイデアを出し、AIに実装させるというアプローチを取りました。

1.スマホでHTML5の Native Drag & Drop が動かない問題
PCでは動くドラッグ&ドロップが、スマホ実機では全く動きませんでした。
解決策: AIの分析により「HTML5のdraggableはタッチイベントにネイティブ対応していない」ことが判明。提案に従い、タッチ操作をD&Dイベントに変換するPolyfillを導入し、スクロールバグを防ぐ preventDefault 処理を組み込みました。

2.リアルタイム合成によるCPUスパイクと処理落ち
最も苦労したのがこれです。6弦分の和音とドラムパターンを for ループでリアルタイム計算し、エフェクトに繋ぐと、スマホのメインスレッドがブロックされ、音が途切れたりUIがフリーズしたりする事態に。


解決策: 「再生時に毎回計算するのではなく、事前レンダリング機能を入れて、音データをキャッシュできないか?」と私から提案。 AIが即座に OfflineAudioContext を用いた事前レンダリング機能を実装してくれました。これでどれだけ音を重ねても完璧に動作するようになりました。

3.止まらない「ゾンビ・ノード」問題
再生を停止しても、未来にスケジュールされたドラムのノイズバッファがOSのオーディオルーターに残り、永遠に鳴り続けるバグが発生。


解決策: 各ノードを個別に stop() するのではなく、マスター出力の手前に GainNode(マスターゲイン)を噛ませ、停止時に gain.setValueAtTime(0) と disconnect() を発火させて、回路ごと物理的にパージ(切断)する設計に変更しました。

今後の展望

今後はMonacaでのキーストア設定などを行い、Google Play Store および App Store への正式リリースを予定しています。 コーディングスキル無くてもアプリ開発できちゃうじゃん!という自信が湧いてきたので、まずは自分が使いたいアプリをどんどん開発していきます。

終わりに

今回の経験で一番強く感じたのはこれです。

「コーディングスキルがなくても、要件定義とアイデアさえあれば、AIの力で0からアプリを実装できる」

重要なのは、「ドメイン知識(今回はギターの音楽理論)」と、「ボトルネックに対するアーキテクチャの提案(レンダリングやキャッシュ)」は人間が握っておくことです。

実際に使う人の要件、使い方、使い勝手を考えて、それをAIに伝えることが大事です。 実装の泥臭い部分はAIに任せ、人間は「どう使いたいか」「どう解決するか」のディレクションに徹する。 これが現代の開発の最適解の一つだと感じました。

「こんなツールがあればいいのに」というアイデアがあれば、ぜひ皆さんもAIを相棒にして実装してみてください!

MEMBER / ライター
メダル
メダルシステムエンジニア / アヴァント株式会社

アヴァント株式会社に2020年1月に営業職として入社。1年後にエンジニアへとキャリアチェンジし、営業経験を活かしたマーケティングのデータ分析案件を経て、現在はDXエンジニアとして活動しています。 現在の主なミッションは、様々な企業に向けたDX推進、AI導入、業務効率化の支援です。また、社内の情シス業務や複数プロジェクトのマネジメントに加え、新卒採用の面接官や新人教育、AI教育といったHR領域まで幅広く担当。「システム」と「人」の両面から組織を支えています。 得意分野は、Google Workspace周辺の技術(GASなど)を駆使した効率化や、生成AIを活用したソリューション提案です。実は「プログラミング自体は楽しいものの、決して得意ではなく経験値も浅い」というのが本音です。しかし、営業時代に培ったヒアリング力・調整力と、AI(GeminiやAntigravity)を相棒にする開発スタイルを掛け合わせることで、コーディングスキルに依存せずに「現場の課題を即座に形にして解決する」ことを最大の強みとしています。

私たちについて

AX——AIトランスフォーメーションとは、何なのか。
その答えを、言葉ではなく現場から見せていくメディアです。

お問い合わせ

取材・寄稿・協業・AI導入支援のご相談は、こちらからどうぞ。