브라우저 호출 명령에 대한 옵션을 설정하는 방법은 무엇입니까?

브라우저 호출 명령에 대한 옵션을 설정하는 방법은 무엇입니까?

현재 언제음성 합성 마크업 언어text(SSML)이 속성 으로 설정되었습니다.SpeechSynthesisUtterance인스턴스는 다음 위치에 있습니다.크롬또는파이어폭스 브라우저웹 브라우저에서는 오디오 출력에 표시된 것처럼 SSML이 *nix에서 구문 분석되지 않습니다.speechSynthesis.speak()부르다.

브라우저의 소스 코드 찾아보기speech-dispatcher.speak()다음 중 하나 에 의해 발생한 것 같습니다 spd-say.espeak, 그렇게 하도록 구성된 경우 에서 호출할 수 있습니다 speech-dispatcher.

spd-sayx옵션 이 있습니다

-x, --ssml          Set SSML mode on (default: off)

espeakm옵션 이 있습니다

-m     Interpret SSML markup, and ignore other < > tags

speech-dispatcher사용을 위해 생성된 사용자 프로필

spd-conf -u

설명서에는 사용자 프로필을 사용하여 특정 클라이언트에 대한 매개변수를 설정할 수 있다고 명시되어 있습니다.

4.1.6 매개변수 설정 명령

다음과 같은 매개변수 설정 명령을 사용할 수 있습니다. 구성 및 기록 클라이언트의 경우 특정 다른 연결 및 모든 연결에 대한 값을 설정하는 기능도 있습니다. 아래에 나열되어 있습니다.

C API 기능: int spd_set_data_mode(SPDConnection *connection, SPDDataMode mode)음성 디스패처 데이터 모드를 설정합니다. 현재 일반 텍스트와 SSML이 지원됩니다. SSML은 색인 표시를 사용하거나 텍스트의 음성 매개변수에 대한 변경 사항을 포함하려는 경우 특히 유용합니다.

mode는 요청된 데이터 모드입니다. SPD_DATA_TEXT또는 SPD_DATA_SSML.

질문

  1. 호출 시 클라이언트 Chromium 및 Firefox 브라우저에 대한 -xfor spd-say-mfor 명령 espeak중 하나 또는 둘 다에 대한 기본 옵션을 어떻게 설정합니까?~/.config/speech-dispatcher/speechd.conf.speak()

  2. 소스 코드를 조정하는 방법크롬그리고파이어폭스 브라우저브라우저는 ?에 전달된 속성에 의해 설정된 텍스트 설정 -x또는 옵션을 기본값으로 사용합니다.-mSpeechSpeechSynthesisUtterance textwindow.speechSynthesis.speak()

답변1

일반적으로 작동하는 또 다른 접근 방식은 바이너리 이름을 바꾸고, 이름이 바뀐 바이너리를 호출하고 원하는 옵션을 포함하는 원래 이름으로 래퍼 스크립트를 작성하는 것입니다. Hacky이지만 아마도 더 간단할 것입니다. (쉘 프로그래밍에 익숙하지 않다면 확인해 보세요 $*).

또 다른 해킹은 브라우저 바이너리의 바이너리 호출 이름을 래퍼 스크립트의 이름으로 바꾸는 것입니다. 이렇게 하면 표준 이름을 유지할 수 있습니다.

단점은 브라우저를 업데이트하면 이 작업을 다시 실행해야 한다는 것입니다. 단, 다음 스크립트를 사용하여 grep작성할 수 있습니다.dd

grep -FobUa 'spd-say' browser_binary
echo -n 'spd-wrp' | dd bs=1 of=browser_binary seek=12345 conv=notrunc

spd-wrp래퍼 스크립트의 이름은 어디에 있고 12345grep이 이를 찾은 위치는 어디에 있습니까? 바이너리에 따라 변형 등을 여러 번 사용하십시오.

관련 정보