Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Merge Fetch15 branch #256

Closed
wants to merge 105 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
55cb0d7
[google_chat_ros] google chat ros REST client
mqcmd196 Oct 20, 2021
8bcc1a3
[google_chat_ros] define new message for recieving message
mqcmd196 Dec 28, 2021
d01728d
[google_chat_ros] support download data
mqcmd196 Jan 13, 2022
983841f
[google_chat_ros]fix REST bugs
mqcmd196 Jan 13, 2022
b11af7a
[google_chat_ros]support dialogflow mode
mqcmd196 Jan 13, 2022
6ca22d4
[google_chat_ros]support download avatar
mqcmd196 Jan 13, 2022
832424f
[google_chat_ros]support dialogflow message publish
mqcmd196 Jan 13, 2022
198a3f3
[google_chat_ros]remove unnecessary response
mqcmd196 Jan 13, 2022
3043c30
[google_chat_ros]add msg for card event and fix function style
mqcmd196 Jan 14, 2022
0878fbf
[google_chat_ros]add gdrive_ros service client
mqcmd196 Jan 18, 2022
3029cb0
[google_chat_ros]remove dialogflow https server. instead, subscribe O…
mqcmd196 Jan 19, 2022
722150c
[google_chat_ros]fix launch file for loading param and convert str ->…
mqcmd196 Jan 19, 2022
2e0920b
[google_chat_ros]add dependency
mqcmd196 Jan 20, 2022
80e836b
[google_chat_ros]support upload attachments to gdrive
mqcmd196 Jan 20, 2022
2ecb61f
[google_chat_ros]fix google chat cards not shown correctly bugs
mqcmd196 Jan 21, 2022
2186b91
[google_chat_ros]add use_yaml arg
mqcmd196 Jan 21, 2022
c10c7b2
[google_chat_ros] add helper node of google chat ros, especially dial…
mqcmd196 Feb 20, 2022
9488437
[google_chat_ros] add coding
mqcmd196 Feb 20, 2022
e9fecf1
[google_chat_ros] set user_agent
mqcmd196 Feb 20, 2022
f730f5e
[google_chat_ros] fix send message format in helper
mqcmd196 Feb 20, 2022
7a907e8
[google_chat_ros] add pub/sub library
mqcmd196 Apr 25, 2022
559e2ad
[google_chat_ros] update README for current google_chat_ros packege T…
mqcmd196 May 3, 2022
75eb686
[google_chat_ros] support GCP Pub/Sub, drop Python2 support for parsi…
mqcmd196 May 3, 2022
4676b3c
[google_chat_ros] remove unnecessary doc, change logging level of Pub…
mqcmd196 May 3, 2022
64d69e2
[google_chat_ros]README, add figures, fix typo
mqcmd196 May 3, 2022
0d1adb1
[google_chat_ros]remove unnecessary files
mqcmd196 May 3, 2022
a9b8f0e
[google_chat_ros] Drop python2.x support, remove unnecessary msgs
mqcmd196 May 3, 2022
58c8f3e
[google_chat_ros] add rostest for python importing
mqcmd196 May 3, 2022
d38087c
[google_chat_ros]rename rosparam, function names related to dialogflow
mqcmd196 May 17, 2022
d088145
[google_chat_ros] handling shutting down httpd
mqcmd196 May 17, 2022
368d14a
[google_chat_ros]fix action names, space name in helper
mqcmd196 May 17, 2022
0a21bde
[google_chat_ros] fix euslisp function
mqcmd196 May 18, 2022
e29373b
[google_chat_ros] update eus functions
mqcmd196 May 21, 2022
4714fc5
[google_chat_ros] fix pubsub bug, killnode not defined
mqcmd196 May 21, 2022
09306ec
[google_chat_ros] drop dialogflow mode
mqcmd196 Jun 8, 2022
b244360
[google_chat_ros] fix action goal instance
mqcmd196 Jun 8, 2022
5e36745
[google_chat_ros]recieving -> receiving
mqcmd196 Jun 8, 2022
9caa551
[google_chat_ros] use catkin_virtualenv
mqcmd196 Jun 15, 2022
684e28c
[google_chat_ros] docs:granting pubslish rights to pub/sub topic
mqcmd196 Jun 15, 2022
c155b7e
[google_chat_ros]add all requirements, fix pubsub client for handling…
mqcmd196 Jun 15, 2022
39cc30c
[google_chat_ros] missing test name
mqcmd196 Jul 4, 2022
1d5966a
[dialogflow_task_executive] support launch_args of app_manager
sktometometo Oct 20, 2021
1b6e304
[dialogflow_task_executive] fix format
sktometometo Oct 25, 2021
b404c4c
[dialogflow_task_executive] fix format
sktometometo Oct 25, 2021
28d54fa
[dialogflow_task_executive] fix format
sktometometo Oct 25, 2021
110c993
[dialogflow_task_executive] fix format
sktometometo Oct 25, 2021
3ccb989
Add voicevox (AI speech synthesis) package
iory Apr 16, 2022
7465899
[voicevox] Add README
iory Apr 17, 2022
d76a355
[voicevox] Add TERM
iory Apr 17, 2022
f48d171
[voicevox] Refactor Makefiles
iory Apr 17, 2022
7c968ff
[voicevox] Ignore build directory
iory Apr 17, 2022
ec540c5
[voicevox] Add python-requests
iory Apr 17, 2022
40cf68f
[voicevox] Fixed typo julius -> voicevox
iory Apr 18, 2022
bb98362
[voicevox] Add USE_SYSTEM_PACKAGES FALSE for building in melodic (#1)
tkmtnt7000 Apr 18, 2022
65d3b63
[voicevox] Install voicevox_engine using Makefile
iory Apr 18, 2022
804e14b
[voicevox] Fixed speaker id and voice name
iory Apr 18, 2022
ce0303d
[voicevox] Use python3 as default
iory Apr 18, 2022
498fa19
[voicevox] Convert bytes to str
iory Apr 18, 2022
17d5adb
[voicevox] Addy DEFAULT SPEAKER ID
iory Apr 18, 2022
f15f113
[voicevox] Install open_jtalk_dic
iory Apr 18, 2022
06d18c8
[voicevox] Load downloaded of open_jtalk_dic
iory Apr 18, 2022
7789ed4
[voicevox] Add tips
iory Apr 18, 2022
4d8cfc3
[voicevox] Remove unnecessary install step
iory Apr 19, 2022
af41c9b
[voicevox] Add get_cache_dir and check md5sum function
iory May 28, 2022
ff736a0
[voicevox] Enable cache
iory May 28, 2022
7c305ec
[voicevox] Set default cpu numthreads to 1
iory May 28, 2022
08e8817
[dialogflow_task_executive] Fix bug; add error handling to around lau…
tkmtnt7000 Jun 7, 2022
4ba0f54
[respeaker_ros] Publish audio_info
iory Jun 11, 2022
f83cb65
[respeaker_ros] Enable speech to text for multi channel.
iory Jun 11, 2022
9b5f34d
[respeaker_ros] Add audio_info arg in sample
iory Jun 11, 2022
bd84908
[respeaker_ros] Add publish_multichannel option for publishing multi …
iory Jun 11, 2022
05a375d
[respeaker_ros] Restore audio input to use argment's audio
iory Jun 12, 2022
f0e69f5
[respeaker_ros] Add publish_multichannel option to fix launch file er…
iory Jun 13, 2022
4ecf5d6
[respeaker_ros] Add roslaunch_add_file_check to test launch file format
iory Jun 13, 2022
fc68cf9
[respeaker_ros] Set audio_info topic name and check length of it.
iory Jun 13, 2022
f4f491e
[respeaker_ros] Add comment for why we add publish_multichannel option.
iory Jun 13, 2022
e8616ee
[respeaker_ros] Remove publish_multichannel option and publish raw mu…
iory Jun 13, 2022
b8e852c
[respeaker_ros] Publish spech_audio_raw
iory Jun 13, 2022
f816803
[respeaker_ros] Add comment to know more defails
iory Jun 13, 2022
c714b5b
[respeaker_ros] Publish speech audio raw
iory Jun 13, 2022
5aacc7e
[respeaker_ros] Add parameters for respaker ros
iory Jun 13, 2022
d266411
[respeaker_ros] Fixed publishing audio topic's namespace
iory Jun 13, 2022
9cfa586
[respeaker_ros] Add parameters for speech_to_text
iory Jun 13, 2022
0cd02cc
[respeaker_ros] Avoid AudioInfo import for backward compatibility
iory Jun 14, 2022
5408bc4
[respeaker_ros] Fixed bytes calculation 'self.n_channe - 2' -> '(self…
iory Jun 14, 2022
5744ed4
[rostwitter] Enable to tweet with 280(hankaku) characters
iory Aug 16, 2022
8a3c078
[rostwitter] Fixed encoding for python2
iory Aug 16, 2022
fb900ef
[rostwitter] Changed so that strings longer than 140 characters are d…
iory Aug 16, 2022
4eb2111
[rostwitter] Remove _check_and_split_word function
iory Aug 17, 2022
e8d5a33
[rostwitter] Add cv_utils to encode/decode image and extract images f…
iory Aug 17, 2022
e4024fc
[rostwitter] Use SafeLoader for yaml.load
iory Aug 17, 2022
5c3806d
[rostwitter] Support extracting base64 images and tweet them from text.
iory Aug 17, 2022
2a105ed
[rostwitter] Delete StringIO. StringIO eliminates newline \n
iory Aug 19, 2022
f1795e6
[rostwitter] Separate tweets by image.
iory Aug 20, 2022
978d9ae
[rostwitter] import izip_longest for python2 compatibility
iory Aug 22, 2022
f6f5001
[rostwitter] Fixed input is text only case
iory Aug 23, 2022
24fa9b3
[rostwitter] Add launch file
iory Aug 23, 2022
f225a45
[rostwitter] Add README
iory Aug 23, 2022
ae50eb7
[rostwitter] Assume base64 images are not contiguous without spaces
iory Sep 1, 2022
d587422
[rostwitter] Add document for base64 image
iory Sep 1, 2022
5202835
[rostwitter] Add status_code to check error
iory Sep 22, 2022
7d6cd40
[rostwitter] Avoid error when tweet post returning error code
iory Sep 22, 2022
bc6a6aa
[rostwitter] Add error_code to check error (#6)
nakane11 Sep 22, 2022
6d998c7
[rostwitter] Fix _check_post_request (#7)
nakane11 Sep 24, 2022
f27c1bf
Merge remote-tracking branch 'iory/twitter-with-base64-images' into f…
knorth55 Sep 30, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions 3rdparty/voicevox/.gitignore
@@ -0,0 +1,6 @@
build
dict
lib
node_scripts/voicevox_engine
requirements.txt
!.gitignore
73 changes: 73 additions & 0 deletions 3rdparty/voicevox/CMakeLists.txt
@@ -0,0 +1,73 @@
cmake_minimum_required(VERSION 2.8.3)
project(voicevox)

find_package(catkin REQUIRED
COMPONENTS
catkin_virtualenv
)

catkin_python_setup()

set(INSTALL_DIR ${PROJECT_SOURCE_DIR})

catkin_package()

catkin_generate_virtualenv(
INPUT_REQUIREMENTS requirements.in
PYTHON_INTERPRETER python3
USE_SYSTEM_PACKAGES FALSE
)

add_custom_command(
OUTPUT voicevox_model_installed
COMMAND make -f ${PROJECT_SOURCE_DIR}/Makefile.model
MD5SUM_DIR=${PROJECT_SOURCE_DIR}/md5sum
INSTALL_DIR=${INSTALL_DIR}
)


add_custom_command(
OUTPUT voicevox_core_installed
COMMAND make -f ${PROJECT_SOURCE_DIR}/Makefile.core
MD5SUM_DIR=${PROJECT_SOURCE_DIR}/md5sum
INSTALL_DIR=${INSTALL_DIR}
)

add_custom_command(
OUTPUT voicevox_engine_installed
COMMAND make -f ${PROJECT_SOURCE_DIR}/Makefile.engine
MD5SUM_DIR=${PROJECT_SOURCE_DIR}/md5sum
INSTALL_DIR=${INSTALL_DIR}
)

add_custom_command(
OUTPUT open_jtalk_dic_installed
COMMAND make -f ${PROJECT_SOURCE_DIR}/Makefile.open_jtalk_dic
MD5SUM_DIR=${PROJECT_SOURCE_DIR}/md5sum
INSTALL_DIR=${INSTALL_DIR}
)

add_custom_target(all_installed ALL DEPENDS
voicevox_model_installed
voicevox_core_installed
voicevox_engine_installed
open_jtalk_dic_installed)

file(GLOB NODE_SCRIPTS_FILES node_scripts/*.py)
catkin_install_python(
PROGRAMS ${NODE_SCRIPTS_FILES}
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}/node_scripts/
)
install(DIRECTORY node_scripts/voicevox_engine
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/catkin_virtualenv_scripts/
USE_SOURCE_PERMISSIONS)
install(DIRECTORY launch dict
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS)
install(PROGRAMS bin/text2wave
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/bin)

install(DIRECTORY
${INSTALL_DIR}/lib
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS)
11 changes: 11 additions & 0 deletions 3rdparty/voicevox/Makefile
@@ -0,0 +1,11 @@
all:
make -f Makefile.core
make -f Makefile.model
make -f Makefile.engine
make -f Makefile.open_jtalk_dic
clean:
make -f Makefile.core clean
make -f Makefile.model clean
make -f Makefile.engine clean
make -f Makefile.open_jtalk_dic clean
rm -rf build
28 changes: 28 additions & 0 deletions 3rdparty/voicevox/Makefile.core
@@ -0,0 +1,28 @@
# -*- makefile -*-

all: installed.viocevox_core

VERSION = 0.11.4
FILENAME = core.zip
TARBALL = build/$(FILENAME)
TARBALL_URL = "https://github.com/VOICEVOX/voicevox_core/releases/download/$(VERSION)/core.zip"
SOURCE_DIR = build/core
UNPACK_CMD = unzip
MD5SUM_DIR = $(CURDIR)/md5sum
MD5SUM_FILE = $(MD5SUM_DIR)/$(FILENAME).md5sum
SCRIPT_DIR = $( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
include $(shell rospack find mk)/download_unpack_build.mk
INSTALL_DIR = './'


installed.viocevox_core: $(SOURCE_DIR)/unpacked
mkdir -p $(INSTALL_DIR)/lib
cp build/core/lib*.so $(INSTALL_DIR)/lib/
cp build/core/*.bin $(INSTALL_DIR)/lib/
cp build/core/metas.json $(INSTALL_DIR)/lib/metas.json

clean:
rm -rf $(TARBALL)
rm -rf $(SOURCE_DIR)
rm -rf $(INSTALL_DIR)/lib
rm -rf build
24 changes: 24 additions & 0 deletions 3rdparty/voicevox/Makefile.engine
@@ -0,0 +1,24 @@
# -*- makefile -*-

all: installed.voicevox_engine

VERSION = 0.11.4
FILENAME = $(VERSION).tar.gz
TARBALL = build/$(FILENAME)
TARBALL_URL = "https://github.com/VOICEVOX/voicevox_engine/archive/refs/tags/$(FILENAME)"
SOURCE_DIR = build/voicevox_engine-$(VERSION)
UNPACK_CMD = tar xvzf
MD5SUM_DIR = $(CURDIR)/md5sum
MD5SUM_FILE = $(MD5SUM_DIR)/voicevox_engine.tar.gz.md5sum
include $(shell rospack find mk)/download_unpack_build.mk
INSTALL_DIR = './'


installed.voicevox_engine: $(SOURCE_DIR)/unpacked
cp -r build/voicevox_engine-$(VERSION) $(INSTALL_DIR)/node_scripts/voicevox_engine

clean:
rm -rf $(TARBALL)
rm -rf $(SOURCE_DIR)
rm -rf $(INSTALL_DIR)/node_scripts/voicevox_engine
rm -rf build
26 changes: 26 additions & 0 deletions 3rdparty/voicevox/Makefile.model
@@ -0,0 +1,26 @@
# -*- makefile -*-

all: installed.voicevox_model

VERSION = 1.10.0
FILENAME = onnxruntime-linux-x64-$(VERSION).tgz
TARBALL = build/$(FILENAME)
TARBALL_URL = "https://github.com/microsoft/onnxruntime/releases/download/v$(VERSION)/$(FILENAME)"
SOURCE_DIR = build/onnxruntime-linux-x64-$(VERSION)
UNPACK_CMD = tar xvzf
MD5SUM_DIR = $(CURDIR)/md5sum
MD5SUM_FILE = $(MD5SUM_DIR)/$(FILENAME).md5sum
SCRIPT_DIR = $( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
include $(shell rospack find mk)/download_unpack_build.mk
INSTALL_DIR = './'


installed.voicevox_model: $(SOURCE_DIR)/unpacked
mkdir -p $(INSTALL_DIR)/lib
cp build/onnxruntime-linux-x64-$(VERSION)/lib/* $(INSTALL_DIR)/lib

clean:
rm -rf $(TARBALL)
rm -rf $(SOURCE_DIR)
rm -rf $(INSTALL_DIR)/lib
rm -rf build
25 changes: 25 additions & 0 deletions 3rdparty/voicevox/Makefile.open_jtalk_dic
@@ -0,0 +1,25 @@
# -*- makefile -*-

all: installed.open_jtalk_dic

VERSION = 1.11.1
FILENAME = open_jtalk_dic_utf_8-1.11.tar.gz
TARBALL = build/$(FILENAME)
TARBALL_URL = "https://github.com/r9y9/open_jtalk/releases/download/v$(VERSION)/$(FILENAME)"
SOURCE_DIR = build/open_jtalk_dic_utf_8-1.11
UNPACK_CMD = tar xvzf
MD5SUM_DIR = $(CURDIR)/md5sum
MD5SUM_FILE = $(MD5SUM_DIR)/open_jtalk_dic.tar.gz.md5sum
include $(shell rospack find mk)/download_unpack_build.mk
INSTALL_DIR = './'


installed.open_jtalk_dic: $(SOURCE_DIR)/unpacked
mkdir -p $(INSTALL_DIR)/dict
cp -r build/open_jtalk_dic_utf_8-1.11 $(INSTALL_DIR)/dict

clean:
rm -rf $(TARBALL)
rm -rf $(SOURCE_DIR)
rm -rf $(INSTALL_DIR)/dict/open_jtalk_dic_utf_8-1.11
rm -rf build
103 changes: 103 additions & 0 deletions 3rdparty/voicevox/README.md
@@ -0,0 +1,103 @@
# voicevox

ROS Interface for [VOICEVOX](https://voicevox.hiroshiba.jp/) (AI speech synthesis)

## TERM

[VOICEVOX](https://voicevox.hiroshiba.jp/) is basically free to use, but please check the terms of use below.

[TERM](https://voicevox.hiroshiba.jp/term)

Each voice synthesis character has its own rules. Please use this package according to those terms.

| Character name | term link |
| ---- | ---- |
| 四国めたん | https://zunko.jp/con_ongen_kiyaku.html |
| ずんだもん | https://zunko.jp/con_ongen_kiyaku.html |
| 春日部つむぎ | https://tsukushinyoki10.wixsite.com/ktsumugiofficial/利用規約 |
| 波音リツ | http://canon-voice.com/kiyaku.html |
| 雨晴はう | https://amehau.com/?page_id=225 |
| 玄野武宏 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 白上虎太郎 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 青山龍星 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 冥鳴ひまり | https://kotoran8zunzun.wixsite.com/my-site/利用規約 |
| 九州そら | https://zunko.jp/con_ongen_kiyaku.html |

## Installation

Build this package.

```bash
cd /path/to/catkin_workspace
catkin build voicevox
```

## Usage

### Launch sound_play with VOICEVOX Text-to-Speech

```bash
roslaunch voicevox voicevox_texttospeech.launch
```

<a id="saysomething"></a>
### Say something

#### For python users

```python
import rospy
from sound_play.libsoundplay import SoundClient

rospy.init_node('say_node')

client = SoundClient(sound_action='robotsound_jp', sound_topic='robotsound_jp')

client.say('こんにちは', voice='四国めたん-あまあま')
```

You can change the voice by changing the voice_name.
You can also specify the speaker id.
Look at the following tables for further details.

| speaker_id | voice_name |
| ---- | ---- |
| 0 | 四国めたん-あまあま |
| 1 | ずんだもん-あまあま |
| 2 | 四国めたん-ノーマル |
| 3 | ずんだもん-ノーマル |
| 4 | 四国めたん-セクシー |
| 5 | ずんだもん-セクシー |
| 6 | 四国めたん-ツンツン |
| 7 | ずんだもん-ツンツン |
| 8 | 春日部つむぎ-ノーマル |
| 9 | 波音リツ-ノーマル |
| 10 | 雨晴はう-ノーマル |
| 11 | 玄野武宏-ノーマル |
| 12 | 白上虎太郎-ノーマル |
| 13 | 青山龍星-ノーマル |
| 14 | 冥鳴ひまり-ノーマル |
| 15 | 九州そら-あまあま |
| 16 | 九州そら-ノーマル |
| 17 | 九州そら-セクシー |
| 18 | 九州そら-ツンツン |
| 19 | 九州そら-ささやき |

#### For roseus users

```
$ roseus
(load "package://pr2eus/speak.l")

(ros::roseus "say_node")

(speak "JSKへようこそ。" :lang "波音リツ" :wait t :topic-name "robotsound_jp")
```

### Tips

Normally, the server for speech synthesis starts up at `http://localhost:50021`.
You can change the url and port by setting values for `VOICEVOX_TEXTTOSPEECH_URL` and `VOICEVOX_TEXTTOSPEECH_PORT`.

You can also set the default character by setting `VOICEVOX_DEFAULT_SPEAKER_ID`.
Please refer to [here](#saysomething) for the speaker id.