32
Rubyで 喋らせてみよう。 Rubyで 喋らせてみよう。 @akira345 Hiroshima.rb Powered by Rabbit 2.0.5 and COZMIXNG

Osc2012 hiroshima

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Osc2012 hiroshima

Rubyで喋らせてみよう。Rubyで

喋らせてみよう。@akira345Hiroshima.rb

Powered by Rabbit 2.0.5 and COZMIXNG

Page 2: Osc2012 hiroshima

注意

時間の都合上今回技術的な内容は説明しません。

(本人も実はよく分かっていません)

Page 3: Osc2012 hiroshima

自己紹介広島の某中小企業に勤めるシステム屋さん。

好きな言語はPHP、SQL。もちろんRubyも。

旧MS-DOS(PC98)使いだった。(自称)

Page 4: Osc2012 hiroshima

 

で、OSCですよ。

Page 5: Osc2012 hiroshima

 

今年も何か出すかなー

Page 6: Osc2012 hiroshima

某WTM懇親会にて

ハードやろうよハード By @WoTani

Page 7: Osc2012 hiroshima

ハードかぁ。丁度Arduinoで遊んでいるから、Arduino+Rubyで何かできないかなぁ。(一応オープンソースだし)

Arduinoってなに?8bitなマイコンです。詳細はぐぐってね

Page 8: Osc2012 hiroshima

RADというのがあるらしい。

Arduinoの開発をRubyで出来るものです。(但しまだベータ版。)

http://rad.rubyforge.org/

Page 9: Osc2012 hiroshima

安易な発想・・

以前Arduinoで簡易MP3Player作ったし、これでMP3Playerつくろう!Arduinoのスケッチを焼き変えれば余裕でしょ。https://github.com/akira345/EasyMP3_For_Arduino

Page 10: Osc2012 hiroshima

 

・・・

Page 11: Osc2012 hiroshima

 

私の実力では無理でした!

Page 12: Osc2012 hiroshima

マズイ!

この時既に9月・・・

Page 13: Osc2012 hiroshima

そうだ!たまたま入手した詳細不明大型液晶に

文字を出してお茶を濁そう!液晶に文字を出すくらいなら・・・

Page 14: Osc2012 hiroshima

 

・・・

Page 15: Osc2012 hiroshima

 

私の実力では無理でした!液晶自体の解析に思ったより時間が・・・

Page 16: Osc2012 hiroshima

マズイ!

この時既に10月に突入・・・

Page 17: Osc2012 hiroshima

 

なにか無いか。(焦)

Page 18: Osc2012 hiroshima

ここは先生に助けを・・・

Ruby+Arduinoでググる

Arduinoのシリアル出力をRubyで処理してみた

http://goodsite.cocolog-nifty.com/uessay/2009/07/arduinoruby-3a1.html

Page 19: Osc2012 hiroshima

 

! ! !

Page 20: Osc2012 hiroshima

悪魔のささやきが聞こえる・・

そうだ!これをパクろうw

Page 21: Osc2012 hiroshima

 

ここからが本題

Page 22: Osc2012 hiroshima

某ツイ○です。

シリアル通信でローマ字を送ると喋るLSIが手元にある。

こいつになにか喋らせたら面白くね?

そうだ!TwitterのTLを喋らせよう!

Page 23: Osc2012 hiroshima

どうやる?日本語を喋らせるのは以外に大変!!

文章を単語に区切る。(MeCabによる形態素解析)

数字やアルファベットどうする?(AquesTalkの専用タグで対応)

アルファベットでも固有名詞があるよね?>Rubyとか

記号の読み方って?

漢字かな混じり文の読みってどうする?(Kakasiで変換)

Page 24: Osc2012 hiroshima

構成図

Page 25: Osc2012 hiroshima

機能一覧TwitterAPIを利用して、特定ハッシュタグのついたつぶやきを取得。

MeCabを利用して形態素解析を行う。

数字なら数字のタグをつける。英語なら英語のタグをつける。

記号で読み方が不明の場合は、人間が読み方の辞書を与える。

固有名詞の場合は読み方がわからないので、人間が読み方の辞書を与えてやる。

Page 26: Osc2012 hiroshima

機能一覧kakasiを使って、読みがなをローマ字に変換する。

シリアルポートへローマ字を流す。

AquesTalkが喋る!

Page 27: Osc2012 hiroshima

 

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Page 28: Osc2012 hiroshima

??????MeCabって?

形態素解析って?

Kakasiって?例によってググッてください。

スミマセン・・・

Page 29: Osc2012 hiroshima

今回の肝。合成音声LSI

AquesTalk

Page 30: Osc2012 hiroshima

喋ります!シリアル通信でローマ字を送ると喋ってくれる優れもの。

今回作成したソースはGitHubで公開中!

Hiroshima.rbでは、GitHubを積極的に活用しています!!

https://github.com/akira345/Ruby-Talk

お気軽にpull requestやらforkしてね。

Page 31: Osc2012 hiroshima

 

実物は展示しています。

みにきてね!!

Page 32: Osc2012 hiroshima

 

??時間が余ったら喋らせてみる。??

Powered by Rabbit 2.0.5 and COZMIXNG