はじめに
こんにちは、tenj1n です。
現在、情報系の大学で卒業研究として「歌が苦手な人向けの練習支援アプリ」をiPhone向けに開発しています。
カラオケで毎回70点前後しか取れない。
歌うのが恥ずかしいけど、本当はうまくなりたい。
そんな人に寄り添えるようなアプリを、「録音→解析→フィードバック→成長の見える化」という流れで作っています。
本記事では、卒業研究の全体像(背景・目的・構成)について紹介します。
なぜこの研究をしようと思ったのか?
市販のカラオケアプリ(JOYSOUND・DAM・Pokekaraなど)では、以下のような課題を感じました:
問題 内容
点数の理由が不明 「80点」と出ても、何が良くて何が悪かったか分からない
抽象的な評価 「音程」「抑揚」などの大まかな指標だけで終わる
上達につながらない 改善点がわからず、練習が感覚頼りになる
SNS前提の設計 Pokekaraのような共有型アプリは、人前で練習したくない人には向かない
想定ユーザー(ペルソナ)
綾香さん(28歳・営業職)
カラオケの点数は毎回60〜70点台
歌が苦手だけど本当は上手くなりたい
恥ずかしさから人前で練習できない
一人でこっそり、客観的に、成長実感を得たい
この研究で目指すこと
点数の代わりに、音程や抑揚のズレをグラフで見える化
「どこが悪かったか」+「どうすれば良くなるか」まで具体的に提示
上達の推移を記録し、過去の自分と比較できるUIを実現
アプローチと技術構成
📱 iOSアプリ(SwiftUI)
録音機能(AVFoundation)
再生機能
フィードバック・履歴表示UI
🌐 サーバ(Flask)
音声ファイル受け取り(multipart/form-data)
librosa や pyworld で音響特徴量を解析
結果をJSON+画像で返却
📊 可視化とコメント生成
ピッチグラフ・スペクトログラムを生成(matplotlib)
フィードバックコメント例:
「Aメロで高音が不安定です。喉を開くよう意識すると改善できます」
「全体的に音程は安定してきています。抑揚を意識するとさらに良くなります」
(ズレている場所やユーザーが知りたいところをAIが自動コメントするようにする)
🔢 点数化
あえて「全体スコア」は使わず、ピッチ安定度・抑揚スコアなどを個別に点数化
ユーザーが直感的に「良くなってる」と思える指標を導入
検証方法(予定)
項目 内容
定量評価 ピッチズレ量(セント)、抑揚スコア、音程安定度のBefore/After比較
定性評価 アンケート(5段階評価):「弱点が分かったか?」「改善案は役立ったか?」など
進行状況(2025年7月時点)
フェーズ 内容 状況
録音・送信 録音ファイルをFlaskへ送信・保存 ✅ 完了
再生機能 録音ファイルの再生機能 ✅ 完了
音声解析 ピッチ・抑揚などの抽出(librosa) 🔜 着手予定
可視化・UI グラフ表示・履歴機能・成長記録 🔜 8月頃予定
この研究の意義
このアプリは、「上達したいのに方法が分からない」「人前で練習したくない」という人のためにあります。
得点主義ではなく、自分の歌を客観的に振り返り、改善できることを目指しています。
最終的には、「自分専用の歌唱コーチ」のような存在になれるアプリを目指していきます。
次回予告
次回の記事では、実際に録音 → Flaskサーバへ送信 → 再生できるようにするまでの実装と詰まりポイントをまとめる予定です!
投稿者:tenj1n
卒研を通して、アプリ開発とユーザー視点の設計の両方を深めています。進捗や設計で悩んだことも今後どんどん記事にしていきます!