{"id":56828,"date":"2025-11-26T13:57:15","date_gmt":"2025-11-26T03:57:15","guid":{"rendered":"https:\/\/www.cloudproinc.com.au\/?p=56828"},"modified":"2025-11-26T13:57:17","modified_gmt":"2025-11-26T03:57:17","slug":"customise-voice-synthesis-with-azure-speech-and-ssml","status":"publish","type":"post","link":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/","title":{"rendered":"Customise Voice Synthesis With Azure Speech And SSML"},"content":{"rendered":"\n<p>In this blog post Customise Voice Synthesis With Azure Speech And SSML we will walk through how to shape exactly how your applications sound using Microsoft Azure Speech and SSML.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Whether you are building an IVR, virtual assistant, e-learning product, or accessibility feature, the way your app speaks matters. In <em>Customise Voice Synthesis With Azure Speech And SSML<\/em>, we will start with what the technology does at a high level, then move into practical examples you can apply today.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-azure-speech-and-ssml-actually-do\">What Azure Speech And SSML Actually Do<\/h2>\n\n\n\n<p>Azure Speech is part of Azure Cognitive Services. It offers text-to-speech (TTS), speech-to-text, translation, and related capabilities via cloud APIs. For TTS specifically, Azure uses deep neural networks trained on recordings from voice actors and large language datasets.<\/p>\n\n\n\n<p>When you send text to the Azure Speech service, the model converts it into a phonetic representation, predicts prosody (timing, emphasis, intonation), and then generates an audio waveform. The result sounds far more natural than the robotic synthesis from a few years ago.<\/p>\n\n\n\n<p>SSML (Speech Synthesis Markup Language) is an XML-based standard that lets you control how that text is spoken. Instead of just sending &#8220;plain&#8221; text, you wrap parts of your content in SSML tags to guide the engine \u2014 things like rate, pitch, pauses, pronunciation, and which voice to use.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-customisation-matters\">Why Customisation Matters<\/h2>\n\n\n\n<p>Plain TTS output is often acceptable, but it can be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Too fast or too slow for your audience<\/li>\n\n\n\n<li>Monotone, lacking emphasis on key information<\/li>\n\n\n\n<li>Incorrect for names, acronyms, or technical jargon<\/li>\n\n\n\n<li>Inconsistent across different languages or channels<\/li>\n<\/ul>\n\n\n\n<p>With SSML and Azure Speech, you can tune the experience to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Match your brand voice and tone<\/li>\n\n\n\n<li>Improve comprehension and reduce user effort<\/li>\n\n\n\n<li>Handle complex content like phone numbers, dates, and URLs<\/li>\n\n\n\n<li>Localise behaviour to different regions and languages<\/li>\n<\/ul>\n\n\n\n<p>Think of SSML as the difference between &#8220;reading text out loud&#8221; and &#8220;performing a script&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-core-concepts-you-need-to-know\">Core Concepts You Need To Know<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-voices-and-neural-tts\">1. Voices And Neural TTS<\/h3>\n\n\n\n<p>Azure provides a catalogue of voices in different languages, including neural voices that sound more natural and expressive. Each voice has an identifier like <code>en-AU-NatashaNeural<\/code> or <code>en-US-GuyNeural<\/code>.<\/p>\n\n\n\n<p>You can select a voice in SSML using the <code>&lt;voice&gt;<\/code> element, or via API parameters. Neural voices are generally what you want for modern applications unless cost or compatibility pushes you elsewhere.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-ssml-structure\">2. SSML Structure<\/h3>\n\n\n\n<p>SSML documents are XML. A typical minimal document looks like this:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-974308252562b278f42c8b1fa7575320\"><code>&lt;speak version=\"1.0\" xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    Hello from Azure Speech using SSML.\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Key elements you will use often:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>&lt;speak><\/code> \u2013 root container for SSML<\/li>\n\n\n\n<li><code>&lt;voice><\/code> \u2013 choose a specific voice<\/li>\n\n\n\n<li><code>&lt;prosody><\/code> \u2013 control rate, pitch, volume<\/li>\n\n\n\n<li><code>&lt;break><\/code> \u2013 insert pauses<\/li>\n\n\n\n<li><code>&lt;say-as><\/code> \u2013 control pronunciation of numbers, dates, etc.<\/li>\n\n\n\n<li><code>&lt;sub><\/code> \u2013 substitute a different spoken form<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-text-only-vs-ssml-requests\">3. Text-only Vs SSML Requests<\/h3>\n\n\n\n<p>When calling Azure Speech, you can send either:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Plain text with a chosen voice and language<\/li>\n\n\n\n<li>SSML markup that embeds both the text and all instructions<\/li>\n<\/ul>\n\n\n\n<p>SSML gives you far more control and should be your default for anything customer-facing or branded.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-setting-up-azure-speech-on-cloudproinc-com-au-projects\">Setting Up Azure Speech On CloudProinc.com.au Projects<\/h2>\n\n\n\n<p>From a project perspective, you will usually:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create an Azure resource for Speech in the Azure Portal.<\/li>\n\n\n\n<li>Capture the <strong>Key<\/strong> and <strong>Region<\/strong> for your resource.<\/li>\n\n\n\n<li>Use the Speech SDK (or REST) from your chosen platform (.NET, Node.js, Python, Java, etc.).<\/li>\n\n\n\n<li>Start with plain TTS, then add SSML as you refine the experience.<\/li>\n<\/ol>\n\n\n\n<p>Below we focus on SSML. The examples use REST so they are portable across tech stacks commonly used in CloudProinc.com.au customer environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-basic-ssml-example-with-azure-speech-rest-api\">Basic SSML Example With Azure Speech REST API<\/h2>\n\n\n\n<p>The simplest call to Azure Speech with SSML looks like this (pseudo-<code>curl<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-310c1b686c1433868926a56a0f41cc66\"><code>curl -X POST \\\n  -H \"Ocp-Apim-Subscription-Key: &lt;YOUR_KEY&gt;\" \\\n  -H \"Content-Type: application\/ssml+xml\" \\\n  -H \"X-Microsoft-OutputFormat: audio-16khz-32kbitrate-mono-mp3\" \\\n  \"https:\/\/&lt;YOUR_REGION&gt;.tts.speech.microsoft.com\/cognitiveservices\/v1\" \\\n  --data \"&lt;speak version='1.0' \\\n      xmlns='http:\/\/www.w3.org\/2001\/10\/synthesis' \\\n      xml:lang='en-AU'&gt;\n    &lt;voice name='en-AU-NatashaNeural'&gt;\n      Welcome to CloudPro, your cloud transformation partner.\n    &lt;\/voice&gt;\n  &lt;\/speak&gt;\"\n<\/code><\/pre>\n\n\n\n<p>This returns an MP3 audio stream you can save or stream directly to users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-controlling-pace-pitch-and-volume-with-lt-prosody-gt\">Controlling Pace, Pitch, And Volume With &lt;prosody&gt;<\/h2>\n\n\n\n<p>The <code>&lt;prosody&gt;<\/code> element lets you adjust:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>rate<\/code> \u2013 how fast the text is spoken<\/li>\n\n\n\n<li><code>pitch<\/code> \u2013 perceived tone (higher or lower)<\/li>\n\n\n\n<li><code>volume<\/code> \u2013 relative loudness<\/li>\n<\/ul>\n\n\n\n<p>Values can be preset keywords (<code>slow<\/code>, <code>fast<\/code>, etc.) or percentages.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-68b59cebf27b04ca60dc77e1a6b665e8\"><code>&lt;speak version=\"1.0\" xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    &lt;prosody rate=\"-10%\"&gt;\n      This sentence is slightly slower for clarity.\n    &lt;\/prosody&gt;\n\n    &lt;prosody rate=\"fast\" pitch=\"+2st\"&gt;\n      This part is more energetic and upbeat.\n    &lt;\/prosody&gt;\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Practical guidance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For IVR or support flows, slightly slower helps comprehension.<\/li>\n\n\n\n<li>For marketing or product tours, a modest speed increase can sound more engaging.<\/li>\n\n\n\n<li>Avoid extreme pitch shifts; they can sound unnatural even in neural voices.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-adding-natural-pauses-with-lt-break-gt\">Adding Natural Pauses With &lt;break&gt;<\/h2>\n\n\n\n<p>Humans pause to let information sink in. TTS should do the same.<\/p>\n\n\n\n<p><code>&lt;break&gt;<\/code> supports <code>time<\/code> (e.g. <code>500ms<\/code>) or <code>strength<\/code> (e.g. <code>medium<\/code>, <code>strong<\/code>).<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-899d65cdce025b7fb8d55ed65b61a87e\"><code>&lt;speak version=\"1.0\" xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    Welcome to CloudPro.&lt;break time=\"400ms\"\/&gt;\n    We help you modernise infrastructure,&lt;break strength=\"medium\"\/&gt;\n    optimise costs,&lt;break strength=\"medium\"\/&gt;\n    and accelerate delivery.\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Use longer pauses when transitioning between sections or emphasising critical instructions (e.g. one-time passwords, safety information).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fixing-pronunciation-with-lt-say-as-gt-and-lt-sub-gt\">Fixing Pronunciation With &lt;say-as&gt; And &lt;sub&gt;<\/h2>\n\n\n\n<p>Some content simply reads badly if left to default pronunciation \u2014 product names, acronyms, or mixed-format identifiers. SSML helps here in two ways.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-using-lt-say-as-gt-for-structured-data\">Using &lt;say-as&gt; For Structured Data<\/h3>\n\n\n\n<p><code>&lt;say-as&gt;<\/code> tells the engine what the content <em>is<\/em> so it can handle it correctly.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-64fc4e28edec6a217daef6548a1cc10b\"><code>&lt;speak xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    Your appointment is on\n    &lt;say-as interpret-as=\"date\" format=\"dmy\"&gt;25\/11\/2025&lt;\/say-as&gt;.\n\n    Please call &lt;say-as interpret-as=\"telephone\"&gt;1300 555 123&lt;\/say-as&gt;\n    if you need to reschedule.\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Common <code>interpret-as<\/code> values:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>number<\/code><\/li>\n\n\n\n<li><code>digits<\/code> (read one digit at a time)<\/li>\n\n\n\n<li><code>telephone<\/code><\/li>\n\n\n\n<li><code>date<\/code><\/li>\n\n\n\n<li><code>time<\/code><\/li>\n\n\n\n<li><code>currency<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-using-lt-sub-gt-for-custom-spoken-forms\">Using &lt;sub&gt; For Custom Spoken Forms<\/h3>\n\n\n\n<p><code>&lt;sub&gt;<\/code> lets you display one text but speak another. This is ideal for product names or abbreviations.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-f0dad5f19cc2d66faf811894a41d1865\"><code>&lt;speak xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    Welcome to &lt;sub alias=\"Cloud Pro\"&gt;CloudProinc.com.au&lt;\/sub&gt;.\n\n    Your CPU utilisation on\n    &lt;sub alias=\"Kubernetes\"&gt;K8s&lt;\/sub&gt;\n    cluster one is within normal range.\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Use <code>&lt;sub&gt;<\/code> anywhere your written form is not how you want it spoken.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-switching-voices-and-languages-dynamically\">Switching Voices And Languages Dynamically<\/h2>\n\n\n\n<p>You can mix voices and even languages within a single SSML document. This is handy for bilingual content or when you want different voices for narration and system messages.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-256d5eae2ac3fbb0dd2e292f052242a7\"><code>&lt;speak version=\"1.0\" xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    Welcome to your multi-lingual assistant.\n  &lt;\/voice&gt;\n\n  &lt;voice name=\"ja-JP-NanamiNeural\"&gt;\n    &lt;lang xml:lang=\"ja-JP\"&gt;\n      \u3053\u3061\u3089\u306f\u65e5\u672c\u8a9e\u306e\u6848\u5185\u3067\u3059\u3002\n    &lt;\/lang&gt;\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>From a design standpoint, avoid switching voices too frequently; it can be distracting. Use changes for clear role or language boundaries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-emphasis-and-expressiveness\">Emphasis And Expressiveness<\/h2>\n\n\n\n<p>Neural voices respond well to subtle emphasis. The <code>&lt;emphasis&gt;<\/code> tag lets you highlight words without rewriting the text.<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-e6a57ccedd1be380af616941a1e1bde6\"><code>&lt;speak xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    &lt;emphasis level=\"moderate\"&gt;\n      Important\n    &lt;\/emphasis&gt;\n    update: your backup did not complete last night.\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<p>Use emphasis sparingly \u2014 too much and the speech feels artificial. Focus it on warnings, key actions, or numbers that users must remember.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-practical-patterns-for-real-applications\">Practical Patterns For Real Applications<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-ivr-and-contact-centre-menus\">1. IVR And Contact Centre Menus<\/h3>\n\n\n\n<p>Goals: clarity, low cognitive load, and quick navigation.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slow the overall rate slightly.<\/li>\n\n\n\n<li>Add brief pauses between options.<\/li>\n\n\n\n<li>Emphasise key words like &#8220;billing&#8221;, &#8220;support&#8221;, or option numbers.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;speak xmlns=\"http:\/\/www.w3.org\/2001\/10\/synthesis\" xml:lang=\"en-AU\"&gt;\n  &lt;voice name=\"en-AU-NatashaNeural\"&gt;\n    &lt;prosody rate=\"-5%\"&gt;\n      For &lt;emphasis&gt;support&lt;\/emphasis&gt;, press 1.&lt;break time=\"300ms\"\/&gt;\n      For &lt;emphasis&gt;billing&lt;\/emphasis&gt;, press 2.&lt;break time=\"300ms\"\/&gt;\n      For all other enquiries, press 3.\n    &lt;\/prosody&gt;\n  &lt;\/voice&gt;\n&lt;\/speak&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-e-learning-and-training-content\">2. E-learning And Training Content<\/h3>\n\n\n\n<p>Goals: engagement and retention.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use a friendly neural voice.<\/li>\n\n\n\n<li>Vary prosody slightly between sections to avoid monotony.<\/li>\n\n\n\n<li>Add pauses before and after key definitions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-operational-alerts-and-dashboards\">3. Operational Alerts And Dashboards<\/h3>\n\n\n\n<p>Goals: quick understanding and appropriate urgency.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep messages short.<\/li>\n\n\n\n<li>Use emphasis and pauses for severity and actions.<\/li>\n\n\n\n<li>Maintain a consistent style across channels (web, mobile, voice).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-testing-tuning-and-governance\">Testing, Tuning, And Governance<\/h2>\n\n\n\n<p>For technical leaders and managers, the challenge is less about <em>can<\/em> we do this and more about <em>how<\/em> we maintain a consistent, high-quality voice across products.<\/p>\n\n\n\n<p>Some practical practices:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centralise SSML templates<\/strong> \u2013 store core prompts and patterns in a shared repository rather than scattering them through code.<\/li>\n\n\n\n<li><strong>Define a voice style guide<\/strong> \u2013 rate, tone, and specific voices that represent your brand (similar to design systems for visuals).<\/li>\n\n\n\n<li><strong>Automated testing<\/strong> \u2013 for critical flows, record sample outputs and include audio regression tests where feasible.<\/li>\n\n\n\n<li><strong>Accessibility reviews<\/strong> \u2013 involve users who rely on assistive technologies; adjust speed and clarity based on real feedback.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-when-to-go-further-with-custom-neural-voices\">When To Go Further With Custom Neural Voices<\/h2>\n\n\n\n<p>If standard Azure voices cannot match your brand or requirements, Azure also offers <strong>Custom Neural Voice<\/strong>. This lets you train a bespoke voice using recorded samples (with strict consent and compliance rules).<\/p>\n\n\n\n<p>From a CloudProinc.com.au project view, custom voices are most appropriate when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your organisation has a strong audible brand (e.g. media, finance, telco).<\/li>\n\n\n\n<li>You need consistent character voices across multiple apps and campaigns.<\/li>\n\n\n\n<li>You are prepared to manage governance, consent, and ongoing review.<\/li>\n<\/ul>\n\n\n\n<p>Even with custom voices, SSML remains the primary tool for controlling how that voice behaves in different contexts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-next-steps\">Next Steps<\/h2>\n\n\n\n<p>To start bringing this into your own solutions:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Identify 2\u20133 key voice interactions in your product (IVR menus, onboarding flows, alerts).<\/li>\n\n\n\n<li>Convert them from plain text to SSML using the patterns above.<\/li>\n\n\n\n<li>Listen with headphones and speakers; adjust rate, pauses, and emphasis.<\/li>\n\n\n\n<li>Run a quick user test with real customers or staff and refine.<\/li>\n<\/ol>\n\n\n\n<p>Azure Speech and SSML give you a flexible, scalable way to move from generic TTS to polished, human-friendly voice experiences. With a modest investment in design and testing, you can significantly improve how your applications sound \u2014 and how users feel when they interact with them.<\/p>\n\n\n\n<ul class=\"wp-block-yoast-seo-related-links yoast-seo-related-links\">\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/08\/14\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts\/\">Turn WordPress Posts into \u201cVoice Blogs\u201d with Python + OpenAI TTS<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.cloudproinc.com.au\/index.php\/2025\/07\/21\/running-pytorch-in-microsoft-azure-machine-learning\/\">Running PyTorch in Microsoft Azure Machine Learning<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2024\/07\/08\/creating-custom-error-pages-in-azure-web-app\/\">Creating Custom Error Pages in Azure Web App<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.com.au\/index.php\/2024\/09\/06\/how-to-create-an-azure-ai-language-account-using-rest-api\/\">How to Create an Azure AI Language Account Using REST API<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudproinc.azurewebsites.net\/index.php\/2025\/07\/26\/understanding-the-softmax-function-in-ai\/\">Understanding the Softmax Function in AI<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to customise synthetic voices using Azure Cognitive Services and SSML to deliver clearer, more natural text-to-speech experiences in your applications.<\/p>\n","protected":false},"author":1,"featured_media":56829,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"Customise Voice Synthesis With Azure Speech And SSML","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.","_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[26,13],"tags":[],"class_list":["post-56828","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-ai-services","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Customise Voice Synthesis With Azure Speech And SSML - CPI Consulting<\/title>\n<meta name=\"description\" content=\"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Customise Voice Synthesis With Azure Speech And SSML\" \/>\n<meta property=\"og:description\" content=\"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/\" \/>\n<meta property=\"og:site_name\" content=\"CPI Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T03:57:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-26T03:57:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"CPI Staff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"CPI Staff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/\"},\"author\":{\"name\":\"CPI Staff\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\"},\"headline\":\"Customise Voice Synthesis With Azure Speech And SSML\",\"datePublished\":\"2025-11-26T03:57:15+00:00\",\"dateModified\":\"2025-11-26T03:57:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/\"},\"wordCount\":1342,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/customise-voice-synthesis-with-azure-speech-and-ssml.png\",\"articleSection\":[\"Azure AI Services\",\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/\",\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/\",\"name\":\"Customise Voice Synthesis With Azure Speech And SSML - CPI Consulting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/customise-voice-synthesis-with-azure-speech-and-ssml.png\",\"datePublished\":\"2025-11-26T03:57:15+00:00\",\"dateModified\":\"2025-11-26T03:57:17+00:00\",\"description\":\"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#primaryimage\",\"url\":\"\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/customise-voice-synthesis-with-azure-speech-and-ssml.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/customise-voice-synthesis-with-azure-speech-and-ssml.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/2025\\\/11\\\/26\\\/customise-voice-synthesis-with-azure-speech-and-ssml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cloudproinc.com.au\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Customise Voice Synthesis With Azure Speech And SSML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#website\",\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/\",\"name\":\"Cloud Pro Inc - CPI Consulting Pty Ltd\",\"description\":\"Cloud, AI &amp; Cybersecurity Consulting | Melbourne\",\"publisher\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cloudproinc.com.au\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#organization\",\"name\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\",\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/favfinalfile.png\",\"width\":500,\"height\":500,\"caption\":\"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cloudproinc.com.au\\\/#\\\/schema\\\/person\\\/192eeeb0ce91062126ce3822ae88fe6e\",\"name\":\"CPI Staff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g\",\"caption\":\"CPI Staff\"},\"sameAs\":[\"http:\\\/\\\/www.cloudproinc.com.au\"],\"url\":\"https:\\\/\\\/cloudproinc.com.au\\\/index.php\\\/author\\\/cpiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Customise Voice Synthesis With Azure Speech And SSML - CPI Consulting","description":"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/","og_locale":"en_US","og_type":"article","og_title":"Customise Voice Synthesis With Azure Speech And SSML","og_description":"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.","og_url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/","og_site_name":"CPI Consulting","article_published_time":"2025-11-26T03:57:15+00:00","article_modified_time":"2025-11-26T03:57:17+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/cloudproinc.com.au\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","type":"image\/png"}],"author":"CPI Staff","twitter_card":"summary_large_image","twitter_misc":{"Written by":"CPI Staff","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#article","isPartOf":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/"},"author":{"name":"CPI Staff","@id":"https:\/\/cloudproinc.com.au\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e"},"headline":"Customise Voice Synthesis With Azure Speech And SSML","datePublished":"2025-11-26T03:57:15+00:00","dateModified":"2025-11-26T03:57:17+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/"},"wordCount":1342,"commentCount":0,"publisher":{"@id":"https:\/\/cloudproinc.com.au\/#organization"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","articleSection":["Azure AI Services","Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/","url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/","name":"Customise Voice Synthesis With Azure Speech And SSML - CPI Consulting","isPartOf":{"@id":"https:\/\/cloudproinc.com.au\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#primaryimage"},"image":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","datePublished":"2025-11-26T03:57:15+00:00","dateModified":"2025-11-26T03:57:17+00:00","description":"Transform your applications by customising voice synthesis with Azure Speech and SSML for enhanced user interaction.","breadcrumb":{"@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#primaryimage","url":"\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","contentUrl":"\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/26\/customise-voice-synthesis-with-azure-speech-and-ssml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cloudproinc.com.au\/"},{"@type":"ListItem","position":2,"name":"Customise Voice Synthesis With Azure Speech And SSML"}]},{"@type":"WebSite","@id":"https:\/\/cloudproinc.com.au\/#website","url":"https:\/\/cloudproinc.com.au\/","name":"Cloud Pro Inc - CPI Consulting Pty Ltd","description":"Cloud, AI &amp; Cybersecurity Consulting | Melbourne","publisher":{"@id":"https:\/\/cloudproinc.com.au\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudproinc.com.au\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudproinc.com.au\/#organization","name":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd","url":"https:\/\/cloudproinc.com.au\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudproinc.com.au\/#\/schema\/logo\/image\/","url":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","contentUrl":"\/wp-content\/uploads\/2022\/01\/favfinalfile.png","width":500,"height":500,"caption":"Cloud Pro Inc - Cloud Pro Inc - CPI Consulting Pty Ltd"},"image":{"@id":"https:\/\/cloudproinc.com.au\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudproinc.com.au\/#\/schema\/person\/192eeeb0ce91062126ce3822ae88fe6e","name":"CPI Staff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2d96eeb53b791d92c8c50dd667e3beec92c93253bb6ff21c02cfa8ca73665c70?s=96&d=mm&r=g","caption":"CPI Staff"},"sameAs":["http:\/\/www.cloudproinc.com.au"],"url":"https:\/\/cloudproinc.com.au\/index.php\/author\/cpiadmin\/"}]}},"jetpack_featured_media_url":"\/wp-content\/uploads\/2025\/11\/customise-voice-synthesis-with-azure-speech-and-ssml.png","jetpack-related-posts":[{"id":739,"url":"https:\/\/cloudproinc.com.au\/index.php\/2024\/10\/07\/creating-a-text-to-speech-power-app-using-openai-whisper\/","url_meta":{"origin":56828,"position":0},"title":"Creating a Text-to-Speech Power App Using OpenAI Whisper","author":"CPI Staff","date":"October 7, 2024","format":false,"excerpt":"In this post on OpenAI and Microsoft Power Apps, we will create a Text-to-Speech Power App using OpenAI Whisper. Table of contentsCreating a Text-to-Speech Power App Using OpenAI WhisperGet an API Key from OpenAICreating a Text-to-Speech Power AppCreate Power Automate FlowRelated Articles OpenAI whisper is OpenAI's Text-to-Speech service, offering human-like\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/10\/Creating-a-Text-to-Speech-Power-App-Using-OpenAI-Whisper.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/10\/Creating-a-Text-to-Speech-Power-App-Using-OpenAI-Whisper.webp 1x, \/wp-content\/uploads\/2024\/10\/Creating-a-Text-to-Speech-Power-App-Using-OpenAI-Whisper.webp 1.5x, \/wp-content\/uploads\/2024\/10\/Creating-a-Text-to-Speech-Power-App-Using-OpenAI-Whisper.webp 2x"},"classes":[]},{"id":53614,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/08\/14\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts\/","url_meta":{"origin":56828,"position":1},"title":"Turn WordPress Posts into \u201cVoice Blogs\u201d with Python + OpenAI TTS","author":"CPI Staff","date":"August 14, 2025","format":false,"excerpt":"This blog post, \"Turn WordPress Posts into \u201cVoice Blogs\u201d with Python + OpenAI TTS\" will show you how to pull posts from a WordPress site via the REST API, converts the article content to speech using OpenAI\u2019s Text-to-Speech (TTS), saves an MP3, and (optionally) uploads the file back to your\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png 1x, \/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png 1.5x, \/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png 2x, \/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png 3x, \/wp-content\/uploads\/2025\/08\/turn-wordpress-posts-into-voice-blogs-with-python-openai-tts-1.png 4x"},"classes":[]},{"id":414,"url":"https:\/\/cloudproinc.com.au\/index.php\/2024\/07\/22\/generate-an-image-caption-with-azure-ai-vision-and-net\/","url_meta":{"origin":56828,"position":2},"title":"Generate an Image Caption With Azure AI Vision and .NET","author":"CPI Staff","date":"July 22, 2024","format":false,"excerpt":"This Azure AI Vision article will show how to generate an image caption with Azure AI Vision and .NET C# application. Azure AI Vision is a Microsoft Azure service that is part of the Azure AI Services suite of cloud services, which also includes speech services and the popular Azure\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/07\/Generate-an-Image-Caption-With-Azure-AI-Vision-and-.NET_.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/07\/Generate-an-Image-Caption-With-Azure-AI-Vision-and-.NET_.webp 1x, \/wp-content\/uploads\/2024\/07\/Generate-an-Image-Caption-With-Azure-AI-Vision-and-.NET_.webp 1.5x, \/wp-content\/uploads\/2024\/07\/Generate-an-Image-Caption-With-Azure-AI-Vision-and-.NET_.webp 2x"},"classes":[]},{"id":753,"url":"https:\/\/cloudproinc.com.au\/index.php\/2024\/10\/07\/generate-images-with-azure-openai-dall-e-and-postman\/","url_meta":{"origin":56828,"position":3},"title":"Generate Images with Azure OpenAI DALL-E and Postman","author":"CPI Staff","date":"October 7, 2024","format":false,"excerpt":"In this Azure OpenAI DALL-E article, we will show you how to generate images with Azure OpenAI DALL-E and Postman. Table of contentsDeploy Resource and AI ModelGenerate Images with Azure OpenAI DALL-E and PostmanRelated Articles Azure OpenAI DALL-E offers the latest text-to-image generation model, DALL-E 3. The model offers advanced\u2026","rel":"","context":"In &quot;Azure OpenAI&quot;","block_context":{"text":"Azure OpenAI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/azure-openai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp 1x, \/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp 1.5x, \/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp 2x, \/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp 3x, \/wp-content\/uploads\/2024\/07\/How-to-Use-Microsoft-Graph-Security-API.webp 4x"},"classes":[]},{"id":57373,"url":"https:\/\/cloudproinc.com.au\/index.php\/2026\/04\/02\/how-ai-is-expanding-the-attack-surface-for-mid-market-organisations\/","url_meta":{"origin":56828,"position":4},"title":"How AI Is Expanding the Attack Surface for Mid-Market Organisations","author":"CPI Staff","date":"April 2, 2026","format":false,"excerpt":"The attack surface for mid-market organisations has expanded faster than most security strategies have adapted. AI is not just a tool for defenders. It is now an operational accelerator for attackers \u2014 and the techniques are not science fiction. Google's Threat Intelligence Group, Mandiant, and multiple cybersecurity vendors have documented\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/ai\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png 1x, \/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png 1.5x, \/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png 2x, \/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png 3x, \/wp-content\/uploads\/2026\/04\/from-vishing-to-data-poisoning-ai-expanding-attack-surface-cover.png 4x"},"classes":[]},{"id":56780,"url":"https:\/\/cloudproinc.com.au\/index.php\/2025\/11\/10\/security-best-practices-for-azure-ai-services\/","url_meta":{"origin":56828,"position":5},"title":"Security Best Practices for Azure AI Services","author":"CPI Staff","date":"November 10, 2025","format":false,"excerpt":"Practical, step-by-step guidance to secure Azure AI services end to end\u2014identity, networks, data, prompts, and monitoring\u2014so your teams can innovate confidently without exposing your organisation.","rel":"","context":"In &quot;Azure AI Services&quot;","block_context":{"text":"Azure AI Services","link":"https:\/\/cloudproinc.com.au\/index.php\/category\/azure-ai-services\/"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png 1x, \/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png 1.5x, \/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png 2x, \/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png 3x, \/wp-content\/uploads\/2025\/11\/security-best-practices-for-azure-ai-services-in-practice.png 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/56828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/comments?post=56828"}],"version-history":[{"count":2,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/56828\/revisions"}],"predecessor-version":[{"id":56831,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/posts\/56828\/revisions\/56831"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media\/56829"}],"wp:attachment":[{"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=56828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/categories?post=56828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudproinc.com.au\/index.php\/wp-json\/wp\/v2\/tags?post=56828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}