本記事は、「Slackbotに音声つきで応答する方法」を紹介するものです。

今回実現できたこと
・ローカルでの音声再生
・音声ファイルをSlack上にアップロード

できなかったこと
・Slackにアップロードしたファイルの自動再生

最近はフリーで音声素材も配布されているので簡単なコードを書くだけで文章を読み上げさせることが可能です。

※Pythonで作るSlackbotについては「SlackbotをPythonで作成しよう」をお読みください。

◆関連記事
Pythonで音声を操作する

SlackbotでOpen JTalkを操作する手順

Open JTalkは日本語の文章を読み上げることができるフリーのツールです。
コマンドラインで簡単に文章を読み上げさせることができます。

Open JTalkのインストールと使い方

◆インストール方法(Mac)

brew install open-jtalk

◆再生手順
テキストファイルを辞書ファイルで変換して再生用のファイルを作成します。
afplayで作成したファイルを再生します。

辞書ファイル:漢字やアルファベットの読み方を定義するファイルです。
音声ライブラリ:音声を出力する為のライブラリ、男性の声や女性の声などいろいろな種類があります。
出力ファイル:読み上げた音声を記録したファイル
テキストファイル:読み上げる文章を書いたファイル

◆参考記事
Qiita
macでコードから音声を喋らせる (eSpeak, OpenJTalk)

Open JTalkを使ってSlackbotに文章を読み上げさせる

自分のPCにSlackbotのソースコードがあれば読み上げさせることが可能です。

◆実行結果
Slackで音声再生

以下の音声ファイルが読み上げられます。

関連記事>>Pythonで音声を操作する方法

Slackbotで音声ファイルをSlackにアップロードする

上記の方法だとローカルPCにSlackbotがいない場合は当然再生できません。
ファイルをアップロードすることでどこからでも音声を再生可能となります。

slackerライブラリを使って作成したファイルをアップロードする

slackerライブラリのラッパーメソッドを使えば簡単な記述でアップロードできます
slackerライブラリはslackbotライブラリを使用している場合は同時にインストールされます。

音声投稿

手動ですが音声の再生が可能です。

アップロードしたファイルを自動再生する方法は見つかりませんでした。
まあ、無限再生とかしたら大変なことになるのでそもそもやらない方がいいのかもしれません。

以上、Slackbotに音声を読み上げさせる方法でした。

関連記事>>SlackbotでファイルをSlackにアップロードする〜PythonでのBot開発〜

終わりに

今回はSlackbotで音声を作成する方法と再生する方法について説明しました。Open-Jtalkを使えば比較的に簡単に実装することが可能です。

実行結果を文章でなく音声で読み上げさせることができれば作業しながら実行結果を聞くという使い方もできます。
うまく使えばいろいろな場面で活用できそうですね。

Slackbot+PythonまとめTOP>>Slackbotの作り方マニュアル〜Python編〜

◆オススメ記事
Pythonでテキストを読み上げる方法