Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Presc - 研究発表会
Search
Aokiti
August 22, 2022
Technology
0
1.3k
Presc - 研究発表会
全国専門学科情報科研究協議会2022 スライド資料
Aokiti
August 22, 2022
Tweet
Share
More Decks by Aokiti
See All by Aokiti
MoodTune ハッカソン決勝スライド
sakusaku3939
0
120
d-hacks PyTorch実装会 2023f
sakusaku3939
0
9
[DL勉強会] 第5章 ディープラーニングを活用したアプリケーション 後半
sakusaku3939
0
5
Presc - 情報科発表会
sakusaku3939
0
100
プレゼン原稿表示アプリ「Presc」 - アプリ甲子園2021
sakusaku3939
0
40
TKG Beacon開発
sakusaku3939
0
390
伝言システム開発
sakusaku3939
0
180
Other Decks in Technology
See All in Technology
Cypress or Playwright?
rainerhahnekamp
0
180
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
120
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
160
AWSやJAWS-UGとの出会いを振り返る
yoyoyopg
1
180
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Musicを例に~
otanet
0
320
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
220
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
180
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
470
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1.1k
パスワードを保存しますか?
hanacchi
0
210
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
3
2.4k
M5stackで使用できるpHセンサの開発
shinrinakamura
1
290
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
80
44k
The Language of Interfaces
destraynor
151
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Bash Introduction
62gerente
605
210k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Embracing the Ebb and Flow
colly
80
4.2k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
A designer walks into a library…
pauljervisheath
201
23k
Transcript
研究発表会 資料 プレゼンテーション用原稿表示アプリ
None
Google Keep (メモ帳アプリ)
✓ 緊張で頭が真っ白になり「どこまで読んだか」が分からなくなった ✓ 大きく時間を過ぎてしまい、最後まで話すことができなかった
プレゼンテーション用原稿表示アプリ
音声認識による自動スクロール
経過時間や声量の確認
経過時間や声量の確認
様々な用途に対応
None
メモ帳機能
メモ帳機能 + 文字数カウント
メモ帳機能 + 文字数カウント + 発表時間を計算
タグを付けて分類・整理
原稿の検索 + 原稿の追加・削除
研究の流れ
・アプリ設計 ・UI/UXデザイン作成 前期前半 (4月~6月) ・開発作業 ・コンテストへの応募 前期後半 (7月~9月) ・iOS対応 ・ストア公開
後期前半・後半 (10月~3月) 一年間の流れ(課題研究②)
前期前半(アプリ設計・UI/UXデザイン作成)
・アプリ設計 ・UI/UXデザイン作成 前期前半 (4月~6月) ・開発作業 ・コンテストへの応募 前期後半 (7月~9月) ・iOS対応 ・ストア公開
後期前半・後半 (10月~3月) 一年間の流れ(課題研究②)
コンテストへの応募(アプリ甲子園2021) 「アプリ甲子園」は、次世代を担う若手クリエー ターの発掘と健全な育成支援を目的として、 2011年より開催しているスマートフォン向けアプリ 開発コンテストです。 過去の応募総数は1,300作品を超えており、 全国の中学生と高校生が開発した、iPhoneや Android向けのスマートフォンアプリ(タブレット 向けも含む)から、優秀な作品を選出し表彰されま す。
コンテストへの応募(アプリ甲子園2021) 総合順位 3位 & 技術賞 を獲得! プレゼンの様子はYouTubeで見れます https://youtu.be/JblLFCS-Eqw
・アプリ設計 ・UI/UXデザイン作成 前期前半 (4月~6月) ・開発作業 ・コンテストへの応募 前期後半 (7月~9月) ・iOS対応 ・ストア公開
後期前半・後半 (10月~3月) 一年間の流れ(課題研究②)
後期前半 ~ 後半(iOS対応・ストアへの公開)
使用技術
None
MVVM Provider 5.0.0 sqflite 6.0.0 speech_to_text 4.2.1 GitHub Actions (CI/CD)
DB接続 音声認識 原稿を取得 変更を監視 テスト配布 配布を自動化 音声データ送信
GitHub Actions (CI/CD) テスト配布 配布を自動化
技術的課題① 音声認識における工夫
実際の文章 吾輩は猫である。名前はまだ無い。 認識した文章 吾輩はネコである。名はまだ無い。
1. 文章を区切る 形態素解析 吾輩は猫である。 N-gram (n=2) 吾輩は猫である。 吾輩 | は
| 猫 | で | ある | 。 吾輩 | 輩は | は猫 | 猫で | であ | ある | る。 吾輩 | は | ネコ | で | ある | 。 吾輩 | 輩は | はネ | ネコ | コで | であ | ある | る。 メリット: 精度が良い デメリット: 容量が大きい&速度の低下 メリット: 高速&お手軽 デメリット: 形態素解析に比べると精度低
2. 漢字をひらがなに変換 実際の文章 吾輩は猫である。 認識した文章 吾輩はネコである。 わがはいはねこである。 ルビ振りWeb API
技術的課題② 端末別の対応
Flutterについて(React Nativeと比較) iOSのモジュール呼び出し Androidのモジュール呼び出し Skia Graphics Engineで描画
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。 吾輩は猫である。 名前はまだ無い。 どこで生れたかとんと見当がつ かぬ。 吾輩は猫である。名前は 吾輩は猫である。名前はまだ無い。 どこで生れ 吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。
経過時間 (秒)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。 吾輩は猫である。 吾輩は猫である。
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。 吾輩は猫である。名前は 吾輩は猫である。名前はまだ無い。ど こで生れ 吾輩は猫である。名前はまだ無い。ど こで生れたかとんと見当がつかぬ。 吾輩は猫である。名前は まだ無い。どこで生れ たかとんと見当がつかぬ。 話すときの間隔が0.5秒以上空いたら更新
話すときの間隔が0.5秒以上空いたら更新
音声認識アルゴリズム改善前
音声認識アルゴリズム改善後
技術的課題③ 原稿の縦書き
既存の縦書きプラグイン(mongol)
既存の縦書きプラグイン(mongol) mongolの概要 サードパーティ製の縦書きプラグイン。モンゴル語を想定 ただ日本語の場合だと... ・書式の方向が逆 ・CJK文字(中国語・日本語・韓国語)の記号に非対応 日本語の縦書きアルゴリズムを自作
縦書きアルゴリズムの自作 1. 縦と横の枠組みの数を求める 2. 文字の位置 × フォントサイズ から全体の座標を求める 3. 求めた座標上に1文字ずつ配置する
4. 縦書き時に回転する文字を置き換える 例) 「」, ー, 【】, <> Flutterで日本語の縦書きを実現する – Qiita https://qiita.com/sakusaku3939/items/64d453f4cf4be875aa67
その他の作業
アプリの英語対応 1. アプリ内のボタン 2. 説明文 3. サンプルテキストの変更 日本語の場合 ⇒『吾輩は猫である』 英語の場合
⇒『Lorem ipsum』
アプリの英語対応 言語別のファイルに分割
タブレット対応 発表画面 ⇒ 文字の大きさ、メニューの調整 原稿管理画面 ⇒ 縦3列に変更
まとめ 一年間の流れ プロトタイプ作成(Adobe XD) → 開発作業(Flutter) → ストア公開 技術的改善 ・音声認識精度の改善
例)N-gramによる文字の分割、ひらがなへの変換など ・端末別の対応(iOS・Android) ・縦書きアルゴリズムの自作
まとめ 今後の課題 ・プレゼンを行う場所よって上手く認識されないことがある 例)大きなホールでマイクをつけて喋る環境、雑音が多い環境 ・原稿の編集機能の充実 例)元に戻す / やり直し 機能、マークダウン記法による編集
ご清聴ありがとうございました Presc