- Android / iOS
- Flutter
- Dart
- アプリ甲子園
音声認識により話した分だけ自動でスクロールしてくれる、プレゼンテーション用の原稿表示アプリです。 人前で話すことになって、原稿を用意したのに緊張で頭が真っ白になり「どこまで読んだっけ?」「次はどこを読むんだっけ?」と迷子になる事を防いでくれます。
また、プレゼンを開始してからの経過時間や、声量をリアルタイムで視覚化してくれ、プレゼンの練習や発表を手助けしてくれます。
再生画面では、音声認識により原稿を自動でスクロールしてくれ、どこまで読んだかが一目で分かります。 また、書式の向き(縦書き、横書き)や文字の色、フォントサイズなど自由にカスタマイズ可能です。
編集画面は、基本的なメモ帳の機能(追加・編集・検索・削除)に加え、作った原稿にタグを付けて整理することができます。
発表資料
ダウンロード
受賞歴
-
アプリ甲子園
2021年度のアプリ甲子園にて、3位と技術賞をいただきました。- 発表アーカイブ - アプリ甲子園2021 No.5 プレゼン原稿表示アプリ「Presc」
https://youtu.be/JblLFCS-Eqw
- 発表アーカイブ - アプリ甲子園2021 No.5 プレゼン原稿表示アプリ「Presc」
-
全国専門学科情報科研究協議会
専門学科「情報科」の設置高校が集まって年に1度開催する、研究協議会の生徒表彰にて優秀賞を頂きました。
技術面など
アプリの開発はFlutterを採用しました。 iOS・Androidの両端末に気軽にテスト配布できるように、DeployGateを利用しました。 Github Actionsを使用し、masterブランチにPull Requestを送ることで自動配布ができます。
音声認識における工夫
音声認識によって得られた文章と実際の文章との一致判定は、形態素解析アルゴリズムを利用しています。 また、Yahoo! JAPANが公開している ルビ振りWeb API を利用して文章をそれぞれひらがなに変換することで、音声認識の自動変換ミスなどによる認識漏れが起こらなくなるように改善しました。
原稿の縦書き
Flutterは縦書き文字の描画に対応していないため、今回日本語の縦書きアルゴリズムを完全自作しました。 TextPainterを使用して1文字ずつ描画する方法と、Wrapウィジェットを活用する方法を考案し、現在のバージョンでは後者のアルゴリズムが使われています。
-
Flutterで日本語の縦書きを実現する② - Aokiti https://qiita.com/sakusaku3939/items/9433f3fcfdad86cc264e
-
TextPainterで描画する方法(旧) https://qiita.com/sakusaku3939/items/64d453f4cf4be875aa67
リンク
-
「プレゼンで時間オーバー」解決するアプリを高校生が開発
使用技術
言語 ・・・ Dart フレームワーク、ライブラリ ・・・ Flutter, speech_to_text, provider, sqflite ツール ・・・ DeployGate, Adobe XD