
MyCroft 오픈 소스 Mimic Technologies는 서면 텍스트를 작성하여 음성 오디오로 변환하는 텍스트 음성 엔진입니다. 이 기술의 최신 기술 인 Mimic 2는 기계 학습 기술을 사용하여 특정 언어를 말할 수있는 모델을 만들어 훈련 된 목소리처럼 들립니다.
MIMIC Recording Studio는 개인의 교육 데이터 모음을 단순화하며, 각각은 모방의 독특한 음성을 생성하는 데 사용할 수 있습니다.
git clone https://github.com/MycroftAI/mimic-recording-studio.gitcd mimic-recording-studiostart-windows.bat왜 Docker? 이 크로스 플랫폼을 쉽게 설정하고 실행할 수 있도록합니다.
git clone https://github.com/MycroftAI/mimic-recording-studio.git
cd mimic-recording-studio
Docker sudo docker-compose up docker-compose up up build and run
또는 별도로 구축하고 실행할 수 있습니다. docker-compose build 한 다음 docker-compose up
브라우저에서 http://localhost:3000 으로 이동하십시오
참고 : docker-compose up 의 첫 번째 실행은 Docker 컨테이너를 구축하므로 시간이 걸립니다. 이후 docker-compose up 의 후속 실행은 더 빨리 부팅해야합니다.
cd backend/pip install -r requirements.txtpython run.py cd frontend/npm install , 또는 yarn installnpm start , 대안 적으로 yarn start온라인, http://mimic.mycroft.ai 설정이 필요한 호스팅 버전.
오디오는 backend/audio_file/{uuid}/ 디렉토리에 Wav 파일로 저장됩니다. 백엔드는 FFMPEG를 사용하여 모든 WAV 파일에 대한 시작 및 끝 침묵을 자동으로 다듬습니다.
메타 데이터는 또한 backend/audio_file/{uuid}/ 에 저장됩니다. 이 파일은 wav 파일 이름을 말하는 문구에 매핑합니다. 이것은 wav 파일과 함께 Mimic 2 교육을 시작하는 데 필요한 것입니다.
현재, 우리는 영어 코퍼스 인 english_corpus.csv 를 사용하여 backend/prompt/ 에서 찾을 수 있습니다. 자신의 코퍼스를 사용하려면 다음 단계를 따르십시오.
t )을 사용하여 english_corpus.csv 와 동일한 형식으로 CSV 파일을 만듭니다.backend/prompt 디렉토리에 코퍼스를 추가하십시오.docker-compose.yml 의 CORPUS 환경 변수를 코퍼스 이름으로 변경하십시오. 영어 이외의 언어로 코퍼스를 개발하려면 Mimic Recording Studio를 사용하여 추가 언어로 TTS 목소리에 대한 음성 녹음을 제작할 수 있습니다. 영어 이외의 언어로 코퍼스를 구축하는 경우 다음과 같은 문구를 선택하는 것이 좋습니다.
중요 : 현재로서는 새 코퍼스를 사용하려면 sqlite 데이터베이스를 재설정해야합니다. 다른 코퍼스에서 녹음하고 해당 데이터를 저장하려면 backend/db/ 에 찾은 sqlite DB를 다른 이름으로 바꿀 수 있습니다. 백엔드는 mimicstudio.db 가 없음을 감지하고 새로운 것을 만들 것입니다. 새로운 코퍼스에 대한 데이터를 계속 기록 할 수 있습니다.
Web UI는 JavaScript를 사용하여 구축되었으며 스캐 폴딩 도구로 React 및 React-React-App을 작성합니다. Create-React-App을 사용하는 방법에 대한 자세한 내용은 Cra.md를 참조하십시오.
웹 서비스는 Python, Flask를 백엔드 프레임 워크로, Gunicorn을 HTTP 웹 서버로, SQLITE를 데이터베이스로 사용하여 구축됩니다.
Docker는 두 응용 프로그램을 모두 컨테이너화하는 데 사용됩니다. 기본적으로 프론트 엔드는 네트워크 포트 3000 사용하고 백엔드는 네트워킹 포트 5000 사용합니다. docker-compose.yml 파일에서이를 구성 할 수 있습니다.
참고 : docker-registry 실행하는 경우 포트 5000 에서 기본적으로 실행되므로 사용하는 포트를 변경해야합니다.
목소리를 만들려면 달성 할 수 있지만 상당한 노력이 필요합니다. 개인은 15,000-20,000 문구를 기록해야합니다. 최상의 모방 음성을 얻으려면 녹음이 깨끗하고 일관성이 있어야합니다. 이를 위해 다음과 같은 권장 사항을 따르십시오.
Mimic Recording-Studio는 모든 레코드를/백엔드/DB/아래에있는 SQLITE 데이터베이스 파일로 작성합니다. 이것은 dbeaver와 같은 데이터베이스 도구를 사용하여 열 수 있습니다.
데이터베이스에는 두 개의 테이블이 포함되어 있습니다.

이 테이블에는 모든 녹음이 지속됩니다
데이터베이스를 사용하여 녹음을 쿼리 할 수 있습니다.
다음은 몇 가지 예입니다.
-- List all recordings
SELECT * FROM audiomodel;
-- Lists recordings from january 2020 order by phrase
SELECT * FROM audiomodel WHERE created_date BETWEEN ' 2020-01-01 ' AND ' 2020-01-31 ' ORDER BY prompt;
-- Lists number of recordings per day
SELECT DATE (created_date), COUNT ( * ) AS RecordingsPerDay
FROM audiomodel
GROUP BY DATE (created_date )
ORDER BY DATE (created_date)
-- Shows average text length of recordings
SELECT AVG (LENGTH(prompt)) AS avgLength FROM audiomodelSQLITE 데이터베이스를 쿼리하는 것이 유용 할 수있는 방법에는 여러 가지가 있습니다. 예를 들어, 특정 시간 범위에서 녹음을 찾으면 나쁜 환경에서 만들어진 녹음을 제거하는 데 도움이 될 수 있습니다.
동일한 SQLite 데이터베이스 파일을 사용하여 하나 이상의 스피커가 MIMIC Recording-Studio를 사용할 수 있습니다.
이 테이블은 스피커 당 다음과 같은 정보를 제공합니다.
이 값은 메트릭을 계산하는 데 사용됩니다. 예를 들어, 말하기 속도는 기록 된 문구가 이전 기록에 비해 너무 빠르거나 느립니다.
쿼리 테이블 "UUID를 포함한 스피커 목록 및 그에 대한 일부 기록 통계를 얻으려면"usermodel ".
SELECT user_name AS [name], uuid FROM usermodel;
문구를 녹음하는 데 사용되는 브라우저는 SQLITE 및 FILESYSTEM과 동기를 유지하기 위해 사용자의 uuid 와 name 유지합니다.
문제가 발생하고 브라우저가 완화/변경되면 Mimic Recording-Studio에 대한 UUID 매핑이 느슨해 지거나 변경되면 이전 녹음 세션을 계속하기가 어려울 수 있습니다. 그런 다음 브라우저의 LocalStorage에서 다음 두 가지 속성을 업데이트하십시오.
브라우저에서 Mimic Recording-Studio를 열고 웹 개발자 옵션, LocalStorage 및 이름 및 UUID를 원래 값으로 이동하십시오.

그 후에는 더 이상의 문제없이 이전 녹음 세션을 계속할 수 있어야합니다.
텍스트 음성 연설 응용 프로그램에 사용하기 위해 Mycroft에 귀하의 음성 기부를 환영합니다. 귀하의 음성 녹음을 제공하려면 Creative Commons CC0 Public Domain 라이센스에 따라 당사에게 라이센스를 부여하여 TTS Voices에서 활용하여 파생 작품입니다. 음성 녹음을 기부 할 준비가되면 [email protected]로 이메일을 보내주십시오.
PR은 기꺼이 받아 들여졌습니다!
Mimic Recording Studio에서 도움과 지원을받을 수 있습니다.