|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]
Messages
Services
Plugins
Recent questions tagged voicevox at Robotics Stack Exchange
|
voicevox package from jsk_3rdparty repovoicevox chaplus_ros emotion_analyzer gdrive_ros google_chat_ros influxdb_store jsk_power_switching_tools respeaker_ros ros_speech_recognition rospatlite sesame_ros switchbot_ros |
ROS Distro
|
Package Summary
| Version | 3.0.1 |
| License | MIT |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/jsk-ros-pkg/jsk_3rdparty.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-11-13 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Iori Yanokura
- Michitoshi Tsubaki
Authors
- Iori Yanokura
voicevox
ROS Interface for VOICEVOX (AI speech synthesis)
This package supports both ROS 1 and ROS 2 with the same launch arguments and environment variables.
For ROS 2, read roslaunch voicevox voicevox_texttospeech.launch as ros2 launch voicevox voicevox_texttospeech.launch.xml and rosrun as ros2 run.
Quick Start
Choose the deployment pattern that best fits your needs:
# Pattern A: Direct Docker + ROS client (Multi-machine) | 直接Docker + ROSクライアント(マルチマシン)
# Server machine:
docker run --rm --gpus all -p '50021:50021' voicevox/voicevox_engine:nvidia-ubuntu20.04-latest
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern B: ROS-managed Docker + ROS client (Multi-machine) | ROS管理Docker + ROSクライアント(マルチマシン)
# Server machine:
roslaunch voicevox voicevox_texttospeech.launch docker_only:=true
# Client machine:
roslaunch voicevox voicevox_texttospeech.launch host:=<server_ip> port:=50021
# Pattern C: All-in-one (Docker + ROS on same machine) | オールインワン(同一マシンでDocker+ROS)
roslaunch voicevox voicevox_texttospeech.launch use_docker:=true
# Pattern D: Local VOICEVOX without Docker (CPU only) | ローカルVOICEVOX(Dockerなし、CPU版)
# VOICEVOX engine is automatically installed during catkin build
roslaunch voicevox voicevox_texttospeech.launch
Patterns A-C provide GPU acceleration support through Docker. Pattern D runs locally with CPU only. パターンA-CはDockerを通じたGPUによる高速な音声合成をサポート。パターンDはCPUのみでローカル実行。
TERM
VOICEVOX is basically free to use, but please check the terms of use below.
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 |
| もち子さん | https://vtubermochio.wixsite.com/mochizora/利用規約 |
| 剣崎雌雄 | https://frontier.creatia.cc/fanclubs/413/posts/4507 |
| WhiteCUL | https://www.whitecul.com/guideline |
| 後鬼 | https://ついなちゃん.com/voicevox_terms/ |
| No.7 | https://voiceseven.com/#j0200 |
| ちび式じい | https://docs.google.com/presentation/d/1AcD8zXkfzKFf2ertHwWRwJuQXjNnijMxhz7AJzEkaI4 |
| 櫻歌ミコ | https://voicevox35miko.studio.site/rule |
| 小夜/SAYO | https://316soramegu.wixsite.com/sayo-official/guideline |
| ナースロボ_タイプT | https://www.krnr.top/rules |
| †聖騎士 紅桜† | https://commons.nicovideo.jp/material/nc296132 |
| 雀松朱司 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 麒ヶ島宗麟 | https://virvoxproject.wixsite.com/official/voicevoxの利用規約 |
| 春歌ナナ | https://nanahira.jp/haruka_nana/guideline.html |
| 猫使アル | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 猫使ビィ | https://nekotukarb.wixsite.com/nekonohako/利用規約 |
| 中国うさぎ | https://zunko.jp/con_ongen_kiyaku.html |
| 栗田まろん | https://aivoice.jp/character/maron/ |
| あいえるたん | https://www.infiniteloop.co.jp/special/iltan/terms/ |
| 満別花丸 | https://100hanamaru.wixsite.com/manbetsu-hanamaru/rule |
| 琴詠ニア | https://commons.nicovideo.jp/works/nc315435 |
| Voidoll | https://blog.nicovideo.jp/niconews/224589.html |
| 中部つるぎ | https://zunko.jp/con_ongen_kiyaku.html |
| ぞん子 | https://zonko.zone-energy.jp/guideline |
Installation
Build this package.
cd /path/to/catkin_workspace
catkin build voicevox
For ROS 2 (Python 3.12 or newer is required; python packages are installed with uv)
cd /path/to/colcon_workspace
colcon build --packages-up-to voicevox
Optional (Using Docker with GPU acceleration)
VOICEVOX supports Docker deployment with GPU acceleration, which enables significantly faster speech synthesis compared to CPU-only processing.
Prerequisites
File truncated at 100 lines see the full file
Changelog for package voicevox
3.0.1 (2026-11-10)
3.0.0 (2026-11-06)
-
Merge pull request #581 from k-okada/ros2-buildfarm-ros-environment Fix ROS2 buildfarm binary jobs: ros_environment, bundled flac, numpy wheel
-
[voicevox, chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, ros_speech_recognition, rospatlite, sesame_ros, switchbot_ros] depend on ros_environment for ROS2 buildfarm The buildfarm builds each package with only its own build dependencies, so without ros_environment $ROS_VERSION is empty and CMakeLists.txt takes the ROS1 branch (same as jsk_common#1835). voicevox also guesses ROS_VERSION from AMENT_PREFIX_PATH when it is unset. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into fix_hoya
-
Merge pull request #573 from Michi-Tsubaki/voicevox-ros1-ros2 [voicevox] Support both ROS1 and ROS2 build
-
Merge pull request #13 from k-okada/voicevox-string-soundrequest [voicevox] speak both SoundRequest and text (std_msgs/String) with output_type:=wav and audio
-
[voicevox] README: speak SoundRequest and text (std_msgs/String) Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=wav: speak text (std_msgs/String) on robotsound_jp/text too sound_play only subscribes SoundRequest, so text_to_sound_request.py relays text (std_msgs/String) on robotsound_jp/text to sound_play as a SoundRequest to say (arg2: ~speaker), so that both output_type:=wav and output_type:=audio speak both SoundRequest on robotsound_jp and text on robotsound_jp/text. It uses rospy/rclpy directly, as jsk_ros1_ros2_compat is not a ROS1 dependency. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] output_type:=audio: speak SoundRequest on robotsound_jp too request_synthesis.py --output-type audio also subscribes SoundRequest on robotsound (arg: text, arg2: voice, e.g. from SoundClient.say()) as sound_play does, so that clients of sound_play work with both output_type:=wav and output_type:=audio. Text (std_msgs/String) moves from robotsound_jp to robotsound_jp/text, as robotsound_jp is now SoundRequest. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge pull request #12 from mqcmd196/fix/voicevox-audio-info Fix audio metadata for streamed VOICEVOX PCM
-
Restore text subscription queue depth
-
Remove redundant audio_info republish
-
Fix audio metadata for streamed VOICEVOX PCM
-
[voicevox] remove AMENT_IGNORE, as voicevox now supports ROS2 Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
Merge branch 'master' into voicevox-ros1-ros2
-
Merge pull request #575 from k-okada/ros2-support Add ROS2 (jazzy) support to chaplus_ros, emotion_analyzer, gdrive_ros, google_chat_ros, influxdb_store, power_switching_tools_ros, respeaker_ros, rospatlite, sesame_ros, switchbot_ros
-
Merge pull request #11 from k-okada/voicevox-gpu-on-ros1-ros2 [voicevox] Add use_gpu option and GPU warm-up (#577) on top of ROS1/ROS2 support
-
[voicevox] Add use_gpu to the ROS2 launch file Same as voicevox_texttospeech.launch: pass use_gpu to run-voicevox-docker. Co-Authored-By: Claude Opus 5.5 <<noreply@anthropic.com>>
-
[voicevox] Warm up the VOICEVOX GPU engine after the docker container starts
-
[voicevox] Add use_gpu option to select the GPU or CPU docker image
-
Add ROS 2 command for listing speakers Updated command for listing speakers to include ROS 2. Co-authored-by: Copilot Autofix powered by AI <<175728472+Copilot@users.noreply.github.com>>
-
[GA] add ROS2 (jazzy) CI and AMENT_IGNORE packages not yet ported to ROS2
- ros2.yaml: industrial_ci on jazzy. The ROS2 ports depend on jsk_ros1_ros2_compat >= 3.0.2 (jsk_common), installed by rosdep from its jazzy release.
- AMENT_IGNORE the packages not ported to ROS2 yet.
- config.yml: AMENT_IGNORE is treated as CATKIN_IGNORE by rosdep's package discovery, so remove them before rosdep install in the ROS1 jobs (same as jsk_common). Also set ROS_VERSION=1 for indigo, which
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| catkin_virtualenv | |
| jsk_ros1_ros2_compat | |
| catkin | |
| ament_cmake | |
| ros_environment | |
| sound_play | |
| sound_play_msgs | |
| rclpy | |
| std_msgs | |
| audio_common_msgs | |
| launch_ros |
System Dependencies
| Name |
|---|
| git |
| python3-dev |
| unzip |
| wget |
| python3 |
Dependant Packages
Launch files
- launch/voicevox_texttospeech.launch
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true] — Respawn sound_play node or not (default: true)
- default_speaker [default: $(optenv VOICEVOX_DEFAULT_SPEAKER_ID 2)] — Default speaker for VOICEVOX
- host [default: $(optenv VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(optenv VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1] — Number of cpu threads
- use_docker [default: false] — Use docker or not (default: false)
- docker_only [default: false] — Launch only docker container without sound_play node (default: false)
- remote_only [default: false] — Connect to remote server without starting local server (default: false)
- output_type [default: wav] — wav: play the speech with sound_play (robotsound_jp action). audio: publish it as raw PCM on audio (audio_common_msgs/AudioData) for e.g. audio_play (format:=wave), for SoundRequest on robotsound_jp. Both also speak text (std_msgs/String) on robotsound_jp/text; needs jsk_ros1_ros2_compat (default: wav)
- sample_rate [default: 16000] — Sample rate of the audio topic (output_type:=audio)
- volume_scale [default: 1.0] — Volume of the audio topic (output_type:=audio)
- use_gpu [default: false] — Use GPU for the docker container (default: false)
- launch/voicevox_texttospeech.launch.xml
-
- device [default: ]
- launch_sound_play [default: true]
- sound_play_respawn [default: true]
- default_speaker [default: $(env VOICEVOX_DEFAULT_SPEAKER_ID 2)]
- host [default: $(env VOICEVOX_TEXTTOSPEECH_URL localhost)]
- port [default: $(env VOICEVOX_TEXTTOSPEECH_PORT 50021)]
- cpu_num_threads [default: 1]
- use_docker [default: false]
- docker_only [default: false]
- remote_only [default: false]
- output_type [default: wav]
- sample_rate [default: 16000]
- volume_scale [default: 1.0]
- use_gpu [default: false]