Anki add-on: Yomichan Forvo Server

YOMICHAN FORVO SERVER FOR ANKI Simple server to take advantage of Yomichan’s custom audio sources feature. Requires Anki Connect. It web scrapes Forvo’s search and word page to get a list of words. NOTICE Forvo sometimes enables Cloudflare verification, meaning it tries to verify that a human is browsing their site instead of a program like this one. The add-on can't function when this happens, but please check https://github.com/jamesnicolas/yomichan-forvo-server/issues/13 if you want to track this issue. Prerequisites: Anki Yomichan Anki Connect Install: Copy the code and install like you would for any other Anki addon Restart Anki Allow network connections (required since this is a local server) In yomichan settings, go to Audio > Configure Audio Playback Sources > Custom Audio Source Select Type as JSON and set URL to http://localhost:8770/?term={term}&reading={reading} In your Audio Sources list below, make sure one of them is set to Custom Now when you scan a word in Yomichan, you should be able to right click the audio icon and the Forvo custom audio sources should appear. Configuration Yomichan Forvo Server supports a few configuration options, which you can edit by going to Tools > Add-Ons > Yomichan Forvo Server > Config. Note configuration changes requires you to restart Anki to see effects . port Port that YomiChan will call. Default is 8770 language Language code to use in Forvo. Some examples are ja for Japanese or zh for Mandarin Chinese. Default ja . On the Forvo website, you can see what language code is in square brackets beside the language name on a pronunciation. If you want to have a separate source for another language, you can add another parameter to the URL to override this config: eg http://localhost:8770/?term={term}&reading={reading}&language=zh preferred_usernames A list of Forvo usernames. This will order the results on top based on this priority. If empty, results will show based on the Forvo website order or according to preferred_countries . Default empty. preferred_countries A list of countries, usually title case. (Eg. "United States"). This will order the results on top based on this priority. preferred_usernames takes priority over preferred_countries . If empty, results will show based on the Forvo website order or according to preferred_usernames . Default empty. show_gender Show the gender symbols (♂, ♀,) beside the username based on their gender. Default true . show_country Show the country of the user beside their name. Default false Links GitHub: https://github.com/jamesnicolas/yomichan-forvo-server Anki Add-on page: https://ankiweb.net/shared/info/580654285 Changelog 2024-07-15 add support for preferred countries 2024-06-10 handle anonymous users support showing country 2023-08-30 support overriding the language in the URL 2023-07-28 fixed deprecated method_whitelist in urllib3 Retry and use allowed_methods 2022-10-26 handle case when gender isn’t available 2022-09-05 add support for preferred usernames fixed bug where it was using the raw audio from forvo, now uses the normalized audio from forvo added gender symbols to results support configuration where port, username order, language, and showing gender symbols are configurable 2022-07-25 update selectors for new forvo layout 2022-01-30 add Content-length header 2021-11-14 change timeout to 10 seconds 2021-03-22 fixed bug with empty reading/expression inputs returning unrelated words added basic retries/timeouts to deal with connection issues

GitHub repository: jamesnicolas/yomichan-forvo-server
Repository description: An audio server for yomichan that scrapes forvo for audio files
Languages: Python