awesometts / awesometts-anki-addon Goto Github PK
View Code? Open in Web Editor NEWAwesomeTTS text-to-speech add-on for Anki
License: GNU General Public License v3.0
AwesomeTTS text-to-speech add-on for Anki
License: GNU General Public License v3.0
Few bugs that @aefimenko has fixed in his source.
If the field has <3000 characters, it crashes while trying to transcribe the field.
It also crashes if the field is empty.
Add jmespath* to the dependencies folder
May add speed later.
I just installed the AwesomeTTS addon to add audio to my Japanese learning cards.
From the internet I did read that NAVER and NeoSpeech are the only TTS services that provide a good Japanese text to speech.
Since NAVER currently doesn't work (#61) I wanted to try NeoSpeech but I also couldn't get it to work.
I'm always getting a error message saying:
Cannot preview the input phrase with these settings.
'set-cookie'
See screenshot below.
Not sure what setting I'm expected to set?
It would be great if Awesome-TTS supported Cambridge Dicrionary - imho it has the best voice sample for British English (link: https://dictionary.cambridge.org/)
只能使用百度,百度的发音又怪怪的
When I try to preview most languages it gives a 400 error message, including Spanish which I have been using because it is half-decent. Only English, Russian and Turkish work now. I checked the source and it seems you're using the TTS endpoint, and the docs for that say it only supports those same three languages + Ukrainian (which isn't an option in the addon), so I guess they must have changed things.
Their translation interface still has TTS for a ton of languages, but it looks like it's using the web speech API - I'm not sure if that has always been the case, but the current Spanish voice from that is definitely different than the one I was getting through this addon.
If I replace eSpeak by eSpeak NG, AwesomeTTS does not show it in the list of available voice services.
AwesomeTTS - v1.11.0 / Anki - 2.0.50 / Arch Linux
The best voice I have found by far for Swedish (the language I am learning) is the one from Amazon Polly.
It would be really convenient to be able to generate the audio from Anki itself (using AwesomeTTS) instead of having to copy paste the text into Amazon Polly's UI, generate the mp3, download it and add it to the proper field.
I guess the most complex part of it would be how to handle the authentication.
Let me know if you want me to provide more info :)
Hello, for the last 3 days I keep getting "Error 502: Bad Gateway" when using the Fluency.nl TTS option. Doesn't work in any way, tried with different voices, different text, using the preview field, but I always get the same error. Btw, the other services work fine.
I tried to investigate myself, but as I have only bare basic web programming knowledge, didn't get far when examining the Fluency.nl website. My only guess is that they maybe changed some part of the API?
Hope that you can help, and, anyway, thanks for making such a great plugin! :)
AwesomeTTS v1.11.0
Anki version 2.0.48
Qt 4.8.2 PyQt 4.9.4
When selecting multiple cards in the card browser and trying to 'add audio to selected' I can only select one field at a time. It would be great if the user could select multiple fields at once.
Hi,
I have seen the text "AwesomeTTS only supports Anki 2.0.x. The add-on will not work with the newer Anki 2.1.x." and I wanted to ask for a reason of that - is this only lack of time or some technical issue in 2.1.x? Will you accept pull requests providing 2.1 support?
Hi, thank you for your awesome work for Anki.
I have tried to install this plugin for anki 2.1, but it appears two duplicate menu entries in Anki menus, showed as below:
I have some researches on the source codes, but I have no idea about where is wrong.
Would you please to do some bugs fixing for this issue?
I used AwesomeTTS with the google translate engine. All the cloze tags are getting ignored and don't end up in the audio file. Is this a desired behaviour? For me it would be more useful to strip the field from any cloze environments and than send the string to the tts engine.
I'd like to contribute to a Chinese translation to let Chinese user use AwesomeTTS more conveniently.
Hello community, I recently upgraded my Anki to 2.1 and now when I'm adding a new card and try to use AwesomeTTS, it doesn't select the text on the field i'm writing on but from the clipboard. I don't know if it's a bug or it's supposed to be this way from now on, someone know how to fix it?
Sorry for my english
In one deck I have English words to learn. In another a subset of those words in a card type with typing answer. I would expect to have old audio files generated using the same engine (for the original deck) to be reused for the new one. However, AwesomeTTS downloads it again creating a file with the same name, however with " (1)" at the end. It would be probably safe to just reuse old file (from the same engine) by default.
I'm not sure which version of AwesomeTTS I have (how can I check it?). The files have date V 2017. Anki 2.0.50.
Currently it returns:
<urlopen error [Errno 8] _ssl.c:507: EOF occurred in violation of protocol>
Steps to reproduce:
Expected behavior:
Preview field shows "Hello, world!"
Actual behavior:
Preview field shows "Hello, c!"
Awesome TTS version: master (2018-02-21)
Anki version: 2.1.0beta29
Qt version: Qt 5.10.0 PyQt 5.9.2
Anki 2.0 is deprecated on Gentoo Linux. If AwesomeTTS was migrated to 2.1, I could install 2.1 on Gentoo LInux.
is there a way to make it so that awesometts only reads the clozed text answer on the backside? I noticed it is available for on the fly reading, but not for mass creation of notes from the browser window. I do not want the front to be read nor the rest of the text on the backside/answer. I believe that auditory reinforcement of the tested material is beneficial to increased exposure and repetitions of the material. Thanks in advance
Cannot preview the input phrase with these settings.
Request got text/html Content-Type for web request; wanted audio/mpeg
Unfortunately I wasn't able to get any logs nor use mitmproxy to figure out the request or how it changed
I would like to customise AwesomeTTS in a way that can't be done through the preferences menu without having my changes overwritten when AwesomeTTS updates. A relatively simple way of doing this would be to add a hook handler to awesometts/services/__init__.py
:
def _service(name, obj):
__dict__[name] = obj
__all__.append(name)
_addHook("AwesomeTTS_register_service", _service)
_runHook("AwesomeTTS_loaded_services")
I am not very familiar with the code, so I don't know what else would need changing. From what I can tell, this and perhaps the service list "cache"(s) (if there is / are one(s)) would need changing (perhaps with an AwesomeTTS_flush_services
hook). In order to use this, another addon would simply have to include:
def register_my_service():
runHook("AwesomeTTS_register_service", "my_service", my_service_object)
addHook("AwesomeTTS_loaded_services", register_my_service) # Iff I load before AwesomeTTS
register_my_service() # Iff I load after AwesomeTTS
which would work assuming that nobody else wants to use the hook name AwesomeTTS_register_service
, in which case their hook would run twice if they load before both AwesomeTTS and the target add-on. But who's going to do that?
I'm wondering if there's a good way for me to upgrade the quality of audio for translations from Baidu. I don't know if they have a new api or if it's simply the download size. The quality is higher here.
The native TTS service in macOS does not appear in the drop-down list of services when trying to generate audio for my Anki notes. Has anyone else experienced this?
An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons
Traceback (most recent call last):
File "C:\Users\User\AppData\Roaming\Anki2\addons\awesometts\router.py", line 958, in _on_worker_signal
self._threads[thread_id]['callback'](exception)
File "C:\Users\User\AppData\Roaming\Anki2\addons\awesometts\router.py", line 545, in completion_callback
callbacks['okay'](human(path))
File "C:\Users\User\AppData\Roaming\Anki2\addons\awesometts\router.py", line 295, in on_okay
callbacks['okay'](path) # n.b. self() below handles want_human
File "C:\Users\User\AppData\Roaming\Anki2\addons\awesometts\gui\generator.py", line 347, in okay
filename = self._browser.mw.col.media.addFile(path)
AttributeError: 'NoneType' object has no attribute 'media'
I got this error while generating sound files. Anki version 2.0.44, Qt 4.8.4 PyQt 4.10. AwesomeTTS version 1.11.0. I was generating from a custom group that includes Google Translate (ja), NAVER Translate (ja), NeoSpeech(Ryo). After the error popped up I am able to close the error screen but ATTS hangs and Anki, since it's waiting for ATTS to respond, hangs as well.
When AwesomeTTS sees text like this:
HTML version:
<ruby title="週末(しゅうまつ)"><rb>週末</rb><rt>しゅうまつ</rt></ruby>は<span class="clozewrapper">{{c1::<ruby title="何(なに)"><rb>何</rb><rt>なに</rt></ruby>かしましたか}}<!-- clozewr --></span><!-- apper -->?
...it appropriately hides the cloze parameters, but it reads both the ruby characters and the text below, so that AwesomeTTS parses it as:
週末
しゅうまつ
は何
なに
かしましたか?
So there should be at least a parameter (if not a default config) to ignore ruby characters.
VOID
Is it possible to use Forvo.com as a source, when I have an api key?
Hello. I would like to to slow down Misaki's voice from Neospeech because is too fast for me, and there is an option to change the speed in Neospeech's site. I know this isn't a problem of AwesomeTTS, but anyway is there a way of changing Neospeech audio speed?
https://www.ibm.com/watson/services/text-to-speech/ provides a text-to-speech engine that's free for 10,000 Characters per Month and for many AwesomeTTS users that can be enough to be productive.
I'd like to contribute to this project but first I'd like to know if it is still active. There are seven open pull requests, will these be merged in future?
Is it possible to add
https://www.bing.com/translator
English Great Britain male voice?
In my opinion it sounds far more natural and more fluent / flowing / smooth than google voice. Just give it a try and compare a few sentences.
This might be useful:
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-python-text-to-speech
And these scripts (but they don't work for me):
https://github.com/westparkcom/Python-Bing-TTS
For some reasons I have to generate tts tag by JS code in anki note, but it can't play audio totally.So I want to know is there any method to trigger tts tag in JS code?
It's quite annoying, I tinkered around with the TTS settings and the audio-replay settings on the deck themselves, however nothing seems to fix the problem. I then thought it could possibly be the audio files themselves, but I checked it and they played the correct audio. So I don't really know whats going on please help.
Khmer (km) now has spoken word in Google Translate. It is not available as in the dropdown menu as a choice for the AwesomeTTS app where it says: Pass the following to Google Translate > Voice
Thanks for an excellent app.
When the TTS service finishes creating audio file, Awesome TTS will invoke the callback that run the audio player. How can I add another callback to that event that call a function in my add on? Does Awesome TTS support that? Thank you.
Mainly for when I'm using something rate limited, it'd be nice to still be able to use the rest of the program.
I am using Mac OS Speech Synthesizer as a voice.
I would like it so it ignores * symbols in my fields (Rather than reading them out as "Asterix").
I would also like it so it reads out "LIT" as lit (rather than L-I-T).
How can I do this?
I have clicked on AwesomeTTS > TEXT and added rules so to change how it reads * & LIT, but it seems to ignore the rules I have set up.
Currently AwesomeTTS' cache is kept directly with the Anki collections. It makes a backup procedure slightly harder (you need to exclude the cache directory manually). The plugin could respect $XDG_CACHE_HOME
(usually $HOME/.cache
) when available and only fallback to the current behavior otherwise.
More about the specification: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
The AwesomeTTS addon downloads audio in another language for Wiktionary. It seems to me that this happens when the audio of the specified language is missing.
For example, if I try to fetch an audio pronunciation for "harangue", where the language is chosen to be "French", it will download the English pronunciation, probably because there is no audio for French but English in Wiktionary.
What is expected is that, when the audio pronunciation of the chosen language is missing, it should return "Not found", rather than search for the audio in another language.
Hello,
It seems to me that AwesomeTTS doesn't generate voice any more by passing the French voice to Collins.
I tried many words, including "bonjour" and "ciseler", which are available online:
https://www.collinsdictionary.com/dictionary/french-english/bonjour
https://www.collinsdictionary.com/dictionary/french-english/ciseler
Thanks for verification and fix.
I get this error when trying to install add-on through Anki's special code. Anki's version 2.0.43
File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 1104, in connect
raise SSLHandshakeError(e)
SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
Hello,
Generating audio using VoiceText is not working, shows "HTTP Error 502: Bad Gateway" for all attempts. This is possibly due to some change VoiceText made to their API, since I was able to generate from VoiceText last month with the same version of AwesomeTTS.
AwesomeTTS v1.12.0
Anki Version 2.0.47
Qt 4.8.2 PyQt 4.9.4
AwesomeTTS can't find lame anymore:
[Errno 2] Unable to find lame to transcode the audio. It might not have been installed.
It worked fine in Anki 2.0, but not in Anki 2.1 with the current repo installed through install.sh. Running lame in Terminal works fine, lame is installed with Homebrew.
Hello,
using following settings:
Service: Oddcast
Voice: Simona (female ro)
the letter "ș" is left out of audio recordings, almost as if it was not even transmitted to the service.
Using the other Romanian voice works though. But it's not a solution, as it's not as good.
I've been using oddcast Show male/English to add audio to my flashcards. All of a sudden the quality sounds very weak as if its being recording in a very acousitcy bathroom or something. My English male voice for oddcast Paul / James in English. Why as of late, now when i attach sounds to my English cards, the audio quality in clarity has dropped like 50%. Please help.
hjl.nk,nuojlm,.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.