2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

naoqiのsayToFileを使って喋る内容をwavとして保存するChoregrapheボックス

Last updated at Posted at 2016-11-20

naoqiリファレンスにあったsayToFileメソッドを使って、Pepperが喋る内容をファイル保存するボックスを作りました

作成方法

  1. Choregrapheのフローダイアグラムを右クリックしたのち、ボックスの新規作成からPythonボックスを作成
  2. ボックスのonStartを右クリックしてタイプStringに変更
  3. ボックスを右クリックしてボックスのスクリプトを編集をクリック
  4. 以下のsayToFileボックスのスクリプトをコピーしてペースト

ボックスのパラメータに関して

以下の手順でボックスのパラメータを編集すると、ファイル名を指定することができます(今回生成するファイルは必ず日時が付属されます)

  1. 新規作成したPythonボックスを右クリックしてボックスを編集
  2. 変数の右側にある***+***をクリックして変数を追加
  3. 名前にfile nameを入力、タイプを文字列に変更
Screen Shot 2016-11-20 at 16.02.54.png

sayToFileボックスのスクリプト

from datetime import datetime

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)

        self.tts = ALProxy('ALTextToSpeech')
        self.ttsStop = ALProxy('ALTextToSpeech', True)

    def onLoad(self):
        #put initialization code here
        pass

    def onUnload(self):
        #put clean-up code here
        pass

    def onInput_onStart(self, p):
        #self.onStopped() #activate the output of the box
        nowstr = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
        filename = ''

        if self.getParameter('file name') != '':
            filename = self.getParameter('file name') + nowstr + '.wav'
        else:
            filename = nowstr + '.wav'

        # self.logger.debug(filename)

        filePath = '/home/nao/recordings/' + filename
        sayText = str(p)

        try:
            self.tts.sayToFile(sayText, filePath)
        except RuntimeError:
            self.logger.debug("Runtime Error")
        pass

    def onInput_onStop(self):

        self.onUnload() #it is recommended to reuse the clean-up as the box is stopped
        self.onStopped() #activate the output of the box

使用例

以下は簡単な使用例になります
下記の画像のようにtext editボックスと私が作成したボックスを接続すると簡単に使用できます
Screen Shot 2016-11-20 at 14.19.24.png

保存したファイルの取り出し

Choregrapheからファイルの取り出しができます

  1. メニューから接続 -> アドバンスト -> **ファイルの転送...**を選択
  2. ロボットのパスワードが求められるので入力
  3. 一覧からrecordingsをダブルクリック
  4. 一覧に日時が記されたwavファイルがあるのでそれをダウンロード
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?