トップ / 参加した学生の皆様 / 宮沢純正

宮沢純正

学類: 知識情報・図書館

2024年度 ソフトウェアコース

参加したプロジェクト

アカウント

メッセージ

はじめに

知識情報・図書館学類3年の宮沢です。 春学期には「文字を使わない日記」を目指すCocologプロジェクトに、秋学期には「アプリが伴奏してくれる、初心者にも優しい楽曲制作アプリ」を目指すStarToneプロジェクトに参加しました。

以下、それぞれのプロジェクトで取り組んだ内容と感想をまとめます。

取り組んだこと

春学期 (Cocologプロジェクト)

  • デザイン一部
  • 実装の構成検討・設計
  • プロジェクト進行管理
  • フロントエンド実装
  • バックエンド
技術スタック
  • フロントエンド
    • Nuxt.js
      • (TypeScript)
    • Tailwind CSS
  • バックエンド
    • Strapi v4

秋学期 (StarToneプロジェクト)

  • 実装の構成検討・設計
  • フロントエンド実装
    • 特に音楽編集画面全般の実装を実施 (単独で担当)
      • 編集画面デモ映像: YouTube
    • その他、各ページの実装修正等を担当 (共同で担当)
  • 「楽曲版Copilot」実現に向けた技術調査・検証 (共同)
    • MIDIデータでの大規模学習の実装
      • 既存の音楽群 (MP3等) をYourMT3+を用いてMIDIに変換・それらに所謂LLMを用いてキャプションを付与
        • 併せて既存のキャプションデータセット「MidiCaps」も併用
      • これらを用いて既存のLLMをファインチューニング、GitHub Copilotのような自然言語によるMIDI生成を目指した
  • 各種ドキュメント (要件定義書等) 作成 (共同)
技術スタック
  • フロントエンド
    • Next.js
      • (TypeScript)
    • Tone.js (MIDI編集画面)
  • バックエンド
    • Hono
    • Cloudflare Workers
  • 「楽曲版Copilot」実現に向けた技術調査・検証
    • Google AI Studio
    • Unsloth AI
    • YourMT3+

身につけたスキル・経験

  • チーム開発の進め方
    • プロジェクトの進行管理
    • チーム内でのコミュニケーション
    • チーム内での技術教育
  • 実践的・実務的な開発フロー
    • ユーザー層の想定・要件定義
    • デザインの検討
    • 要件・デザイン等に対するフィードバックを基にした修正
    • Redmineを用いたプロジェクト進行・タスク管理

感想

秋学期: StarTone

秋学期のStarToneプロジェクトでは複数の楽器・トラックを編集できる画面を実装し、MIDIやWAVファイルの出力機能まで搭載した編集画面の実装にあたってはさまざまな細かい課題に直面しました。しかし、一つひとつ解決を重ね、最終的に機能が完成したときの達成感は非常に大きいものでした。

また、COJTを通じて「要件定義の重要性」を改めて感じました。これまではあまり意識してこなかった要件や機能を丁寧に整理することで、チーム内の認識のずれを防ぎ、スムーズに開発を進められた点は大きな収穫です。加えて、最初にしっかりと要件を固めておくことでChatGPTなどの所謂生成AIへ渡す際のプロンプト作成、ひいては開発の効率化などにもつなげられたことは今後に活かせる知見だと感じています。

さらに、「楽曲版Copilot」を目指した技術調査・検証では、当初は実現可能かどうか疑問もありましたが、論文や関連技術を調べるうちに具体的なアプローチが見えてきました。その中で、所謂生成AIやその周辺技術への理解が深まったのは大きな成果です。最終的な実装には至りませんでしたが、PoC開発を通じて得た知見を今後のプロジェクトにも生かしていきたいと思います。