全5件 (5件中 1-5件目)
1
先日、ESP-WROOM-02 で AquesTalk pico LSI を喋らせてみた (1) が、予めプログラムに喋る言葉を組み込んでおいて、単にそれを喋るだけの状態だったので、外部から喋る言葉を送り込んで喋らせるようにしてみる。WROOM-02 で Webサーバを立てて、外からは HTTP で情報を送り込むのが、とりあえず楽そうなので、ESP8266とATP3011を使った音声合成出力 を参考にする。最初、自分でプログラムを書いたときに Synthe に、直接、送られてきた文字列を渡したらエラーになったので、調べてみたら上記のプログラムを見つけて、下のようにしないとダメだと分かった。Synthe の引数は const char* になので、String を渡してもダメなのね。int len = message.length();char buff[len];message.toCharArray(buff,len); atp.Synthe(buff); // 引数に指定のテキストを発声次に、パソコンから次のような Python のプログラムで喋らせてみた。import requestsr = requests.get("http://wroom-02-address/speak?say=onakaga/hettayo.")問題になるのが、喋らせる内容がアルファベットの音声記号だということ。最初は、音声記号列生成 Webサービス を使って、音声記号に変換したものを渡そうかと思ったのだが、AquesTalk pico LSI に一度に渡せる文字列長に制限があるので、そのあたり考慮しないとダメだと分かった。制限を超える文字列を渡すと、何も喋ってくれないので、予め文字列を短く区切って渡す必要がある。ちなみに、文字列長を超える文字列を渡した時も、r.status_code は 200 で返ってくるので、とりあえず喋らせて失敗したら短くするとかいうのはダメ。渡す前に毎回チェックする必要がある。ローマ字記号列(半角英数小文字)の長さは最大 127byte なので、その長さ以下で収まりのよい感じに区切ってあげるひつようがある。アクセントの位置とかも、音声記号列生成 Webサービス だと好みに合わないときがあるので、自分で作ってみることにした。例えば、尖閣に安保」日米確認へ、国防長官の来日時に の記事の初来日するマティス米国防長官が、沖縄県の尖閣諸島について「対日防衛義務を定めた日米安全保障条約第5条の適用対象になる」とする見解を、稲田防衛相との間で確認する見通しになった。を音声記号列生成 Webサービス で変換すると、hatsura'ini_chisuru,ma'_thisu/beikokubo-cho'-kannga okinawa'kennno/sennka_kusho'to-nitsuite ta'i/nichibo-eigi'muo/sada'meta,ni'chi/beiannzennhosho-jo'-ya_ku,da'i/<NUMK VAL=5 COUNTER=jo'- MODE=AaH>no/tekiyo-ta'isho-ni/na'ru to/suru/kennkaio inada,bo-ei'sho-tono/aidade,kakuninnsuru/mito-shini/na'tta.となる。このままだと長過ぎるので、文字列を分割して、hatsura'ini_chisuru,ma'_thisu/beikokubo-cho'-kannga okinawa'kennno/sennka_kusho'to-nitsuite ta'i/nichibo-eigi'muo/sada'metani'chi/beiannzennhosho-jo'-ya_ku,da'i/<NUMK VAL=5 COUNTER=jo'- MODE=AaH>no/tekiyo-ta'isho-ni/na'ru to/suru/kennkaio inada,bo-ei'sho-tono/aidade,kakuninnsuru/mito-shini/na'tta.となるが、次のようにした方が、自分には自然に聞こえる。まあ、自然にというのは、主観的なものだから人によって違うだろうけど、自分に違和感のないイントネーションで喋ってくれるところを目標にする。hatsura'ini_chisuru,ma'_thisu/beikokubo-cho'-kannga okinawa'kennno/sennka_kusho'to-nitsuite tai'/nichibo-eigi'muo/sada'metani'chibei/annzennhosho-jo'-ya_ku,da'i/<NUMK VAL=5 COUNTER=jo'- MODE=AaH>no/tekiyo-ta'isho-ni/na'ruto/suru/kennkaiwo inada,bo-ei'sho-tono/aidade,kakuninnsuru/mito-shinina'tta.2つを比較するために喋らせてみた。ちょっとアクセントの位置を調整するだけで、自分にとってはだいぶ聞きやすくなった。import requestmessage1 = ["hatsura'ini_chisuru,ma'_thisu/beikokubo-cho'-kannga okinawa'kennno/sennka_kusho'to-nitsuite ta'i/nichibo-eigi'muo/sada'meta","ni'chi/beiannzennhosho-jo'-ya_ku,da'i/<NUMK VAL=5 COUNTER=jo'- MODE=AaH<no/tekiyo-ta'isho-ni/na'ru to/suru/","kennkaiwo inada,bo-ei'sho-tono/aidade,kakuninnsuru/mito-shinina'tta."]message2 = ["hatsura'ini_chisuru,ma'_thisu/beikokubo-cho'-kannga okinawa'kennno/sennka_kusho'to-nitsuite tai'/nichibo-eigi'muo/sada'meta","ni'chibei/annzennhosho-jo'-ya_ku,da'i/<NUMK VAL=5 COUNTER=jo'- MODE=AaH>no/tekiyo-ta'isho-ni/na'ruto/suru/","kennkaiwo inada,bo-ei'sho-tono/aidade,kakuninnsuru/mito-shinina'tta."]for i in range(3): requests.get("http://ESP-WROOM2-address/speak?say=%s" % message1[i])for i in range(3): requests.get("http://ESP-WROOM2-address/speak?say=%s" % message2[i])感じかな混じり文から、読みを生成するのは、MeCab: Yet Another Part-of-Speech and Morphological Analyzer を使って、多少ヒューリスティックな変換ルールを追加するかな。日本語形態素解析システム JUMAN++ も使ってみるか。JUMAN++は言語モデルを利用した高性能な形態素解析システムです.言語モデルとして Recurrent Neural Network Language Model(RNNLM) を用いることにより,単語の並びの意味的な自然さを考慮した解析を行います.それにより JUMAN,MeCab に比べ大きく性能が向上しています.文法・辞書・出力フォーマット等は JUMAN から引き継いだものを利用しています.本システムは CREST「知識に基づく構造的言語処理の確立と知識インフラの構築」の支援により開発されました.らしい。最近、この手のことをやっていなかったので、また、ちょっと言語処理系もチャレンジしてみるか。
2017.01.29
コメント(0)

ESPr Developer(ESP-WROOM-02開発ボード) で 音声合成LSI 「AquesTalk pico LSI」 を制御してみようかと思っているので、とりあえず、AquesTalk pico のデモモードで喋らせてみた。ESP-WROOM-02 は、まだ電源供給に使っているだけで、LSI と、PAM8012 というD級アンプ(基板の上の方に飛び出ている部分)とスピーカーを繫いだら、デモモードでプリセットメッセージを喋ってくれた。AquesTalk pico LSI は、Atmel 社の 8bit マイクロコントローラ ATmega328(または ATmega328P)に、音声合成ミドルウェア AquesTalk pico をファームウェアとして搭載した製品ということなので、Arduino UNO の ATmega328 を引き抜いて、代わりに基板に挿してしまうのが、一番簡単な使い方のようだ。AquesTalk pico LSI の特長は、次の通り。文字列を送るだけで音声出力するシンプルインターフェース実装に便利な 28pinDIP、小サイズの 32pinTQFP の2種類のパッケージ外付け部品不要(アナログオーディオアンプは別途)Arduino uno などの基板に直接装着して使用可能3種のシリアルインターフェース UART/I2C/SPI2種類のカスタマイズ可能なチャイム音数値を適切な読みとアクセントで読み上げ(タグ指定)カスタマイズ可能な 15 種類のプリセットメッセージ端子の変化をトリガにプリセットメッセージを発声話速やプリセットメッセージなどを実装後に設定可能ユーザ設定専用アプリ PicoRomWriter を別途配布簡単に Arduino UNO を使ってやってもよいが、それだけだと単体でネットワークから命令を送って何か喋らせるとかできないので、ESP-WROOM-02 をつなぐことにした。AquesTalk pico LSI の動作電圧は 2.5V - 5.5V なので、5V 動作の Arduino UNO でも、3.3V 動作の ESP-WROOM-02 でも問題ない。ちなみに、LSI の消費電流は 3V 時のコマンドモードでは、UART が 0.5mA、I2C が 0.07mA、SPI が 0.5mA で、I2C を使うのが消費電力が少なくて済むようなので、I2C で接続することにした。Arduino用 音声合成LSIライブラリ のライブラリと回路図を参考に組んでみた。制御のためのライブラリは、 Arduino_AquesTalk_Library.zip を使わせていただいた。とりあえず、喋るようになったので、次は、外部のプログラムから喋らせる仕組みを作ってみようかと思っている。
2017.01.23
コメント(0)

Blynkを Raspberry Pi で使ってみた。プログラムをしないでも「RaspberryPi」を遠隔操作できるスマホアプリ「Blynk」が凄い!!Raspberry Piを自在に遠隔操作できるスマホアプリ「Blynk」を実際に使ってみた!ESP-WROOM-02 と Blynk でLEDコントロールBlynk Server を経由してデバイスとスマホの通信を行うが、LED のオンオフをしてみても、特に遅延を感じることなく操作することができて、よい感じ。やってみると、かなりお手軽に使えた。ただし、無料枠はすぐに使い切ってしまうので、継続的に何台ものデバイスを扱おうとするなら、お金が必要になるが、安いからその程度支払ってもいいかなという感じ。最小限のお遊び程度なら無料で使える。実際には、次のページを参考にして、試してみた。第1回 IoTサービス「Blynk」を導入しよう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう第2回 スマホからLチカをやってみよう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう第3回 CPUの温度/周波数/負荷状態を見よう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう第4回 温度センサーを接続してグラフにしよう - 連載 IoTサービス「Blynk」を使ってRaspberry Piをスマホからコントロールしよう第5回 スマホからRaspberry Piをシャットダウンしよう第6回 ドアが開いたらスマホにPUSH通知させよう
2017.01.10
コメント(0)

Elecrow3.5インチタッチパネル タッチスクリーンディスプレイを購入した。解像度 は、480X320。Raspberry Pi に接続してみた。Amazon で 2,325円だった。情報は、3.5 Inch 480x320 TFT Display with Touch Screen for Raspberry Pi と このページの下の方にドライバのリンクなどある。ドライバをダウンロードして (Driver for B+/2B、Driver for 3B)、解凍後、LCD35-show を実行すると、必要なファイルをコピーしてくれる。再起動したら、あっさりと動いた。ただし、LCD35-show の中身を見ると、/boot/cmdline や /boot/config.txt などを上書きしてくれちゃうので、5,6,7行目はコメントアウトして、手動で必要な部分を編集してから実行したた。ドライバを組み込んだ Raspberry Pi のイメージもあるようだが、そちらは試していない。安くて、簡単に使い始められるので、けっこういいかもしれない。LCD の制御は SPI で、特に何も意識せずに使えるが、GPIO ピンが半分以上使われてしまう。ちなみに、Elecrow は中国の深セン市にある会社で、基板製造メーカとして安くて有名みたい。検索してみると、けっこう使っている人がいるみたい。(LCD からビニールカバーを取り外す前に写真を撮ったので、画面がちょっと汚く見えるが、実際にはきれいな色が出ている)Elecrow3.5インチタッチパネル タッチスクリーンディスプレイ480X320解像度 TFTモニター LCDタッチスクリーンキット Raspberry Pi B+/2B Raspberry Pi 3B対応
2017.01.08
コメント(0)

2016年は、BABYMETAL がお気に入りだったけど、まだお気に入りからはずれていない。新年早々、BABYMETAL の過去のライブ映像が AbemaTV でやっているのを観た。 AbemaTV は、今回がはじめて。指定した時間に観なければいけないのは、辛いなぁ。3夜連続で観たが、よほど気に入ったものがない限り、見ることはないかな。年末年始で気に入ったのは、BABYMETAL - あわだまフィーバー(完全版)-YouTube_Mix-。よくこんなもの作れるなぁ。すごい。BABYMETALのダンスって、けっこう伝統芸能との共通点もあったりして。テンポがだいぶ違うのでシンクロさせられないのだけれど、なんか似ているところがあるなぁと。32分あたりからの二人の踊りと、SU-Metal が登場してからは、52分あたりから。3人組でも芸者の踊りより、歌舞伎の方が近い感じで、これはちょっとちがうって感じ。12分からヘドバンギャーの祖先。6分あたりから、雰囲気を感じつつ。そういえば、去年はこの時期に、BABYMETAL と空手 とか書いてる。BABYMETAL に飽きがこないのは、音楽もダンスも、人も、それぞれ魅力がいっぱいだからなんだろうな。表情を中心に見ても楽しめるし。過去を振り返ってみたら、いくつも BABYMETAL をネタに書いていた。なぜか BABYMETAL にはまる可憐Girl's にまで逝ってしまうBABYMETAL にほんとうにはまっている今日このごろおっさんはどうして BABYMETAL にはまってしまったのかBabymetal で気分転換結構、削除されて見られなくなっている動画もあるな。そういや、ほんとにおっさんに可愛がられてるな。
2017.01.05
コメント(0)
全5件 (5件中 1-5件目)
1

![]()
