Подтвердить что ты не робот

Каковы языковые коды в реализации Chrome для API распознавания речи HTML5?

Chrome реализовал API распознавания речи HTML5. Поддерживается много языков. Я хочу знать, какие языки поддерживаются, и каждому языку соответствует код, который используется в атрибуте HTML lang.

Например:

  • Польский (pl-PL)
  • Турецкий (tr-TR)

Спасибо!

4b9b3361

Ответ 1

Хорошо, если он не опубликован, мы можем попытаться хотя бы понять это. Позвольте мне поставить эту таблицу на начало, и мы ее уточним, если у кого-то больше информации.

Я исхожу из предположения, что поддерживаемые языки должны быть похожими на поддерживаемые голосовым поиском, и что Google использует стандартные коды языков и постоянно выполняет свои службы.

Я искал языки, поддерживаемые голосовым поиском на wikipedia

Я нашел коды языков здесь, на странице настроек языка google и здесь

EDIT: Я экспериментировал с поддержкой бэкэнда. Я провел серию тестов, в которых я передал одну и ту же английскую речевую выборку в API, но каждый раз указывал разные диалекты. Это выглядит так:

  • Если язык не поддерживается, распознавание возвращается в en-US (похоже, что он распознает, что образец находится на английском языке)
  • Если диалект не поддерживается (или не существует), распознавание в некоторых случаях возвращается на главный диалект или en-US.
  • Основной диалект может быть указан как первая часть идентификатора. Таким образом, "en-US" и "en" дают одинаковые результаты.
  • Признание для некоторых языков, таких как китайский и японский, дает результаты на английском, отличном от en-US, хотя это странно. Вероятно, образец очень отличается от китайского, и сервис умный, чтобы понять это.

Я рассматриваю диалект как поддерживаемый, если распознавание дает другой результат от en-US и от основного диалекта для языка. Тем не менее, чтобы проверить это на 100%, нам нужно запустить образцы для каждого языка.

Легенда

  • + Больше всего поддерживается, потому что тест дает результат, отличный от en-US и основного диалекта.
  • .+ Отсутствует в wikipedia, но больше всего поддерживается, потому что тест дает результат, отличный от en-US и основного диалекта.
  • +? Больше всего поддерживается, потому что он указан в википедии. Но тест на моем примере дает результат, идентичный основному диалекту. Поэтому либо это код coinsidense, либо код языка неправильный.
  • .+? Не указан в википедии, но выглядит как поддерживаемый, потому что тест дает результат, отличный от en-US и основного диалекта.

Языки

  • + Африкаанс af
  • + Баскский eu
  • + Болгарский bg
  • + Каталонский ca
  • + Арабский (Египет) ar-EG
  • +? Арабский (Иордания) ar-JO
  • + Арабский (Кувейт) ar-KW
  • +? Арабский (Ливан) ar-LB
  • + Арабский (Катар) ar-QA
  • + Арабский (ОАЭ) ar-AE
  • .+ Арабский (Марокко) ar-MA
  • .+ Арабский (Ирак) ar-IQ
  • .+ Арабский (Алжир) ar-DZ
  • .+ Арабский (Бахрейн) ar-BH
  • .+ Арабский (Lybia) ar-LY
  • .+ Арабский (Оман) ar-OM
  • .+ Арабский (Саудовская Аравия) ar-SA
  • .+ Арабский (Тунис) ar-TN
  • .+ Арабский (Йемен) ar-YE
  • + Чешский cs
  • + Голландский nl-NL
  • + Английский (Австралия) ru-AU
  • +? Английский (Канада) ru-CA
  • + Английский (Индия) ru-IN
  • + Английский (Новая Зеландия) ru-NZ
  • + Английский (Южная Африка) ru-ZA
  • + Английский (Великобритания) ru-RU
  • + Английский (США) ru-US
  • + Финский fi
  • + Французский fr-FR
  • + Галисийский gl
  • + Немецкий de-DE
  • + Иврит он
  • + Венгерский hu
  • + Исландский
  • + Итальянский it-IT
  • + Индонезийский id
  • + Японский ja
  • + Корейский ko
  • + Латинский la
  • + Мандарин Китайский zh-CN
  • + Традиционный Тайвань zh-TW
  • +? Упрощенный Китай zh-CN?
  • + Упрощенный Гонконг zh-HK
  • + Юэ Китайский (традиционный Гонконг) zh-yue
  • + Малайзийский ms-MY
  • + Норвежский no-NO
  • + Польский pl
  • +? Pig Latin xx-piglatin
  • + Португальский pt-PT
  • .+ Португальский (brasil) pt-BR
  • + Румынский ro-RO
  • + Русский ru
  • + Сербский sr-SP
  • + Словацкий sk
  • + Испанский (Аргентина) es-AR
  • + Испанский (Боливия) es-BO
  • +? испанский (Чили) es-CL
  • +? Испанский (Колумбия) es-CO
  • +? Испанский (Коста-Рика) es-CR
  • + Испанский (Доминиканская Республика) es-DO
  • + Испанский (Эквадор) es-EC
  • + Испанский (Сальвадор) es-SV
  • + Испанский (Гватемала) es-GT
  • + испанский (Гондурас) es-HN
  • + Испанский (Мексика) es-MX
  • + Испанский (Никарагуа) es-NI
  • + испанский (Панама) es-PA
  • + Испанский (Парагвай) es-PY
  • + Испанский (Перу) es-PE
  • + Испанский (Пуэрто-Рико) es-PR
  • + Испанский (Испания) es-ES
  • + Испанский (США) es-US
  • + Испанский (Уругвай) es-UY
  • + испанский (Венесуэла) es-VE
  • + Шведский sv-SE
  • + Турецкий tr
  • + Zulu zu

Ответ 2

Используйте следующий код, чтобы получить все доступные голоса для речевого API в вашем браузере:

var voices = speechSynthesis.getVoices();
      for(var i = 0; i < voices.length; i++ ) {
        console.log("Voice " + i.toString() + ' ' + voices[i].name + ' ' + voices[i].uri);
      }

В настоящее время только Chrome и Safari поддерживают API Web Speech (хотя Safari поддерживает только функции Text to Speech). Любопытно, что Firefox OS поддерживает TTS, но версия браузера не работает.

Список языков зависит от того, в каком браузере вы работаете в соответствии с документацией и моими тестами (зависит от пользователя).

В Safari вы также получаете много доступных языков (я верю более 40). В Chrome в это время вы получаете следующий список:

Голос 0 Google US English undefined

Голос 1 Google UK Английский Мужской undefined

Голос 2 Google Великобритания Английский Женский undefined

Голос 3 Google Español undefined

Голос 4 Google Français undefined

Голос 5 Google Italiano undefined

Голос 6 Google Deutsch undefined

Голос 7 Google 日本人 undefined

Голос 8 Google 한국 의 undefined

Голос 9 Google 中国 的 undefined

Голос 10 native undefined

Ответ 3

Я знаю, что это старый пост, но поскольку эта информация досадно трудно найти, я думал, что разместил список для всех, кто мог бы смотреть. Если вы обнаружите какие-либо ошибки или упущения, оставьте примечание.

{
  "Afrikaans": [
    ["South Africa", "af-ZA"]
  ],
  "Arabic" : [
    ["Algeria","ar-DZ"],
    ["Bahrain","ar-BH"],
    ["Egypt","ar-EG"],
    ["Israel","ar-IL"],
    ["Iraq","ar-IQ"],
    ["Jordan","ar-JO"],
    ["Kuwait","ar-KW"],
    ["Lebanon","ar-LB"],
    ["Morocco","ar-MA"],
    ["Oman","ar-OM"],
    ["Palestinian Territory","ar-PS"],
    ["Qatar","ar-QA"],
    ["Saudi Arabia","ar-SA"],
    ["Tunisia","ar-TN"],
    ["UAE","ar-AE"]
  ],
  "Basque": [
    ["Spain", "eu-ES"]
  ],
  "Bulgarian": [
    ["Bulgaria", "bg-BG"]
  ],
  "Catalan": [
    ["Spain", "ca-ES"]
  ],
  "Chinese Mandarin": [
    ["China (Simp.)", "cmn-Hans-CN"],
    ["Hong Kong SAR (Trad.)", "cmn-Hans-HK"],
    ["Taiwan (Trad.)", "cmn-Hant-TW"]
  ],
  "Chinese Cantonese": [
    ["Hong Kong", "yue-Hant-HK"]
  ],
  "Croatian": [
    ["Croatia", "hr_HR"]
  ],
  "Czech": [
    ["Czech Republic", "cs-CZ"]
  ],
  "Danish": [
    ["Denmark", "da-DK"]
  ],
  "English": [
    ["Australia", "en-AU"],
    ["Canada", "en-CA"],
    ["India", "en-IN"],
    ["Ireland", "en-IE"],
    ["New Zealand", "en-NZ"],
    ["Philippines", "en-PH"],
    ["South Africa", "en-ZA"],
    ["United Kingdom", "en-GB"],
    ["United States", "en-US"]
  ],
  "Farsi": [
    ["Iran", "fa-IR"]
  ],
  "French": [
    ["France", "fr-FR"]
  ],
  "Filipino": [
    ["Philippines", "fil-PH"]
  ],
  "Galician": [
    ["Spain", "gl-ES"]
  ],
  "German": [
    ["Germany", "de-DE"]
  ],
  "Greek": [
    ["Greece", "el-GR"]
  ],
  "Finnish": [
    ["Finland", "fi-FI"]
  ],
  "Hebrew" :[
    ["Israel", "he-IL"]
  ],
  "Hindi": [
    ["India", "hi-IN"]
  ],
  "Hungarian": [
    ["Hungary", "hu-HU"]
  ],
  "Indonesian": [
    ["Indonesia", "id-ID"]
  ],
  "Icelandic": [
    ["Iceland", "is-IS"]
  ],
  "Italian": [
    ["Italy", "it-IT"],
    ["Switzerland", "it-CH"]
  ],
  "Japanese": [
    ["Japan", "ja-JP"]
  ],
  "Korean": [
    ["Korea", "ko-KR"]
  ],
  "Lithuanian": [
    ["Lithuania", "lt-LT"]
  ],
  "Malaysian": [
    ["Malaysia", "ms-MY"]
  ],
  "Dutch": [
    ["Netherlands", "nl-NL"]
  ],
  "Norwegian": [
    ["Norway", "nb-NO"]
  ],
  "Polish": [
    ["Poland", "pl-PL"]
  ],
  "Portuguese": [
    ["Brazil", "pt-BR"],
    ["Portugal", "pt-PT"]
  ],
  "Romanian": [
    ["Romania", "ro-RO"]
  ],
  "Russian": [
    ["Russia", "ru-RU"]
  ],
  "Serbian": [
    ["Serbia", "sr-RS"]
  ],
  "Slovak": [
    ["Slovakia", "sk-SK"]
  ],
  "Slovenian": [
    ["Slovenia", "sl-SI"]
  ],
  "Spanish": [
    ["Argentina", "es-AR"],
    ["Bolivia", "es-BO"],
    ["Chile", "es-CL"],
    ["Colombia", "es-CO"],
    ["Costa Rica", "es-CR"],
    ["Dominican Republic", "es-DO"],
    ["Ecuador", "es-EC"],
    ["El Salvador", "es-SV"],
    ["Guatemala", "es-GT"],
    ["Honduras", "es-HN"],
    ["México", "es-MX"],
    ["Nicaragua", "es-NI"],
    ["Panamá", "es-PA"],
    ["Paraguay", "es-PY"],
    ["Perú", "es-PE"],
    ["Puerto Rico", "es-PR"],
    ["Spain", "es-ES"],
    ["Uruguay", "es-UY"],
    ["United States", "es-US"],
    ["Venezuela", "es-VE"]
  ],
  "Swedish": [
    ["Sweden", "sv-SE"]
  ],
  "Thai": [
    ["Thailand", "th-TH"]
  ],
  "Turkish": [
    ["Turkey", "tr-TR"]
  ],
  "Ukrainian": [
    ["Ukraine", "uk-UA"]
  ],
  "Vietnamese": [
    ["Viet Nam", "vi-VN"]
  ],
  "Zulu": [
    ["South Africa", "zu-ZA"]
  ]
}

Ответ 4

Здесь у вас есть @TimHayes в LinkedHashMap, где вы можете получить значения. Im используя LinkedHashMap, чтобы я мог получить положение карты.

    LinkedHashMap<String,String> country = new LinkedHashMap<String,String>();


    country.put("South Africa", "af-ZA");
    country.put("Algeria", "ar-DZ");
    country.put("Bahrain", "ar-BH");
    country.put("Egypt", "ar-EG");
    country.put("Israel", "ar-IL");
    country.put("Iraq", "ar-IQ");
    country.put("Jordan", "ar-JO");
    country.put("Kuwait", "ar-KW");
    country.put("Lebanon", "ar-LB");
    country.put("Morocco", "ar-MA");
    country.put("Oman", "ar-OM");
    country.put("Palestinian Territory", "ar-PS");
    country.put("Qatar", "ar-QA");
    country.put("Saudi Arabia", "ar-SA");
    country.put("Tunisia", "ar-TN");
    country.put("UAE", "ar-AE");
    country.put("Spain", "eu-ES");
    country.put("Bulgaria", "bg-BG");
    country.put("Spain", "ca-ES");
    country.put("China (Simp.)", "cmn-Hans-CN");
    country.put("Hong Kong SAR (Trad.)", "cmn-Hans-HK");
    country.put("Taiwan (Trad.)", "cmn-Hant-TW");
    country.put("Hong Kong", "yue-Hant-HK");
    country.put("Croatia", "hr_HR");
    country.put("Czech Republic", "cs-CZ");
    country.put("Denmark", "da-DK");
    country.put("Australia", "en-AU");
    country.put("Canada", "en-CA");
    country.put("India", "en-IN");
    country.put("Ireland", "en-IE");
    country.put("New Zealand", "en-NZ");
    country.put("Philippines", "en-PH");
    country.put("South Africa", "en-ZA");
    country.put("United Kingdom", "en-GB");
    country.put("United States", "en-US");
    country.put("Iran", "fa-IR");
    country.put("France", "fr-FR");
    country.put("Philippines", "fil-PH");
    country.put("Spain", "gl-ES");
    country.put("Germany", "de-DE");
    country.put("Greece", "el-GR");
    country.put("Finland", "fi-FI");
    country.put("Israel", "he-IL");
    country.put("India", "hi-IN");
    country.put("Hungary", "hu-HU");
    country.put("Indonesia", "id-ID");
    country.put("Iceland", "is-IS");
    country.put("Italy", "it-IT");
    country.put("Switzerland", "it-CH");
    country.put("Japan", "ja-JP");
    country.put("Korea", "ko-KR");
    country.put("Lithuania", "lt-LT");
    country.put("Malaysia", "ms-MY");
    country.put("Netherlands", "nl-NL");
    country.put("Norway", "nb-NO");
    country.put("Poland", "pl-PL");
    country.put("Brazil", "pt-BR");
    country.put("Portugal", "pt-PT");
    country.put("Romania", "ro-RO");
    country.put("Russia", "ru-RU");
    country.put("Serbia", "sr-RS");
    country.put("Slovakia", "sk-SK");
    country.put("Slovenia", "sl-SI");
    country.put("Argentina", "es-AR");
    country.put("Bolivia", "es-BO");
    country.put("Chile", "es-CL");
    country.put("Colombia", "es-CO");
    country.put("Costa Rica", "es-CR");
    country.put("Dominican Republic", "es-DO");
    country.put("Ecuador", "es-EC");
    country.put("El Salvador", "es-SV");
    country.put("Guatemala", "es-GT");
    country.put("Honduras", "es-HN");
    country.put("México", "es-MX");
    country.put("Nicaragua", "es-NI");
    country.put("Panamá", "es-PA");
    country.put("Paraguay", "es-PY");
    country.put("Perú", "es-PE");
    country.put("Puerto Rico", "es-PR");
    country.put("Spain", "es-ES");
    country.put("Uruguay", "es-UY");
    country.put("United States", "es-US");
    country.put("Venezuela", "es-VE");
    country.put("Sweden", "sv-SE");
    country.put("Thailand", "th-TH");
    country.put("Turkey", "tr-TR");
    country.put("Ukraine", "uk-UA");
    country.put("Viet Nam", "vi-VN");
    country.put("South Africa", "zu-ZA");