Changelog
2.5.4 (2024-11-10)
Bug Fixes
2.5.3 (2024-08-13)
Bug Fixes
langs: Languages added:
pt-PT(Portuguese (Portugal)),yue(Cantonese); languages modified:pa(Punjabi (Gurmukhi)),pt(Portuguese (Brazil)) (72a7e57)
2.5.2 (2024-07-20)
Bug Fixes
2.5.1 (2024-01-29)
Bug Fixes
2.5.0 (2023-12-20)
Features
2.4.0 (2023-10-03)
Features
2.3.2 (2023-04-29)
Bug Fixes
Documentation
cli: Fix older invalid example (5a860ed)
2.3.1 (2023-01-16)
Bug Fixes
2.3.0 (2022-11-21)
Features
Bug Fixes
2.2.4 (2022-03-14)
Features
Misc
2.2.3 (2021-06-17)
Features
Added Bulgarian language support (#302)
2.2.2 (2021-02-03)
Features
Adds a language fallback feature for deprecated languages to maintain compatiblity (e.g.
en-usbecomesen). Fallback can be disabled withlang_check=Falseor--nocheckfor the cli (#267)
Bugfixes
Deprecations and Removals
The following list of ‘hyphenated’ language codes no longer work and have been removed:
en-us,en-ca,en-uk,en-gb,en-au,en-gh,en-in,en-ie,en-nz,en-ng,en-ph,en-za,en-tz,fr-ca,fr-fr,pt-br,pt-pt,es-es,es-us,zh-cn,zh-tw(#267)Removed the
gtts.get_url()method (outdated since2.1.0) (#270)
2.2.1 (2020-11-15)
Bugfixes
_package_rpc()was erroneously packaging the entire text instead of tokenized part (#252)
Improved Documentation
Removes reference to automatic retrieval of languages (#250)
Misc
2.2.0 (2020-11-14)
Features
Switch to the newer Google TTS API (thanks to`@Boudewijn26! <https://github.com/pndurette/gTTS/pull/244>`_). See his great writeup for more on the methodology and why this was necessary. (#226, #232, #236, #241)
Deprecations and Removals
Removed automatic language download from the main code, which has become too unreliable & slow. Languages will still be fetched but a pre-generated list will be shipped with
gTTS. (#233, #241, #242, #243)Because languages are now pre-generated, removed custom TLD support for language URL (which allowed to get language names in other than English) (#245)
Misc
2.1.2 (2020-11-10)
Features
Update
gTTS-tokento1.1.4(#238)
Bugfixes
Improved Documentation
Grammar, spelling and example fixes (#227)
Misc
2.1.1 (2020-01-25)
Bugfixes
Debug mode now uses a copy of locals() to prevent RuntimeError (#213)
2.1.0 (2020-01-01)
Features
The
gttsmoduleAdded the ability to customize the Google Translate URL hostname. This is useful when
google.commight be blocked within a network but a local or different Google host (e.g.google.cn) is not (#143, #203):New
gTTS()parametertldto specify the top-level domain to use for the Google hostname, i.ehttps://translate.google.<tld>(default:com).Languages are also now fetched using the same customized hostname.
Pre-generated TTS API request URLs can now be obtained instead of writing an
mp3file to disk (for example to be used in an external program):New
get_urls()method returns the list of URLs generated bygTTS, which can be used in lieu ofwrite_to_fp()orsave().
The
gtts-clicommand-line toolOther
Added Python 3.8 support (#204)
Bugfixes
Changed default word-for-word pre-processor (
('M.', 'Monsieur')) which would substitute any ‘m.’ for ‘monsieur’ (e.g. ‘them.’ became ‘themonsieur’) (#197)
Improved Documentation
Misc
2.0.4 (2019-08-29)
Features
gTTS is now built as a wheel package (Python 2 & 3) (#181)
Improved Documentation
Misc
2.0.3 (2018-12-15)
Features
Added new tokenizer case for ‘:’ preventing cut in the middle of a time notation (#135)
Misc
2.0.2 (2018-12-09)
Features
Added Python 3.7 support, modernization of packaging, testing and CI (#126)
Bugfixes
Fixed language retrieval/validation broken from new Google Translate page (#156)
2.0.1 (2018-06-20)
Bugfixes
Fixed an UnicodeDecodeError when installing gTTS if system locale was not utf-8 (#120)
Improved Documentation
Added Pre-processing and tokenizing > Minimizing section about the API’s 100 characters limit and how larger tokens are handled (#121)
Misc
2.0.0 (2018-04-30)
(#108)
Features
The
gttsmoduleNew logger (“gtts”) replaces all occurrences of
print()Languages list is now obtained automatically (
gtts.lang) (#91, #94, #106)Added a curated list of language sub-tags that have been observed to provide different dialects or accents (e.g. “en-gb”, “fr-ca”)
New
gTTS()parameterlang_checkto disable language checking.gTTS()now delegates thetexttokenizing to the API request methods (i.e.write_to_fp(),save()), allowinggTTSinstances to be modified/reusedRewrote tokenizing and added pre-processing (see below)
New
gTTS()parameterspre_processor_funcsandtokenizer_functo configure pre-processing and tokenizing (or use a 3rd party tokenizer)Error handling:
Added new exception
gTTSErrorraised on API request errors. It attempts to guess what went wrong based on known information and observed behaviour (#60, #106)gTTS.write_to_fp()andgTTS.save()also raisegTTSErroron [gtts_token]{.title-ref} errorgTTS.write_to_fp()raisesTypeErrorwhenfpis not a file-like object or one that doesn’t take bytesgTTS()raisesValueErroron unsupported languages (andlang_checkisTrue)More fine-grained error handling throughout (e.g. [request failed]{.title-ref} vs. [request successful with a bad response]{.title-ref})
Tokenizer (and new pre-processors):
Rewrote and greatly expanded tokenizer (
gtts.tokenizer)Smarter token ‘cleaning’ that will remove tokens that only contain characters that can’t be spoken (i.e. punctuation and whitespace)
Decoupled token minimizing from tokenizing, making the latter usable in other contexts
New flexible speech-centric text pre-processing
New flexible full-featured regex-based tokenizer (
gtts.tokenizer.core.Tokenizer)New
RegexBuilder,PreProcessorRegexandPreProcessorSubclasses to make writing regex-powered text [pre-processors]{.title-ref} and [tokenizer cases]{.title-ref} easierPre-processors:
Re-form words cut by end-of-line hyphens
Remove periods after a (customizable) list of known abbreviations (e.g. “jr”, “sr”, “dr”) that can be spoken the same without a period
Perform speech corrections by doing word-for-word replacements from a (customizable) list of tuples
Tokenizing:
The
gtts-clicommand-line toolRewrote cli as first-class citizen module (
gtts.cli), powered by ClickWindows support using [setuptool]{.title-ref}’s [entry_points]{.title-ref}
Better support for Unicode I/O in Python 2
All arguments are now pre-validated
New
--nocheckflag to skip language pre-checkingNew
--allflag to list all available languagesEither the
--fileoption or the<text>argument can be set to “-” to read fromstdinThe
--debugflag uses logging and doesn’t pollutestdoutanymore
Bugfixes
_minimize(): Fixed an infinite recursion loop that would occur when a token started with the miminizing delimiter (i.e. a space) (#86)_minimize(): Handle the case where a token of more than 100 characters did not contain a space (e.g. in Chinese).Fixed an issue that fused multiline text together if the total number of characters was less than 100
Fixed
gtts-cliUnicode errors in Python 2.7 (famous last words) (#78, #93, #96)
Deprecations and Removals
Dropped Python 3.3 support
Removed
debugparameter ofgTTS(in favour of logger)gtts-cli: Changed long option name of-oto--outputinstead of--destinationgTTS()will raise aValueErrorrather than anAssertionErroron unsupported language
Improved Documentation
Rewrote all documentation files as reStructuredText
Comprehensive documentation writen for Sphinx, published to http://gtts.readthedocs.io
Changelog built with towncrier
Misc
1.2.2 (2017-08-15)
Misc
Update LICENCE, add to manifest (#77)
1.2.1 (2017-08-02)
Features
Add Unicode punctuation to the tokenizer (such as for Chinese and Japanese) (#75)
Bugfixes
1.2.0 (2017-04-15)
Features
Bugfixes
Deprecations and Removals
‘pt-br’ : ‘Portuguese (Brazil)’ (it was the same as ‘pt’ and not Brazilian) (#69)
1.1.8 (2017-01-15)
Features
Added
stdinsupport via the ‘-’textargument togtts-cli(#56)
1.1.7 (2016-12-14)
Features
Added utf-8 support to
gtts-cli(#52)
1.1.6 (2016-07-20)
Features
Deprecations and Removals
‘ht’ : ‘Haitian Creole’ (removed by Google) (#43)
1.1.5 (2016-05-13)
Bugfixes
1.1.4 (2016-02-22)
Features
Spun-off token calculation to gTTS-Token (#23, #29)
1.1.3 (2016-01-24)
Bugfixes
Misc
Moved out gTTS token to its own module (#19)
1.1.2 (2016-01-13)
Features
1.0.7 (2015-10-07)
Features
Added
stdoutsupport togtts-cli, text now an argument rather than an option (#10)
1.0.6 (2015-07-30)
Features
Raise an exception on bad HTTP response (4xx or 5xx) (#8)
Bugfixes
Added
client=tparameter for the api HTTP request (#8)
1.0.5 (2015-07-15)
Features
write_to_fp()to write to a file-like object (#6)
1.0.4 (2015-05-11)
Features
Added Languages:
zh-yue:Chinese (Cantonese),en-uk:English (United Kingdom), pt-br: Portuguese (Brazil), es-es:Spanish (Spain),es-us:Spanish (United StateS),zh-cn:Chinese (Mandarin/China), zh-tw: Chinese (Mandarin/Taiwan) ([#4](https://github.com/pndurette/gTTS/issues/4))
Bugfixes
gtts-cliprint version and pretty printed available languages, language codes are now case insensitive (#4)
1.0.3 (2014-11-21)
Features
Added Languages: ‘en-us’ : ‘English (United States)’, ‘en-au’ : ‘English (Australia)’ (#3)
1.0.2 (2014-05-15)
Features
Python 3 support
1.0.1 (2014-05-15)
Misc
SemVer versioning, CI changes
1.0 (2014-05-08)
Features
Initial release