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
たどころくん1号を支える技術
Search
ikuma-t
September 17, 2023
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たどころくん1号を支える技術
社内LT会の資料
ikuma-t
September 17, 2023
More Decks by ikuma-t
See All by ikuma-t
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.5k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
1.2k
いまさらのStorybook
ikumatadokoro
0
1k
これで最後にしたい! Astroと立ち向かう 6度目の個人ブログ再開発
ikumatadokoro
6
2.6k
Panda CSS と Ark UI ではじめる個人開発
ikumatadokoro
4
3k
見た目から始める生産性向上
ikumatadokoro
12
6.2k
ぼくが 美容師さんに伝えたかった バンドの話
ikumatadokoro
0
350
Railsアプリをコスパよく読むための環境整備
ikumatadokoro
2
1.4k
HTTPを手で書いて学ぶ ファイルアップロードの仕組み
ikumatadokoro
82
34k
Other Decks in Programming
See All in Programming
不幸な GC
chencmd
0
900
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
440
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
180
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
140
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.2k
スマート反転とウェブアクセシビリティ
camiha
0
180
信頼性の目標を誰も求めてない
shubox
0
500
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
160
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
280
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
920
Webの地図
yosuke_furukawa
PRO
6
4k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
A better future with KSS
kneath
240
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
WCS-LA-2024
lcolladotor
0
820
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Transcript
たどころくん 1 号を支える技術 ikuma-t むせていたって喋りたい! エンペイてくtech 大LT 大会 ver 0.1.0
2023-09-15
ikuma-t IkumaTadokoro ikumatdkr ikuma-t.com ikumatadokoro 株式会社エンペイで働く、フロントエンドが好きなエンジニア。 表情パターンは9 割笑顔、1 割(´ ・ω
・`) なやさおです。
コロナ後で声がうまく出せない 状況を技術でどう乗り切ったか 今回のテーマ
製品紹介
たどころくん 1 号 ローカルで動く機械音声通話アプリ ブラウザさえあれば動作する 搭載している機能 発話 ピッチ調整 プリセット機能 履歴機能
竹村さん腹筋崩壊機能
導入実績 開発チームの日常におけるコミュニケーション:導入事例多数 イベントファシリテーション:多くのデイリースクラムでご利用いただいてます! 登壇: 重要なイベントでも肉声による発表と一切遜色なく遂行した実績あり ライトなLT イベントでもご利用いただいてます 竹村さんの腹筋を崩壊させた数:プライスレス 様々なシーンでご利用いただいてます
技術紹介
SpeechSynthesisUtterance 音声読み上げのコアとなる技術 SpeechSynthesisUtterance はウェブ音声 API のインターフェイスで、発話リクエストを表します。 これには、発話サービスが読み上げ るコンテンツと、その読み上げ方についての情報(言語、音の高低、音量)が含まれます。 これだけで機械音声による読み上げが実装できます。 ちなみに「Synthesis
」は「合成」、「Utterance 」は「発声」という意味です(合成音声読み上げAPI ) ブラウザ標準の音声合成API const uttr = new SpeechSynthesisUtterance(" ずんだもんだぞ"); window.speechSynthesis.speak(uttr);
たどころくん 1 号の正体 … 実際にブラウザで確認してみます たどころくん 1 号の正体は ... 「
Kyoko 」! 見た目は機械音声、中身は… const voices = window.speechSynthesis.getVoices() // 日本語向けの音声を確認する const locale = 'ja-JP' const japaneseVoices = voices.filter((voice) => voice.lang === locale) // これが機械音声を喋っている人の真の名前... japaneseVoices[0].name
履歴管理 永続化にはlocalStorage を使用しています。プレゼンもこれで乗り切ります。 意外と便利
システム音声を通話アプリに載せる 1. (スピーカーに漏れ出る前にキャッチ)Blackhole でシステム音を拾えるようにする 2. (正直よくわからん)Audio MIDI 設定でBlackhole と音声出力デバイスを合成した装置を作る 3.
(システム音声を外部にむける)通話アプリのマイクをBlackhole にする 試行錯誤してM1 Mac だとこれでできたってやつ
開発小話 開発リポジトリの名前は「 bossun 」 機械音声といえば、ということで「スイッチ」と名付けようとしたが、「switch 」 がプログラミングとしては汎用的な名前すぎて、ネタアプリに使うのは微妙という ことで、同じSKET DANCE から「ボッスン」を採用
制作は高速、されど仕事は進まず 「明日は復帰できるかな?」と思った日に勢いで1h もかからないでアプリ実装。 実装は高速で終わったものの、体調が万全でない中無理をしたため、翌日は一日中 頭がぼーっとして仕事どころではなかったです。
喋らなくていいおかげで肺の負担は下げられたし、 皆さんにも楽しんでいただけたようでなによりです おわり
ありがとうございました! Slides on ikuma-t.com