면책 조항 : 이것은 공식적인 Google 제품이 아닙니다.
Voice Builder는 단순성, 유연성 및 협업에 중점을 둔 OpenSource 텍스트 음성 연설 (TTS) 음성 건축 도구입니다. 우리의 도구를 사용하면 기본 컴퓨터 기술을 가진 사람은 누구나 음성 훈련 실험을 실행하고 결과 합성 음성을들을 수 있습니다.
우리는이 도구가 실험을보다 빠르고 학제 간 협업을보다 쉽게 만들어 새로운 목소리를 만들고 TTS 연구를 가속화하기위한 장벽을 줄이기를 희망합니다. 우리는 우리의 도구가 제한된 데이터를 최대한 활용하기 위해 더 많은 실험이 필요한 경우에 자원이 적은 언어의 TTS 연구를 개선하는 데 도움이 될 수 있다고 생각합니다.
간행물 -https://ai.google/research/pubs/pub46977
GCP (Google Cloud Platform)에서 프로젝트를 만듭니다.
아직 계정이 없다면 직접 계정을 작성하십시오.
청구를 활성화하고 프로젝트에 대한 더 많은 할당량을 요청하십시오
Docker를 설치하십시오
FireBase.com으로 이동하여 프로젝트를 Firebase 플랫폼으로 가져 오십시오.
아직 계정이 없다면 직접 계정을 작성하십시오.
Cloud SDK를 설치하여 GCLOUD CMD 라인 도구를 설치하십시오
node.js를 설치하십시오
Firebase CMD 라인 도구를 설치하십시오
다음 GCP 서비스를 모두 활성화하십시오.
이 URL을 사용하여 한 번에 모두 활성화하십시오.
일반적으로 API를 활성화하는 데 몇 분이 소요되며 GCP는 다른 페이지로 가져와 자격 증명을 설정합니다. 새 자격 증명 설정이 필요하지 않으므로 페이지를 건너 뛰고 닫으십시오.
[선택 사항] 자신의 사용자 정의 데이터 수출 업체를 설정하십시오
모든 전제 조건을 완료하지 않은 경우 다음 단계로 더 나아 가기 전에 그렇게하십시오.
이 프로젝트를 현재 디렉토리로 복제하십시오.
git clone https://github.com/google/voice-builder.git && cd voice-builder
아직 gcloud를 통해 계정에 로그인하지 않은 경우 : 로그인하십시오.
gcloud auth login
또한 FireBase를 통해 계정에 로그인하지 않은 경우 로그인하십시오.
firebase login --no-localhost
deploy.sh 열고 다음 변수를 편집하십시오.
각 작업 데이터를 저장할 음성 빌더 용 GCS 버킷 생성
./deploy.sh initial_setup
클라우드 기능 구성 요소를 배포합니다
./deploy.sh cloud_functions
UI 구성 요소를 배포합니다
./deploy.sh ui create
배포 후 Command Line의 결과 (external_ip)에서 액세스 할 수있는 IP를 가져와야합니다. 브라우저에서 http : // external_ip : 3389를 방문하여 음성 빌더 인스턴스에 액세스 할 수 있습니다.
이 단계에서는 모든 구성 요소가 있어야하며 http : // external_ip : 3389에서 UI에 액세스 할 수 있습니다. VoiceBuilder는 처음에 TTS 엔진 (Festival and Merlin)과 Language Resources Repo의 공개 데이터를 제공합니다.
제공된 축제 엔진을 사용하여 새로운 목소리를 직접 만들어 모든 것이 올바르게 작동하는지 테스트 할 수 있습니다.
데이터 수출 업체는 시스템에 추가 할 수있는 또 다른 추가 구성 요소입니다. 일반적으로 음성 빌더는 데이터 수출 업체없이 작동 할 수 있습니다. 그것 없이는 Voice Builder는 입력 파일을 그대로 사용합니다.
그러나 경우에 따라 TTS 알고리즘에 공급하기 전에 입력 파일에 약간의 변환을 적용하려고합니다. 예를 들어:
Voice Builder는 실제 TTS 알고리즘을 실행하기 전에 데이터를 조작하는 데 사용할 수있는 자체 데이터 수출 업체를 추가 할 수있는 유연성을 제공합니다. 사용자 정의 데이터 수출 업체는 파일 위치, 선택한 TTS 알고리즘, 튜닝 매개 변수 등이 포함 된 음성 사양을 얻게됩니다.이 정보를 사용하여 데이터를 조작/변환 할 수 있습니다. 결국, 데이터 수출 업체는 필요한 모든 파일을 지정된 작업 폴더에 넣어 실제 TTS 알고리즘을 실행하도록 트리거해야합니다.
첫째, 데이터 수출 업체에 GCS 버킷에 액세스 할 수 있어야합니다.
/deploy.sh를 열고 다음 변수를 편집하십시오.
data_exporter_service_account를 제공하려면 명령을 실행하십시오. GCS 버킷에 대한 ACL 액세스 권한
./deploy.sh acl_for_data_exporter
둘째, 음성 빌더가 음성 사양 정보를 어디로 보낼 위치를 알 수 있도록 Config.js에서 데이터 수출 업체의 URL을 설정해야합니다.
/config.js를 열고 다음과 같이 구성에 data_exporter_api를 추가하십시오.
DATA_EXPORTER_API: {
BASE_URL: '<DATA_EXPORTER_URL>',
API_KEY: '<DATA_EXPORTER_API_KEY>',
}
여기서 Base_url은 데이터 수출 업체 URL이고 API_Key는 데이터 수출기의 API 키입니다.
새로운 구성이 있고 음성 사양 정보를 보낼 위치를 알고 있도록 Voice Builder UI 인스턴스를 재배치하십시오. 데이터 수출 업체에
./deploy.sh ui update
새로운 직업을 만들어보십시오! Voice Builder는 이제 생성 된 작업의 음성 사양으로 Data_Exporter_URL에 요청을 보내야합니다.
VoiceBuildingSpecification 은 음성 사양의 JSON 정의입니다. 이 사양은 사용자가 UI의 음성 구축 요청을 트리거 할 때 음성 빌더 백엔드에 의해 생성됩니다. 데이터 수출 업체 (API를 통해 데이터 수출 업체에 전달)에 의해 파일을 변환하여 TTS 엔진에 의해 교육 매개 변수를 사용할 수 있습니다.
{
"id": int,
"voice_name": string,
"created_by": string,
"job_folder": string,
"lexicon_path": object(Path),
"phonology_path": object(Path),
"wavs_path": object(Path),
"wavs_info_path": object(Path),
"sample_rate": int,
"tts_engine": string,
"engine_params": [object(EngineParam)],
}
| 전지 | 설명 |
|---|---|
| ID | 독특한 글로벌 구인 ID. |
| Voice_name | 사용자 친화적 인 음성 이름 (예 : 멀티 스피커 음성). |
| 생성 _by | 목소리를 만든 사용자의 이름. |
| job_folder | GCS 작업 폴더의 경로. 이곳은 작업과 관련된 모든 데이터가 저장소입니다. |
| Lexicon_Path | 어휘로가는 길. |
| phonology_path | 음운학으로가는 길. |
| wavs_path | wavs로가는 경로 (타르 파일이어야 함). |
| wavs_info_path | WAV 이름 및 프롬프트의 매핑을 포함하는 파일로가는 경로. |
| 샘플 _rate | 음성을 구축 해야하는 샘플 속도. |
| tts_engine | 음성을 훈련시키는 TTS 엔진의 유형. 이 값은 선택한 TTS 엔진 엔진에서 엔진 _id입니다. |
| Engine_Params | TTS 엔진의 추가 매개 변수. |
EngineParam 에는 TTS 백엔드 엔진 용 매개 변수가 포함되어 있습니다.
{
"key": string,
"value": string
}
| 전지 | 설명 |
|---|---|
| 열쇠 | 매개 변수 키. |
| 값 | 매개 변수 키의 값. |
Path 파일 경로에 대한 정보가 포함되어 있습니다.
{
"path": string
"file_type": string
}
| 전지 | 설명 |
|---|---|
| 길 | 파일로가는 길. |
| file_type | 파일 형식. |
예를 들어, 데이터 수출 업체를 설정하는 경우 사전 정의 된 축제 엔진을 사용하여 음성을 만들 때 Voice Builder는 아래와 유사한 요청 본문을 데이터 수출 업체에 보냅니다. 그런 다음 데이터 수출 업체는 데이터를 사전 프로세스하고 데이터를 job_folder 위치 ( gs://your-voice-builder-jobs/1 )에 넣어야합니다. 필요한 모든 파일이 폴더에 배치되면 실제 음성 구축 프로세스가 예상대로 자동으로 시작됩니다.
{
"id": 1,
"voice_name": "my_voice",
"createdBy": "[email protected]",
“job_folder”: "gs://your-voice-builder-jobs/1";
"engine_params": [
{
"key": "param_for_festival1",
"value": "50"
},
{
"key": "param_for_festival2",
"value": "30"
}
],
"sample_rate": "22050",
"tts_engine": "festival",
"lexicon_path": {
"path": "gs://voice-builder-public-data/examples/sinhala/lexicon.scm",
"file_type": "SCM"
},
"phonology_path": {
"path": "gs://voice-builder-public-data/examples/sinhala/phonology.json",
"file_type": "JSON_EXTERNAL_PHONOLOGY"
},
"wavs_path": {
"path": "gs://voice-builder-public-data/examples/sinhala/wavs.tar.gz",
"file_type": "TAR"
},
"wavs_info_path": {
"path": "gs://voice-builder-public-data/examples/sinhala/txt.done.data",
"file_type": "LINE_INDEX"
},
}