Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
writer.appを支える技術
Search
Yohei Isokawa
July 21, 2018
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
writer.appを支える技術
2018/07/21 上越TechMeetup#2
Yohei Isokawa
July 21, 2018
More Decks by Yohei Isokawa
See All by Yohei Isokawa
今どきのWebアニメーション実装
yuhiisk
0
990
これからはじめるシングルページアプリケーション
yuhiisk
0
830
小学校段階からのプログラミング教育ってどうなる
yuhiisk
0
420
SPA実装最前線 ~今どきのJSフレームワーク選び~
yuhiisk
2
5.1k
Critical CSS
yuhiisk
1
13k
Other Decks in Programming
See All in Programming
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
190
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
190
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
150
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
450
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
Agents on Rails - Rails at Scale 2026
irinanazarova
0
340
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
290
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
14
6.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
460
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
350
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Scaling GitHub
holman
464
140k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Building an army of robots
kneath
307
47k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
30 Presentation Tips
portentint
PRO
1
420
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Odyssey Design
rkendrick25
PRO
2
860
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
writer.appを⽀える技術 五⼗川 洋平 (POPCORN) 2018.07.21 上越TechMeetup#2
⾃⼰紹介 • 五⼗川 洋平(イソップ) - 上越TechMeetup主催 - 上越市在住のフリーランスエンジニア • 趣味:ヨーヨー、バス釣り
• Twitter:@yuhiisk • イソップブログ(http://blog.yuhiisk.com)
writer.app
間に合いませんでした… (ヽ´ω`)
だが⾔わせてくれ • 開発の経緯
だが⾔わせてくれ • 開発の経緯 • 開発技術の紹介
だが⾔わせてくれ • 開発の経緯 • 開発技術の紹介 • 今後の野望
事の発端 • ⾳声⽂字起こしは地道で不⽑な作業。 (想像以上に時間がかかる)
事の発端 • ⾳声⽂字起こしは地道で不⽑な作業。 (想像以上に時間がかかる) • 解決できる便利なアプリがない。
事の発端 • ⾳声⽂字起こしは地道で不⽑な作業。 (想像以上に時間がかかる) • 解決できる便利なアプリがない。 • じゃあちょっと作りますか。
プロトタイプ期
Twitterでの反応
Twitterでの反応
Twitterでの反応
SPA移⾏期
裏技による⾃動⽂字起こし https://note.mu/yriica/n/n3050888696ab
• writer.appとSoundflower(Mac)を組み合わせて ⾃動で⽂字起こしができる。 裏技による⾃動⽂字起こし
本腰⼊れてアップデート期
• 外部のアプリケーションを使わない。 本当の⾃動化を実現する(WIP)
• 外部のアプリケーションを使わない。 • 操作をもっと簡単に。 本当の⾃動化を実現する(WIP)
• 外部のアプリケーションを使わない。 • 操作をもっと簡単に。 • もっと使いやすく。 本当の⾃動化を実現する(WIP)
開発版デモ
主な機能 • ⾳声ファイル再⽣での⽂字起こし
主な機能 • ⾳声ファイル再⽣での⽂字起こし • マイク⼊⼒による⽂字起こし
主な機能 • ⾳声ファイル再⽣での⽂字起こし • マイク⼊⼒による⽂字起こし • アップロードした⾳声ファイルの⾃動⽂字起こし
主な機能 • ⾳声ファイル再⽣での⽂字起こし • マイク⼊⼒による⽂字起こし • アップロードした⾳声ファイルの⾃動⽂字起こし • ドキュメントの保存
Google Speech-to-Text
Google Speech APIによる⾳声認識
Google Speech APIによる⾳声認識 • ブラウザAPI以上の精度を期待。
Google Speech APIによる⾳声認識 • ブラウザAPI以上の精度を期待。 • 環境に左右されない。
Google Speech APIによる⾳声認識 • ブラウザAPI以上の精度を期待。 • 環境に左右されない。 • 公開されているため現実的な選択。
Google Speech APIによる⾳声認識 ストリーミング
ストリーミングでの⾳声認識 • navigator.mediaDevices.getUserMedia
ストリーミングでの⾳声認識 • navigator.mediaDevices.getUserMedia • Web Audio API
ストリーミングでの⾳声認識 • navigator.mediaDevices.getUserMedia • Web Audio API • Websocket (VMインスタンスを利⽤)
Google Speech APIによる⾳声認識 ⾳声ファイルをアップロード
⾳声ファイルからの⾳声認識 • Cloud Storage ( ≒ AWS S3)
⾳声ファイルからの⾳声認識 • Cloud Storage ( ≒ AWS S3) • Compute
Engine ( ≒ AWS EC2)
これまでは • Web Speech API
これまでは • Web Speech API • Chromeのみ(Firefoxは開発フラグをONにすれば)
Firebaseで開発を加速
Firebaseで開発を加速 • サイトデータのホスティング • ユーザー認証 • リアルタイムデータベース(NoSQL) • Google Cloud
Platformとの統合, etc
Firebaseで開発を加速 Storage Functions Application
Firebaseで開発を加速 Storage Functions Application
Firebaseで開発を加速 Storage Functions Application
Firebaseで開発を加速 Storage Functions Application
Firebaseで開発を加速 Speech To Text Compute Engine Storage
Firebaseで開発を加速 Speech To Text Compute Engine Storage
Firebaseで開発を加速 Speech To Text Compute Engine Storage
Firebaseで開発を加速 Speech To Text Compute Engine Storage Firebase Cloud Messagingで
完了を通知
Firebaseで開発を加速 • Notification API(ブラウザ)
有料化に伴う決済処理
• オンライン決済サービス (https://stripe.com/jp) 有料化に伴う決済処理
• オンライン決済サービス (https://stripe.com/jp) • クレジットカード決済に対応 (VISA / Master/ JCB /
AMEX / Diners / Apple Pay) 有料化に伴う決済処理
• オンライン決済サービス (https://stripe.com/jp) • クレジットカード決済に対応 (VISA / Master/ JCB /
AMEX / Diners / Apple Pay) • アカウント登録不要 有料化に伴う決済処理
• オンライン決済サービス (https://stripe.com/jp) • クレジットカード決済に対応 (VISA / Master/ JCB /
AMEX / Diners / Apple Pay) • アカウント登録不要 • 定期課⾦・従量課⾦ 有料化に伴う決済処理
• デベロッパーファースト (curl, Ruby, Python, PHP, Java, Node, Go, .NET)
有料化に伴う決済処理
有料化に伴う決済処理
• デベロッパーファースト (curl, Ruby, Python, PHP, Java, Node, Go, .NET)
• 開発モードがある 有料化に伴う決済処理
• デベロッパーファースト (curl, Ruby, Python, PHP, Java, Node, Go, .NET)
• 開発モードがある • ⽇本のカスタマーサポート 有料化に伴う決済処理
有料化に伴う決済処理
有料化に伴う決済処理 ① Plans
有料化に伴う決済処理 ① Plans ② Customer
有料化に伴う決済処理 ① Plans ② Customer ③ Subscription
有料化に伴う決済処理 ① Plans ② Customer ③ Subscription ※めっちゃ使えます
今後の野望
• ⽂字起こし機能の強化 今後の野望
• ⽂字起こし機能の強化 • 画像から⽂字起こし • 精度の向上 今後の野望
• ⽂字起こし機能の強化 • 画像から⽂字起こし • 精度の向上 • キャッシュ、オフライン対応 今後の野望
• ⽂字起こし機能の強化 • 画像から⽂字起こし • 精度の向上 • キャッシュ、オフライン対応 • 最終的に統合アプリケーションを⽬指す
今後の野望
アップデートリリースをお待ち下さい