1

텍스트 음성 변환에 Web Speech API를 사용하고 있으며 기본 음성을 결정할 수 있어야합니다. 이렇게하려면 speechSynthesis.getVoices()으로 전화하고 기본값이 참인 곳을 찾기 위해 음성을 열거하십시오.Chrome OS에서 Chrome OS 독일어가 올바른 기본 음성인가요?

미국 내 모든 기기에서 미국 영어 로켈을 사용하고 있습니다. Windows 및 Mac 용 Chrome에서 반환되는 기본 음성은 Google 미국 영어입니다. 그러나 Chromebook에서 반환되는 기본 음성은 Chrome OS 독일어입니다. 정말 정확한 기본값입니까?

크롬 북에 다른 로케일 설정이 있습니까? ChromeVox의 기본 음성을 변경하려고 시도했지만 (변경 전 Chrome OS 독일어도 변경됨) 운이 없었습니다.

getVoices()으로 언어를 전달할 수있는 방법이 있습니까?

HTML은

내 페이지의 HTML 언어는 영어로 설정되어 있습니다.

<!DOCTYPE html> 
<html lang="en-US"> 

I없이 변화 등 LANG = "EN"제거 DOCTYPE 선언을 시도했다.

자바 스크립트

var _voices = []; 

    speechSynthesis.onvoiceschanged = listVoices; 

    function listVoices() { 
     _voices = speechSynthesis.getVoices(); 
    } 

    function getDefaultVoice() { 
     var voice = ''; 
     _voices.some(function(v) { 
      if (v.default) { 
       voice = v.name; 
       return true; 
      } 
     }); 
     return voice; 
    } 
+1

FWIW - 교육구에서 관리하는 모든 Chromebook은 ChromeVox가 처음 사용 설정 될 때 Chrome OS 독일어로 기본 설정됩니다. 그들은 Acer C720입니다. – Dan

+0

좀 더 명확하게하기 위해 독일어를 표시하지만 음성은 여전히 ​​영어입니다. – Dan

+0

내 영국 Dell 11 크롬 북은 동일합니다. 기본 플래그가 독일어 음성에 설정되어 있습니다! 메시지의 lang을 'en-GB'로 설정하면 특별히 음성을 들으면서 GB 음성을 자동으로 사용합니다. –

답변

0

나는이 문제를 알아 냈어. 내 기본값은 독일어로 설정되었습니다. 나무 위 집에서이 가이드는 과정을 설명 :

var utterance = new SpeechSynthesisUtterance('Hello Treehouse'); 
var voices = window.speechSynthesis.getVoices(); 

utterance.voice = voices.filter(function(voice) { return voice.lang == 'en-GB'; })[0]; 

window.speechSynthesis(utterance); 

그런 다음 당신이 (즉, 미국 영어 등)가 필요합니다 어느로 언어를 변경

:

http://blog.teamtreehouse.com/getting-started-speech-synthesis-api

가 명시 적으로이 같은 뭔가. 위에 나열된 음성 변수에서 목록을 가져 와서 개발자 도구에서 탐색 할 수 있습니다.

+1

'SpeechSynthesisUtterance'에 lang을 설정하면 자동으로 첫 번째 GB 음성을 사용하는 것 같습니다. 음성을 필터링하는 것보다 약간 간단합니다. :) –