Giter Site home page Giter Site logo

hadriengardeur / web-speech-recommended-voices Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 87 KB

A list of recommended voices for the Web Speech API

Home Page: https://hadriengardeur.github.io/web-speech-recommended-voices/demo/

License: Creative Commons Zero v1.0 Universal

cross-browser read-aloud speech-synthesis text-to-speech tts web-speech-api

web-speech-recommended-voices's People

Contributors

hadriengardeur avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

web-speech-recommended-voices's Issues

Document voices available on OEM Android devices

There's an extremely large number of Android devices on the market and due to various tweaks applied by manufacturers, the list of available voices can vary greatly.

While it's nearly impossible to document them all, prioritizing the most popular OEM/devices could be a good strategy overall.

Samsung feels like the obvious OEM to focus on, considering their market share worldwide (they're the only ones competing with Apple for the crown).
Chinese OEMs such as Xiaomi, Oppo and Realme also have very decent market penetration outside of North America.

Since it's going to be difficult to get our hands on such a wide variety of devices, device farms could be a good option but we'll need to look into the list of devices that they actually have.

A demo page that returns the equivalent of window.speechSynthesis.getVoices() would be helpful for that task, since I doubt that we'll be able to easily open a console on these devices.

Chrome on Android returns unavailable languages in its voice list

In addition to the problem with the current approach for getVoices() in Chrome for Android detailed in #12, we need to file a separate report about the list of languages itself.

A list of voices should only contain values that the user can use, but that's not the case currently in Chrome for Android. The list contains languages for which the voice pack hasn't been installed yet, which results in the TTS engine using English as a fallback.

Links:

  • TBD

Also reported in:

Document well-known issues with voice selection across various browsers/OS

While working on #1, I've encountered various issues with how voices are currently exposed through the Web Speech API.

Documenting these issues through the README of this repo feels important and a good first step towards addressing them. Ideally, we would followup this task by making sure that these issues are known by Apple/Google/Microsoft/Mozilla and track their efforts to fix them.

Document voices in Spanish for other regions

The current list of recommended voices for English has almost 80 voices already, but it only covers the following regions:

  • Spain (es-es)
  • Mexico (es-mx)
  • United States (es-us)

Additional voices are also available for the following regions:

  • Argentina (es-ar)
  • Bolivia (es-bo)
  • Chile (es-cl)
  • Colombia (es-co)
  • Costa Rica (es-cr)
  • Cuba (es-cu)
  • Dominican Republic (es-do)
  • Ecuador (es-ec)
  • El Salvador (es-sv)
  • Equatorial Guinea (es-gq)
  • Guatemala (es-gt)
  • Honduras (es-hl)
  • Nicaragua (es-ni)
  • Panama (es-pa)
  • Paraguay (es-py)
  • Peru (es-pe)
  • Puerto Rica (es-pr)
  • Uruguay (es-uy)
  • Venezuela (es-ve)

This is by far the longest list of regions available for any given language, but most of these regions are only available through Microsoft Natural voices, which limits the compatibility strictly to Edge on desktop.

Only the following regions have voices that are available elsewhere:

  • Argentina (es-ar)
  • Chile (es-cl)
  • Colombia (es-co)

Document voices in English for other regions

The current list of recommended voices for English has almost 80 voices already, but it only covers the following regions:

  • United States (en-us)
  • United Kingdom (en-gb)
  • Canada (en-CA)

Additional voices are also available for the following regions:

  • Australia (en-au)
  • Hong Kong (en-hk)
  • India (en-in)
  • Ireland (en-ie)
  • Kenya (en-ke)
  • New Zealand (en-nz)
  • Nigeria (en-ng)
  • Scotland (en-gb-u-sd-gbsct)
  • Singapore (en-sg)
  • South Africa (en-za)
  • Tanzania (en-tz)

Given the large number of regions covered by English, prioritizing these languages might be a challenge.

Support for Chrome OS natural voices

In the latest Chrome OS update, Google added support for natural voices on some languages.

Based on the few tests that I've made so far, these natural voices seem to be similar to the Android voices available in Chrome OS that we already document in this repo.
The main difference being that you can use these natural voices offline as well.

We could use a similar approach to what we already document with Apple voices where:

  • the primary name would become these new natural voices
  • but we would keep on documenting the Android voices in altNames

Add support for German and Portuguese

Now that I'm mostly done with the initial list of languages (aside from additional regions, as documented in #4 and #5), I've identified that the next two languages that I'll cover will be:

  • German (Germany, Austria and Switzerland)
  • and Portuguese (Portugal and Brazil)

Add support for all official languages in Spain

Based on experience, I know that support for all official languages is important for any deployment in Spain.

While the current project already has an extensive list of voices for Spanish, documenting voices for all the remaining official languages in Spain would cement its viability.

The following additions should be considered:

  • Basque (eu)
  • Catalan (ca)
  • Galician (gl)
  • Valencian (doesn't really have an official BCP 47 language tag)

There are very few voices currently available for these languages, which should make it a fairly easy task.

Chrome on Android returns a list of languages instead of a list of voices

In almost every browser, getVoices() returns a full list of voices available to the user.

On Chrome for Android (and its associated webview), that's unfortunately not the case. Instead of a list of voices, a list of all languages supported by the system is returned.

Because of this approach, users of Web apps are unable to select the voice that they prefer, they're limited to whatever has been set in their system settings which can be difficult to find.

Add support for Dutch

Now that I've covered a good portion of the west/south of Europe, I'll head north for future additions, starting with Dutch.

Overall, there seems to be a good selection of voices available with a mix of voices targeting the Netherlands and Belgium.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.