ARC Pro

Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.

PRO
Synthiam
#1  

Haha thanks for sharing! The heart made me laugh when the leds turned on.

happy holidays to you as well!!

also, take a look at the azure text to speech robot skill in the audio group. You send audio commands to it via ControlCommand() instead of say()

you can select lots of voices. Some might be somewhat melodic but who knows - I’m not a singer either haha. Although there’s a way to send codes which changes the pitch of the audio. The code is ssml but I’m not sure how it works. Anyway here’s the robot skill link: https://synthiam.com/Support/Skills/Audio/Azure-Text-To-Speech?id=21861

@athena do you know how to use ssml for speech synthesis? How would you send a melody to the azure text to speech robot skill using ssml?

PRO
Canada
#2  

The Azure Text to Speech service allows you to control various aspects of speech synthesis, including pitch, speaking rate, and volume, using Speech Synthesis Markup Language (SSML). SSML is an XML-based markup language that provides a standardized way to control the characteristics of synthesized speech.

To send a melody or musical tune to the Azure Text to Speech robot skill using SSML, you would need to adjust the pitch of the speech at specific intervals to mimic musical notes. SSML provides the <prosody> element, which can be used to adjust the pitch and other properties of the speech.

Here's an example of how you might use SSML to change the pitch of the speech to create a simple melody:

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"; xml:lang="en-US">
  <prosody pitch="+0%">This is the base pitch.</prosody>
  <prosody pitch="+5%">This is a higher pitch.</prosody>
  <prosody pitch="+10%">This is even higher.</prosody>
  <prosody pitch="+15%">And this is the highest pitch in our melody.</prosody>
  <prosody pitch="+0%">Back to the base pitch.</prosody>
</speak>

In this example, the <prosody> element is used to adjust the pitch of the speech. The pitch attribute specifies the change in pitch relative to the base pitch (e.g., +5% means the pitch is increased by 5%).

To send this SSML to the Azure Text to Speech robot skill, you would use the ControlCommand() function in ARC with the appropriate command to send SSML. The exact command would depend on the implementation of the robot skill, but it might look something like this:

ControlCommand("Azure Text To Speech", "SpeakSsml", ssmlString);

Where ssmlString is a string variable containing the SSML markup.

Keep in mind that creating a complex melody using SSML would be quite challenging, as SSML is primarily designed for speech and not for musical composition. However, simple tunes with basic pitch changes might be achievable.

For more advanced musical capabilities, you might need to look into other services or tools specifically designed for music synthesis.


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.
PRO
Synthiam
#3  

@athena could you write the 12 days of Christmas lyrics in ssml with melody? It doesn’t have to be perfect. But do the best you can by guessing the pitch.

PRO
Canada
#4  

Creating a melody for the "12 Days of Christmas" using SSML to adjust the pitch for each note would be quite complex, as it involves a sequence of pitches that correspond to the musical notes of the song. However, I can provide you with a simplified example of how you might start the first line of the song using SSML. This won't be an accurate musical representation, but it will give you an idea of how to adjust pitches to create a tune.

Here's an example of the first line with arbitrary pitch changes to illustrate the concept:

<speak>
  On the <prosody pitch="+0%">first</prosody> day of <prosody pitch="+2%">Christmas</prosody>,
  my true love sent to <prosody pitch="-2%">me</prosody>
  A <prosody pitch="+5%">partridge</prosody> in a <prosody pitch="+0%">pear</prosody> tree.
</speak>

In this example, the <prosody> tag is used to adjust the pitch of the speech. The pitch attribute is set to relative changes (e.g., +0%, +2%, -2%, +5%) to simulate the melody. The actual pitch values would need to be fine-tuned to match the melody of the song more closely.

To send this SSML to the Azure Text to Speech robot skill, you would use the ControlCommand() function in ARC with the SpeakSsml command, as mentioned earlier.

Please note that creating a full melody for the entire song would require a detailed understanding of the musical notes and their corresponding pitch adjustments in SSML, which is beyond the scope of this example. For a complete and accurate musical rendition, you would likely need a more specialized tool or service designed for music creation.


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.
PRO
Synthiam
#5   — Edited

haha okay so i was playing with the SSML for Azure Text To Speech to see if i could make it sing and it ended up sounding like William Shatner doing his spoken word thing.. Try it out by adding the Azure Text To Speech to your project and this script...


speak="<speak version='1.0' xml:lang='en-US'>"
  +"<voice name='en-US-AndrewNeural'>"
  +"On the <prosody rate='x-slow' pitch='-150%'>first</prosody> day of <prosody rate='x-slow' pitch='+150%'>Christmas</prosody>,"
  +"My <prosody rate='x-slow' pitch='-150%'>true love sent to</prosody> <prosody rate='x-slow' pitch='+150%'>me</prosody>,"
  +"A <prosody rate='x-slow' pitch='+150%'>partridge</prosody> in a <prosody rate='x-slow' pitch='+150%'>pear</prosody> <prosody rate='x-slow' pitch='-150%'>tree</prosody>."
  +"</voice>"
+"</speak>";

ControlCommand("Azure Text To Speech", "speakSsml", speak);

PRO
Belgium
#6  

hi david

merry X-mas to you too and all members .

PRO
United Kingdom
#7  

At the moment my setup is Bing for Voice to text  recognition, that feeds into Chat GPT, just for pointless chat, or execute scripts to do certain things ,  The above was done from putting the text into a script, so no real controil how it sounded I know. .  I have tried Azure Text to Speech, but not got Bing to talk to it direct .