<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Microsoft Edge on SoloSoft</title><link>https://www.solosoft.dev/tags/microsoft-edge/</link><description>Recent content in Microsoft Edge on SoloSoft</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.solosoft.dev/tags/microsoft-edge/index.xml" rel="self" type="application/rss+xml"/><item><title>edge-tts: Python TTS Using Microsoft Edge Online Service</title><link>https://www.solosoft.dev/post/edge-tts-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/edge-tts-2026/</guid><description>&lt;p&gt;High-quality text-to-speech usually requires expensive cloud APIs or complex local model setup. Edge-TTS, created by rany2, takes a clever approach: it taps into Microsoft Edge&amp;rsquo;s built-in online TTS service, providing free access to hundreds of natural-sounding voices across dozens of languages.&lt;/p&gt;
&lt;p&gt;The tool is a simple Python CLI that transforms text into audio files using the same neural TTS voices available in Microsoft Edge&amp;rsquo;s browser read-aloud feature. With support for SSML, voice tuning, and subtitle generation, it punches far above its weight as a free, open-source TTS solution.&lt;/p&gt;
&lt;h2 id="voice-and-language-support"&gt;Voice and Language Support&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Language&lt;/th&gt;
 &lt;th&gt;Male Voices&lt;/th&gt;
 &lt;th&gt;Female Voices&lt;/th&gt;
 &lt;th&gt;Quality&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;English (US)&lt;/td&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;10&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;English (UK)&lt;/td&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;6&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Chinese (Mandarin)&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Japanese&lt;/td&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Spanish&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;French&lt;/td&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;German&lt;/td&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;Neural high&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Total across 60+ languages&lt;/td&gt;
 &lt;td&gt;100+&lt;/td&gt;
 &lt;td&gt;200+&lt;/td&gt;
 &lt;td&gt;Neural&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="audio-generation-pipeline"&gt;Audio Generation Pipeline&lt;/h2&gt;

&lt;figure class="mermaid-wrapper not-prose" role="img" aria-label="Mermaid diagram"&gt;
 &lt;div class="mermaid-container"&gt;
 &lt;pre class="mermaid"&gt;flowchart LR
 A[Text Input] --&amp;gt; B{Format}
 B --&amp;gt;|Plain Text| C[Text Segmentation]
 B --&amp;gt;|SSML| D[SSML Parsing]
 C --&amp;gt; E[Voice Selection]
 D --&amp;gt; E
 F[Voice Parameters] --&amp;gt; E
 E --&amp;gt; G[Edge TTS API Request]
 G --&amp;gt; H[Audio Stream]
 H --&amp;gt; I[MP3/WAV Output]
 H --&amp;gt; J[SRT/VTT Subtitles]&lt;/pre&gt;
 &lt;script type="application/mermaid"&gt;flowchart LR
 A[Text Input] --&gt; B{Format}
 B --&gt;|Plain Text| C[Text Segmentation]
 B --&gt;|SSML| D[SSML Parsing]
 C --&gt; E[Voice Selection]
 D --&gt; E
 F[Voice Parameters] --&gt; E
 E --&gt; G[Edge TTS API Request]
 G --&gt; H[Audio Stream]
 H --&gt; I[MP3/WAV Output]
 H --&gt; J[SRT/VTT Subtitles]&lt;/script&gt;
 &lt;/div&gt;
&lt;/figure&gt;&lt;p&gt;The pipeline handles both plain text and SSML input. SSML allows fine-grained control over pronunciation, pitch, rate, and emphasis. The audio stream from Edge&amp;rsquo;s API is saved as MP3 or WAV, and subtitles can be generated with word-level timing.&lt;/p&gt;</description></item></channel></rss>