Commit Graph

297 Commits

Author SHA1 Message Date
rany2
4c363a650c Make edge-playback quiet when playback tts result (#415)
* Make edge-playback quiet when playback tts result
* Only show duration and captions

Signed-off-by: rany <rany2@riseup.net>
Co-authored-by: Xing Shi Cai <newptcai@tutanota.com>
2025-08-28 20:06:16 +03:00
rany2
d78d1faf66 Fix __list_voices type hint issue (#414)
Signed-off-by: rany <rany2@riseup.net>
2025-08-28 19:35:05 +03:00
rany2
065ccd05a6 Bump edge_tts version to 7.2.2 (#413)
Signed-off-by: rany <rany2@riseup.net>
2025-08-28 19:27:25 +03:00
rany2
bfc54f4acd Update API endpoints used by Edge TTS (#412)
Fixes https://github.com/rany2/edge-tts/issues/411

Signed-off-by: rany <rany2@riseup.net>
2025-08-28 19:26:07 +03:00
rany2
7c5eb17a14 Bump edge_tts version to 7.2.1 (#405)
Signed-off-by: rany <rany2@riseup.net>
2025-08-20 17:26:19 +03:00
rany2
cbd375c8e3 Fix Python 3.7 compatibility issue (#404)
Fixes https://github.com/rany2/edge-tts/issues/403

Signed-off-by: rany <rany2@riseup.net>
2025-08-20 17:25:38 +03:00
rany2
a951e865b7 Bump edge_tts version to 7.2.0 (#398)
Signed-off-by: rany <rany2@riseup.net>
2025-08-05 14:33:45 +03:00
rany2
c84b3531c1 Drop words-in-cue support from util.py (#397)
Signed-off-by: rany <rany2@riseup.net>
2025-08-05 14:32:38 +03:00
rany2
c78e49d28e Cleanup SentenceBoundary support (#396)
- Default to SentenceBoundary
- Modify boundary argument to lowercase to match other options.
- Drop merge_cues support as SentenceBoundary renders it obsolete.

Signed-off-by: rany <rany2@riseup.net>
2025-08-05 14:30:30 +03:00
rany2
645c207cfd Bump version to 7.1.0 (#395)
Signed-off-by: rany <rany2@riseup.net>
2025-08-05 14:10:22 +03:00
rany2
827d55e471 Limit text size to 4096 bytes (#394)
Fix https://github.com/rany2/edge-tts/issues/390

Signed-off-by: rany <rany2@riseup.net>
2025-08-05 14:01:32 +03:00
rany2
36d3006df5 Bundle srt module with edge-tts (#393)
Fixes https://github.com/rany2/edge-tts/issues/383

Signed-off-by: rany <rany2@riseup.net>
2025-08-05 13:43:57 +03:00
chnyangjie
f78c8ece0a Add option to configure SentenceBoundary (#348)
* Create FUNDING.yml

* add setence boundary which is more friendly to Chinese users

---------

Co-authored-by: Rany <ranygh@riseup.net>
2025-08-05 13:06:03 +03:00
rany2
ffe009af9a Bump edge_tts version to 7.0.2 (#379)
Signed-off-by: rany <rany2@riseup.net>
2025-05-03 13:32:37 +03:00
rany2
7d03a08757 XML unescape WordBoundary text sent from metadata (#378)
Turns out Microsoft sends them XML escaped even though it's in JSON...

Signed-off-by: rany <rany2@riseup.net>
2025-05-03 13:28:50 +03:00
rany2
c5b0cc9cb1 Bump edge_tts version to 7.0.1 (#373)
Signed-off-by: rany <rany2@riseup.net>
2025-04-18 21:53:02 +03:00
WANG Lei
7aabaaf480 fix: Split only on valid utf-8 boundary (#369)
* fix: Split only on valid utf-8 boundary

* refact

* make CI happy

Signed-off-by: rany <rany2@riseup.net>

---------

Signed-off-by: rany <rany2@riseup.net>
Co-authored-by: rany <rany2@riseup.net>
2025-04-15 15:13:28 +03:00
Will
ecf50b916e Support native playback on Windows (#360)
* Support native playback on Windows

* Use mypy-blessed platform switching logic

* Address feedback

* I think mypy is happy now

* Don't print srt when filename is None

* Fix ctypes imports

* Fix pylint and black complaints

Signed-off-by: rany <rany2@riseup.net>

* Have play_mp3_win32 use a guard clause to reduce nesting

Signed-off-by: rany <rany2@riseup.net>

---------

Signed-off-by: rany <rany2@riseup.net>
Co-authored-by: rany <rany2@riseup.net>
2025-02-27 21:10:43 +02:00
Ramiro Gómez
152a69e77f Add tts-samples repo to README.md (#353)
* Add tts-samples repo to README.md

* Add short project info and link to mp3 folder.
2025-02-03 22:49:39 +02:00
Rany
ac41fb85ab Bump edge_tts version to 7.0.0 (#343)
Signed-off-by: rany <rany2@riseup.net>
2024-12-07 22:37:21 +02:00
Rany
3942edeb13 Add back words-in-cue support (#342)
Closes https://github.com/rany2/edge-tts/issues/335
Closes https://github.com/rany2/edge-tts/issues/336

Signed-off-by: rany <rany2@riseup.net>
2024-12-07 22:34:50 +02:00
Rany
e1add45640 Fix typo in edge_tts' __init__.py module docstring (#334)
I removed the sentence entirely, it's redundant.
2024-11-23 20:03:44 +02:00
Rany
063957683c Improve type support a bit more (#333)
Also fix default voice for util.py

Signed-off-by: rany <rany2@riseup.net>
2024-11-23 19:59:39 +02:00
Rany
a3d468c7c9 Cleanup examples and fix VoicesManager types (#332)
Signed-off-by: rany <rany2@riseup.net>
2024-11-23 16:29:13 +02:00
Rany
17e5146606 Fix typo in SubMaker's feed() logic (#331)
The start time should be the offset and the end time is
offset + duration.

Signed-off-by: rany <rany2@riseup.net>
2024-11-23 13:30:16 +02:00
Rany
144215496a Cleanup subtitle related code and make it easier to use SubMaker (#329)
Also don't output subtitles to STDERR by default.

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 22:57:54 +02:00
Rany
93fb851cd2 Define an upper-bound for all SemVer dependencies (#328)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 22:06:16 +02:00
Rany
d0e201ad3e Change default voice to en-US-EmmaMultilingualNeural (#327)
It sounds more natural than the default Aria voice to me
and should support more languages out of the box.

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 21:55:07 +02:00
Rany
4611d79101 Use the short name for the default voice (#326)
Switch to en-US-AriaNeural for the default voice name. It will
be converted automatically to the complete voice name anyway.

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 21:35:26 +02:00
Rany
d619925df2 Add support for custom aiohttp connector (#325)
This should allow users that need it to add support for SOCKS5
in their application via https://pypi.org/project/aiohttp-socks/.

Partially fixes: https://github.com/rany2/edge-tts/issues/147

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 21:31:45 +02:00
Rany
7ee40fff2c Fix difference in command request from Edge (#324)
"sentenceBoundaryEnabled" and "wordBoundaryEnabled" is sent as a
string by Microsoft Edge but we are sending it as a boolean.

As there is no difference in functionality (both boolean and string
are treated properly), we try to pretend we are Microsoft Edge as
much as possible.

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 21:06:27 +02:00
Rany
4f5d79ed57 Drop words_in_cue code for SubMaker and switch to SRT (#323)
WebVTT isn't a very common format in the first place
and attempting to make WordBoundary play nice with
input text is very hard.

Instead we now just display the word that the TTS
is saying at a given time. In the future, we could
try to enable SentenceBoundary but there is a risk
that it will be banned by Microsoft as it is not used
by Microsoft Edge itself.

Closes: https://github.com/rany2/edge-tts/issues/118
Closes: https://github.com/rany2/edge-tts/issues/171
Closes: https://github.com/rany2/edge-tts/issues/229
Closes: https://github.com/rany2/edge-tts/issues/234

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 20:58:47 +02:00
Rany
5a2674cd03 Update README (#322)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 20:29:26 +02:00
Rany
3f2b635ff6 Use tabulate to pretty print voices (#321)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 20:07:15 +02:00
Rany
3e4de19344 Use TypedDict for voice list and TTS stream (#320)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 20:04:52 +02:00
Rany
48c7f3ad2e Accept - as a valid input parameter (#319)
We won't do the same for the output parameter as it is the default
behavior when --write-media is not set.

Closes: https://github.com/rany2/edge-tts/issues/216

Signed-off-by: rany <rany2@riseup.net>
2024-11-22 18:37:44 +02:00
Rany
6bc3a9e20f Clean up code comments and docstrings (#318)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 18:28:43 +02:00
Rany
d10060fc60 Add GPLv3 license text (#317)
LGPLv3 requires that you also provide the GPLv3 license text as it supplements it.
2024-11-22 17:42:43 +02:00
Rany
e49da2cec5 Bump edge_tts version to 6.1.19 (#316)
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 03:17:42 +02:00
Rany
40cd70c061 Relicense to GNU LGPLv3 (#314)
This should allow the library to be used without any
issues for non-GPLv3 projects.

Closes: https://github.com/rany2/edge-tts/issues/313

Approved-by: Hannes Krumbiegel <Vuizur@users.noreply.github.com>
Signed-off-by: rany <rany2@riseup.net>
2024-11-22 03:12:42 +02:00
Rany
7c83923a5b Bump edge_tts version to 6.1.18 (#310)
Signed-off-by: rany <rany2@riseup.net>
2024-11-11 13:04:56 +02:00
Rany
dc8ac2ea7a Add support for clock adjustment for Sec-MS-GEC token (#309)
This should help when a user might have his clock skewed by more than
5 minutes. The server allows for a bit more than ~5 minutes of skew.

Signed-off-by: rany <rany2@riseup.net>
2024-11-11 13:03:40 +02:00
Rany
16c973bec8 Fix CI (#308)
Signed-off-by: rany <rany2@riseup.net>
2024-11-09 10:46:23 +02:00
Rany
146b9d1bb5 Bump edge_tts version to 6.1.17 (#307)
Signed-off-by: rany <rany2@riseup.net>
2024-11-09 10:44:08 +02:00
Rany
bf6d897438 Fix Python <3.11 incompatibility bug (#306)
datetime.UTC is not supported on Python <3.11.

Signed-off-by: rany <rany2@riseup.net>
2024-11-09 10:42:21 +02:00
Rany
9652a900aa Bump edge_tts version to 6.1.16 (#304)
Signed-off-by: rany <rany2@riseup.net>
2024-11-08 18:36:50 +02:00
Rany
f014709c40 Add Sec-MS-GEC support (#303)
Credit to @gexgd0419 for understanding how the algorithm works.
See his comment here: https://github.com/rany2/edge-tts/issues/290#issuecomment-2464956570

Fixes: https://github.com/rany2/edge-tts/issues/302
Fixes: https://github.com/rany2/edge-tts/issues/299
Fixes: https://github.com/rany2/edge-tts/issues/295
Fixes: https://github.com/rany2/edge-tts/issues/290

Signed-off-by: rany <rany2@riseup.net>
Co-authored-by: gexgd0419 <55008943+gexgd0419@users.noreply.github.com>
2024-11-08 18:34:28 +02:00
Tharsis Souza
a98e9ac7d3 Add podcastfy example to README.md (#296)
Podcastfy is an Open Source Python alternative to NotebookLM's podcast feature that enables Transforming Multimodal Content into Captivating Multilingual Audio Conversations with GenAI

It uses Edge as one of the TTS backends.
2024-11-01 14:48:04 +02:00
Rany
0f4db8d78a Bump edge_tts version to 6.1.15 (#289)
Signed-off-by: rany <rany2@riseup.net>
2024-10-25 12:29:15 +03:00
Rany
b55a338fb4 Fix 403 error (#288)
* Fix typo in setting of User-Agent

I accidently added a $ probably because I was writing some
shell code at the same time. Oops....

Signed-off-by: rany <rany2@riseup.net>

* Update Chromium User-Agent version to 130

Signed-off-by: rany <rany2@riseup.net>

---------

Fixes: https://github.com/rany2/edge-tts/issues/286
Signed-off-by: rany <rany2@riseup.net>
2024-10-25 12:24:58 +03:00