# How can I route Stretch robot TTS audio to my PC speakers instead of the robot’s onboard speaker?

**URL:** <https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487>\
**Category:** Discuss\
**Created:** [April 20, 2026, 5:50pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487 "2026-04-20T17:50:13Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 20, 2026, 5:50pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/1 "2026-04-20T17:50:13Z")

</div>

Hi everyone,

I am running `stretch.app.ai_pickup` with `--use_llm` and controlling the robot remotely from my workstation (Ubuntu PC).

By default, when the robot executes a `"say"` command, the audio plays from the robot’s onboard speaker.

I would like to instead hear all robot speech from my PC speakers (e.g., USB conference speaker connected to my workstation), not from the robot hardware.

Currently:

- Robot is running the ROS2 bridge (`run_stretch_ai_ros2_bridge_server.sh`)

- I run `python -m stretch.app.ai_pickup --use_llm` from my PC

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 22, 2026, 11:55pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/2 "2026-04-22T23:55:50Z")

</div>

Hi @Mallak_Alqaisi,

We’ve implemented a small update that allows routing the TTS audio to your workstation instead of the robot. It hasn’t been merged into the main branch yet, but you’re welcome to try it out.

To test this:

1. On the robot side, everything remains the same, you can continue running the ROS2 bridge as usual:

2. On your GPU/workstation machine, go to your `stretch_ai` repo:

3. Fetch the latest changes and switch to the feature branch:

4. Run the app with the new flag:

The new `--tts_target` option lets you choose where audio is played:

- `robot` (default): audio plays from the robot speaker
- `pc`: audio plays from your workstation speakers

So if you don’t set the flag, behavior remains unchanged.

One important note: audio will play through whatever output device your GPU/workstation is using, so make sure your USB speaker (or desired audio device) is connected and selected there.

Also, if you’re interested, here is the [PR](https://github.com/hello-robot/stretch_ai/pull/299) for this change.

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 27, 2026, 5:32pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/3 "2026-04-27T17:32:38Z")

</div>

This what i got when i run the commands above:

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/2X/7/7574ea7fc15f03a43185435bb85f95afda4cd9cb.png)

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 27, 2026, 8:04pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/4 "2026-04-27T20:04:43Z")

</div>

Hi @Mallak_Alqaisi,

On the GPU/workstation side, you’ll still need to activate the environment and set the robot IP before running the app.

Could you try running the full pipeline like this on your GPU machine?

```auto
mamba activate stretch_ai
cd ~/stretch_ai
./scripts/set_robot_ip.sh <ROBOT_IP>
python -m stretch.app.ai_pickup --use_llm --tts_target pc

```

If it still doesn’t work after this, feel free to send over the output you’re seeing and I’ll take a closer look with you.

Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 27, 2026, 8:44pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/5 "2026-04-27T20:44:53Z")

</div>

![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/2X/c/c7569763f3ccec23a10d008def2c6a0ce701ae1a.png)

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 27, 2026, 8:48pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/6 "2026-04-27T20:48:10Z")

</div>

I got this error: Error: No such option: --tts\_target

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 27, 2026, 9:08pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/7 "2026-04-27T21:08:56Z")

</div>

It looks like your local `stretch_ai` might not be on the branch that includes the `--tts_target` option.

Could you confirm which branch you’re on by running:

```auto
git branch

```

You should see `feature/tts-output-target` listed and selected.

If not, you can switch to it with:

```auto
git fetch
git checkout feature/tts-output-target
git branch

```

After switching, please try running the command again and let me know what you see.

Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 28, 2026, 2:49pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/8 "2026-04-28T14:49:13Z")

</div>

This is what i get:

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/2X/e/ed468b9fa8f81173a11070ac6ca9918344422d97.png)

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 28, 2026, 2:51pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/9 "2026-04-28T14:51:59Z")

</div>

It works well, Thank you very much.

---

<div class="post-metadata">

**Author:** ![Mallak\_Alqaisi](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@Mallak\_Alqaisi](https://forum.hello-robot.com/u/Mallak_Alqaisi)\
**Post date:** [April 28, 2026, 3:01pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/10 "2026-04-28T15:01:51Z")

</div>

But i still hear the sound from robot said: I find ball that i can reach, Can i convert this sound from robot’s speaker to PC’s speaker ?

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 28, 2026, 5:45pm UTC](https://forum.hello-robot.com/t/how-can-i-route-stretch-robot-tts-audio-to-my-pc-speakers-instead-of-the-robot-s-onboard-speaker/1487/11 "2026-04-28T17:45:55Z")

</div>

Hi @Mallak_Alqaisi,

I took a closer look, and the reason you’re still hearing that message from the robot is that some parts of `stretch_ai` send speech directly to the robot speaker.

For example, the message `I found a ball that I can reach` comes from:

```auto
self.agent.robot_say(...)

```

which always plays through the robot.

If you’d like those messages to play from your workstation instead, you would need to replace those calls with:

```auto
self.agent.say(...)

```

so they use the local (PC) speaker.

Right now, `--tts_target pc` works for the main LLM responses, but some internal task messages are still using the robot speaker directly.

Best,  
Jason
