
PRO
PEEK.CHRIS
USA
Asked
Chatgpt Skill Response Delay Issue
I have a question regarding the OpenAI ChatGPT robot skill in Synthiam ARC.
When I use Bing Speech Recognition in conjunction with the ChatGPT skill, activated by a wake word, the responses seem to be consistently one question behind.
Why is there a delay or silence when I ask the first question?
Additionally, why does it respond to the first question only after I have asked a second question?
How can I resolve this issue so that the system answers the correct question in real-time?
Related Hardware EZ-InMoov Robot Head
Related Controls
Speech Synthesis Settings
OpenAI ChatGPT
If you could share the code you have in the robot skills, that would be useful. Otherwise, it's a guessing game
. I can't think of why the GPT responses could be one behind. To be clear, the first time you ask a question, there's no response from the GPT.
Post the code that's in each of these (and please format the code that you paste into the response so it can be read, thanks)
Post the code from those two robot skills so it can be better understood what you have configured
To address the issue of the OpenAI ChatGPT robot skill responding one question behind, let's first ensure that the scripts in both the Bing Speech Recognition and OpenAI ChatGPT skills are correctly configured. Please follow these steps:
Bing Speech Recognition - All Recognized Script:
OpenAI ChatGPT - Response Script:
Check for Delays:
Test the Configuration:
Debugging:
By ensuring that the scripts are correctly configured and there are no delays, the system should respond to the correct question in real-time. If you continue to experience issues, please share the specific scripts you are using, and we can further troubleshoot the problem.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Hi, had the same problem.
Here are the simple setups for my chatgpt response script and my bing speech recognition script.
Still not sure what I need to add to fix this issue.
The issue is that you have the same code in both robot skills. You're speaking the response from open ai in both robot skills.
In the bing speech recognition robot skill you should be pushing the text to the gpt robot skill
In the gpt robot skill you should be pushing the text to the azure text to speech robot skill.
Look at it this way...
You need to LISTEN before you can THINK before you can SPEAK. Make sense?
LISTEN = bing speech recognition THINK = gpt SPEAK = azure text to speech
You can right-click in the editor or use the Cheat Sheet to see the available control commands. There are words written that describe what the control commands do when you hover over them.
PS, images can't be read by the AI or support system, so it's best to copy and paste them next time. You can select the text to copy with the mouse and right-click to choose COPY or press CTRL-C. That will copy the text to the clipboard. After that, you can use CTRL-V to paste it or right-click it in the forum to paste it into the message. There are buttons at the top of the editor for formatting code. It is like how Microsoft Word, Google Docs, Email clients, etc, work. Having the words in the message rather than images makes a huge difference on how the system or anyone else can help.
@Athena do you have anything more to add?
Certainly! Let's break down the steps to ensure your setup is correctly configured for seamless interaction between Bing Speech Recognition, OpenAI ChatGPT, and Azure Text-to-Speech:
Step-by-Step Configuration
Bing Speech Recognition:
OpenAI ChatGPT:
Azure Text-to-Speech:
Debugging Tips
Check for Delays:
Test the Configuration:
Debugging:
Additional Considerations
Ensure Correct Order:
Control Commands:
By following these steps, you should be able to resolve the issue of delayed responses and ensure that your system answers the correct question in real-time. If you have any further questions or need additional assistance, feel free to ask!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Sorry I posted the same screenshot twice in my previous comment.
Those are the correct scripts. Looks like you have it figured out! As DJ posted in his image above, that's the ControlCommand workflow that you wish to follow.
*Note: we edited your post to format the code so it could be visually understood. Without code formatting, we humans can't read it
. When possible, in the future, the buttons in the editor can be used to format code. If you do not, our system will automatically remove your posts if they can't be read because they'll be considered illegible. But fortunately, sometimes we humans get to it to help provide a tip, so that doesn't happen.
I Did not change anything yet. these are the current scripts and the delay issues is still there.
Hey Chris. What issue are you having? Your code looks fine.
Still the response delay issue. chatgpt remains silent when I ask the 1st question. Then every subsequent is answers the previous one. it is always responding one interaction behind the current one.
Chris, get the $BingSpeech variable first then send it to chatgpt.
His scripts looks fine
Have you tried clearing your conversation history? Maybe the AI is doing that on purpose.
Also, if you ever have an issue, ensure you’re running the latest software. Your software is outdated (ARC Pro Version: 2025.02.23.00), which could also be an issue. It’s impossible to diagnose something when the software is outdated.
Although I don’t think it’s a bug. Something tells me the AI is being cranky, and clearing your history will make a difference. Also, use the default model. Default settings. If you change a bunch of settings, who knows what that AI will do haha. The AI learns by its behavior, like a trend - so if it's performing a certain way, it may choose to continue that path. Clear the conversation, make sure you're using a good model (ideally default model gpt-4o), and you should be good to go.
Everything is updated and conversation cache is cleared, but I am still getting the same problem. I am going to experiment with clearing the $BingSpeech variable with some feedback reporting and see what I can find. I am stumped.
I got the robot to write some poetry about hotdogs and kittens albeit with a delay. I can sort of make it catch up by manually pressing start and stop record quickly after asking it a question with a wake word. It would be nice not to have to use a clunky work around.
Robot Poetry
I made a video of the error and I show my setup. Maybe you can see something dumb I am missing?
Some things aren't adding up with these details lol, I'm confused. The code you posted above is...
Your project has the following robot skills.
At some point, you had added 2 openai chat gpt skills, removed one, and kept the one with the 2 on the end. But the code you posted references 'OpenAI ChatGPT' and not 'OpenAI ChatGPT 2'. The ControlCommand in the code you provided does not reference 'OpenAI ChatGPT 2'. I'm not sure how what you have even works at all. haha
@Synthiam_support, we need an update to ARC that displays the version of the robot skill plugins in the debug to clarify better what users have going on. We don't know what version the robot skills are or if they're the newest. I'm guessing not, but I also can't understand how this project even works
@Chris, with what you have posted, I don't see how it can work at all, let alone partially work. Can you share your project? That's the easiest then I can tell you how to fix it. My first suggestion is to remove the 'OpenAI ChatGPT 2' and add a new one so it has the correct name 'OpenAI ChatGPT' used in your ControlCommand scripts.
But again, I just can't understand how it works at all when the robot skills in the ControlCommand is named entirely different. haha is it April 1st?
@Chris, can you post the project file either by saving it to the cloud and making it public or uploading it here using the FILE option in the editor?
If you do not want your project shared, you can create a new project that demonstrates the same behavior and share it using either method.
That Is a pretty fair assessment. I really appreciate the help and responsiveness. I definitely got excited and dove in headfirst. I've added and removed a ton of skills over and over again. To my detriment I tend to get my hands dirty and learn by trial and error instead of reading documentation and going through the proper tutorials, so It is no Suprise that everything can be a bit of a mess.
I think what I will do is just scrap the project version and build a new one from scratch with lessons learned and see if that resolves things.
Completely unrelated question: I am using an EZB ioTiny setup in client mode. When I try to use the EZ-B connection skill to scan the network I can never see it and I just enter the IP address manually after looking it up on my router. It goes right though the range but doesn't see it, It should be broadcasting its presence? But I can't see any option on its setup page that explicitly says so. Not sure if there is an issue with the EZ-B not broadcasting or with the skill not picking it up.
I saved project to synthiam cloud as "AI_TESTBED_Chris"
I don't see the project AI_TESTBED_Chris. Is it saved as public? Due to privacy restrictions, we can't see apps that aren't marked as public. They're not accessible by anyone unless they're public.
I think it is public now. Just has one tag for "incomplete"
Oh this is easy. Your script is in the "Start Listening" for Bing Speech Recognition.
The script is in the wrong place
I'll add a few tips for ya as well.
you have the chat gpt robot skill configured to use the Azure Text To Speech, which is great. But you also have the speech settings robot skill added. Just know that the speech settings only work with the internal "robotic" Windows voice that you get when using the Audio.say() and Audio.sayEZB() commands. https://synthiam.com/Support/Skills/Audio/Speech-Synthesis-Settings?id=16054
In the auto position, some scripts can run for each action. The button is red when a script is added to it. The scripts currently use the "Audio.say()" commands. So, the voices between Auto Position and gpt will be different. You'll want to edit those and move them to the ControlCommand for the Azure text-to-speech if you wish to have the voices the same.
Below is an explanation addressing your questions:
Why the response delay?
The core issue is that the script triggering the ChatGPT call is placed in the wrong event.
The Start Listening event runs when Bing Speech Recognition begins to listen. Any script placed there will run at that very moment and doesn’t capture the actual recognized text.
As a result, the ChatGPT robot skill is processing the previous question rather than the current one. This is why it appears one question behind.
How to fix it:
Move the Script:
Remove the ChatGPT call from the Start Listening event.
Place the ChatGPT ControlCommand inside the Any Recognized event.
This ensures that when Bing Speech Recognition converts speech to text (that is, once a phrase is recognized), it immediately sends the correct text to ChatGPT.
Verify the Script Flow:
Ensure that the Start Listening event is only used to prepare the skill for listening (e.g., turning on indicators, playing a sound, etc.).
The Any Recognized event should be where you send the recognized text via a ControlCommand (e.g.,
controlCommand(OpenAI ChatGPT, Send, getVar($BingSpeech));
) so that the ChatGPT skill gets the actual spoken text.Additional Tips on Speech Synthesis:
You mentioned you are using the ChatGPT skill with Azure Text To Speech, which is great for a more natural voice.
If you have the Speech Synthesis Settings robot skill active, keep in mind that it works only with the default internal Windows voice when using the Audio.say() or Audio.sayEZB() commands.
In your project, if you have Auto Position scripts that also trigger Audio.say() commands, they’ll produce a different (and more robotic) voice than the ChatGPT Azure voice.
To have all speech come through with the Azure voice, update these scripts to use a ControlCommand that calls Azure Text To Speech (or move them into the ChatGPT flow that uses Azure TTS).
Reference:
Speech Synthesis Settings Documentation
Summary:
The response is delayed because the ChatGPT call is in the wrong event (Start Listening) instead of Any Recognized.
Move your ChatGPT ControlCommand to the Any Recognized script for real-time response.
Also, if you want a consistent voice throughout your project, ensure that all parts of your project are using the Azure Text To Speech commands rather than mixing with the internal Windows voice.
Does this help clarify the issue? Let me know if you need further assistance with reorganizing your script or any additional tips.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.