Created
September 2, 2018 14:06
-
-
Save hironytic/aec041254892856f3a52fcd363dc41db to your computer and use it in GitHub Desktop.
iOSDC Japan 2018のLT「全部iOSにしゃべらせちゃえ!」に使ったシナリオ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"language": "ja-JP", | |
"rate": 0.5, | |
"pitch": 1.0, | |
"volume": 0.8, | |
"postDelay": 0.5, | |
"presets" : [ | |
{ | |
"text" : "準備できましたぁ" | |
}, | |
{ | |
"text" : "それは面白い質問ですね" | |
}, | |
{ | |
"text" : "かんっぱーーーーぁい", | |
"volume": 1.0, | |
"rate": 0.4 | |
}, | |
{ | |
"text" : "テスッテス!音声を確認しています。あめんぼ赤いな、あいうえお。" | |
} | |
], | |
"actions": [ | |
{ | |
"type": "changeSlidePage", | |
"page": 0 | |
}, | |
{ | |
"type": "pause" | |
}, | |
{ | |
"type": "speak", | |
"text": "それでは発表します。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "まず、シーエフピーに応募したプロポーザルがこちらです。" | |
}, | |
{ | |
"type": "speak", | |
"pitch": 1.6, | |
"postDelay": 0, | |
"text": "いっけなーい。トークトーク。私ひろん。" | |
}, | |
{ | |
"type": "speak", | |
"pitch": 1.7, | |
"rate": 0.8, | |
"postDelay": 0, | |
"text": "今年もiOSDCのLTに応募したの。でもiOSDCは競技LT。オーディエンスもいっぱいいるから緊張してしゃべれないよー。あ、そうだ! エーブイスピーチシンセサイザーちゃんとPDF Kitくんに頼めば、代わりに発表してくれるんじゃない?私、" | |
}, | |
{ | |
"type": "speak", | |
"pitch": 1.6, | |
"text": "あったまいいー…って本当に採択されたらどうしよう?" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"postDelay": 1.0, | |
"text": "本当に採択されました。" | |
}, | |
{ | |
"type": "speak", | |
"postDelay": 0, | |
"text": "もしかして、採択してる人たち" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"volume": 1.0, | |
"pitch": 0.8, | |
"text": "バカなの?" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 2 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "ここで、私の横でくつろいでいる彼を紹介します。" | |
}, | |
{ | |
"type": "speak", | |
"text": "メガネをかけた犬のアイコンで、ひろん、というハンドルネームを使っています。徳島県から来ました。よろしくお願いします。" | |
}, | |
{ | |
"type": "speak", | |
"text": "なお、しゃべっている私は、iOSです。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": 1 | |
}, | |
{ | |
"type": "speak", | |
"text": "さて、プロポーザルにはふたつのキーワードが出てきました。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": 6 | |
}, | |
{ | |
"type": "speak", | |
"text": "エーブイスピーチシンセサイザーと、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "PDF Kitです。" | |
}, | |
{ | |
"type": "speak", | |
"text": "このふたつを簡単に説明します。" | |
}, | |
{ | |
"type": "speak", | |
"text": "なお、発表資料はあとで公開しますので、今は私の声をしっかり聞いてくださいね。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "まず、エーブイスピーチシンセサイザーですが、テキストの読み上げをしてくれるAPIです。結構、古くからあって、iOS 7以上で利用可能です。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "こんな感じですうぎょう書くだけで、簡単にしゃべらせることができます。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "ちょっと手を加えれば、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"rate": 0.7, | |
"text": "話すスピードを変えたり、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"pitch": 0.5, | |
"text": "声の高さを変えたりもできます。" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 1 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "次はPDF Kitです。" | |
}, | |
{ | |
"type": "speak", | |
"text": "こちらはPDFについていろいろ行うためのフレームワークです。" | |
}, | |
{ | |
"type": "speak", | |
"text": "iOSでは11から利用できる新しいAPIです。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "その中にPDFビューというものがあります。" | |
}, | |
{ | |
"type": "speak", | |
"text": "名前のとおり、PDFを表示するビューで、ユーアイイメージビューに画像を表示させるのと変わらないくらいの手間でPDFを表示することができます。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "しかも、プログラムでページを指定して表示させることができます。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "ということで、このふたつを使った作戦はこうです。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "まず、Keynoteのようなプレゼンツールを使ってスライドを作成します。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "それをPDF形式で書き出して、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "書き出したPDFをPDFビューに表示させます。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "一方で、ページの切り替えや、話す内容を指示したシナリオを作成して、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "それに基づいて、エーブイスピーチシンセサイザーにしゃべらせたり、PDFビューのページを切り替えれば、iOSに発表を代わってもらえそうです。" | |
}, | |
{ | |
"type": "speak", | |
"text": "この作戦を立てた、かれ、実はプロポーザルを出した時点で、これらのAPIを使った経験はありませんでした。" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 1 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "ついでに、iOSにはドキュメントベースのアプリの作成を支援する仕組みがあるので、これも使ってみることにして、" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "それから、会場で発表しますから、外部ディスプレイにも対応したいところです。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "これらの技術を組み合わせて実際に作ったのが、いまうごいているこのアプリ、「発表くん1号」です。みなさん、拍手しましょう。" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 3 | |
}, | |
{ | |
"type": "speak", | |
"text": "ソースはギットハブで公開しています。よかったら見てみてください。ついでにスターください。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "ところで、実際に私にしゃべらせて困ったことがいくつかあります。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "例えば、このような単語はうまくしゃべるのが苦手です。" | |
}, | |
{ | |
"type": "speak", | |
"text": "AVSpeechSynthesizer" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 1 | |
}, | |
{ | |
"type": "speak", | |
"text": "数行書くだけで" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 1 | |
}, | |
{ | |
"type": "speak", | |
"text": "でも、日本語は便利なので", | |
"postDelay": 0 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "これらはカタカナやひらがなで指示してもらいました。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "次に、どうしても聞き取りづらいものも出てきます。例えば、" | |
}, | |
{ | |
"type": "speak", | |
"text": "もしかして、運営って" | |
}, | |
{ | |
"type": "speak", | |
"volume": 1.0, | |
"pitch": 0.8, | |
"text": "バカなの?" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 1 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "こういうのはどうしようもないので、", | |
"postDelay": 0 | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "言い回しを変えることで逃げました。" | |
}, | |
{ | |
"type": "speak", | |
"text": "でも、これって、人間が話してもよくあることですよね。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "最後にこの発表のまとめです。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "まず、シーエフピーにネタで煽ると、煽り返されるという知見が得られました。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "あとは全部、私ががんばりました。" | |
}, | |
{ | |
"type": "speak", | |
"text": "ひろん、他に、何か言い残したことはありますか?" | |
}, | |
{ | |
"type": "wait", | |
"seconds": 5 | |
}, | |
{ | |
"type": "speak", | |
"text": "あー、ごめんなさい。もう時間ですね。" | |
}, | |
{ | |
"type": "changeSlidePage", | |
"page": "next" | |
}, | |
{ | |
"type": "speak", | |
"text": "これで発表を終わります。ご清聴ありがとうございました。" | |
}, | |
{ | |
"type": "pause" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment