Aeneas 는 파이썬/C 라이브러리이며 오디오 및 텍스트 (일명 강제 정렬)를 자동으로 동기화하는 도구 세트입니다.
Aeneas는 텍스트 조각 목록과 텍스트 나레이션이 포함 된 오디오 파일 사이에 동기화 맵을 자동으로 생성합니다. 컴퓨터 과학 에서이 작업은 (자동으로 컴퓨팅 a) 강제 정렬 로 알려져 있습니다.
예를 들어,이 텍스트 파일 과이 오디오 파일이 주어지면 Aeneas는 각 조각에 대해 오디오 파일의 해당 시간 간격을 결정합니다.
1 => [00:00:00.000, 00:00:02.640]
From fairest creatures we desire increase, => [00:00:02.640, 00:00:05.880]
That thereby beauty's rose might never die, => [00:00:05.880, 00:00:09.240]
But as the riper should by time decease, => [00:00:09.240, 00:00:11.920]
His tender heir might bear his memory: => [00:00:11.920, 00:00:15.280]
But thou contracted to thine own bright eyes, => [00:00:15.280, 00:00:18.800]
Feed'st thy light's flame with self-substantial fuel, => [00:00:18.800, 00:00:22.760]
Making a famine where abundance lies, => [00:00:22.760, 00:00:25.680]
Thy self thy foe, to thy sweet self too cruel: => [00:00:25.680, 00:00:31.240]
Thou that art now the world's fresh ornament, => [00:00:31.240, 00:00:34.400]
And only herald to the gaudy spring, => [00:00:34.400, 00:00:36.920]
Within thine own bud buriest thy content, => [00:00:36.920, 00:00:40.640]
And tender churl mak'st waste in niggarding: => [00:00:40.640, 00:00:43.640]
Pity the world, or else this glutton be, => [00:00:43.640, 00:00:48.080]
To eat the world's due, by the grave and thee. => [00:00:48.080, 00:00:53.240]

이 동기화 맵은 응용 프로그램에 따라 여러 형식으로 파일로 출력 할 수 있습니다.
BeautifulSoup4 , lxml 및 numpy 패키지합니다Aeneas는 현재 유일하게 지원되는 플랫폼 인 Python 2.7 및 Python 3.5 와 함께 Debian 64 비트 에서 개발 및 테스트되었습니다. 그럼에도 불구하고 Aeneas는 다른 Linux 배포판, Mac OS X 및 Windows에서 작동하는 것으로 확인되었습니다. 자세한 내용은 플랫폼 파일을 참조하십시오.
OS에 기본적으로 Aeneas를 설치하는 것이 어려운 것으로 판명되면 Aeneas-Vagrant를 사용하는 것이 좋습니다. Aeneas-Vagrant는 Virtualbox 및 Vagrant에서 실행되는 가상화 된 데비안 이미지 내부에서 Aeneas를 제공하며 모든 최신 OS (Linux, Mac OS X, Windows)에 설치할 수 있습니다.
Mac OS X 및 Windows에는 올인원 설치 업체를 사용할 수 있으며 Deb 기반 Linux 배포판 (Debian, Ubuntu) 용 Bash 스크립트 가이 저장소에 제공됩니다. VirtualBox+Vagrant Virtual Machine을 다운로드 할 수도 있습니다. 다양한 운영 체제에 대한 자세한 단계별 설치 절차는 설치 파일을 참조하십시오.
일반적인 OS 독립 절차는 간단합니다.
Python (2.7.x 선호), FFMPEG 및 ESPEAK를 설치하십시오
espeak , FFMPEG python FFPROBE , pip ffmpeg ffprobe
먼저 pip 로 numpy 설치 한 다음 aeneas (이 순서가 중요합니다) :
pip install numpy
pip install aeneasAeneas를 올바르게 설치했는지 확인 하려면 실행하십시오.
python -m aeneas.diagnostics사용 메시지를 받기 위해 인수없이 실행하십시오.
python -m aeneas.tools.execute_task
python -m aeneas.tools.execute_job포함 된 파일 덕분에 즉시 컴퓨터에서 실행할 수있는 라이브 예제 목록을 얻을 수도 있습니다.
python -m aeneas.tools.execute_task --examples
python -m aeneas.tools.execute_task --examples-all 쌍 ( audio.mp3 , text.txt 의 일반 텍스트 형식)의 동기화 맵 map.json 계산하려면 다음을 실행할 수 있습니다.
python -m aeneas.tools.execute_task
audio.mp3
text.txt
" task_language=eng|os_task_file_format=json|is_text_type=plain "
map.json (시각적 명확성을 위해 가 로 명령으로 분할되었습니다. 제작에서는 한 줄에 전체 명령을 가질 수 있으며/또는 쉘 변수를 사용할 수 있습니다.)
쌍의 동기화 맵 map.smil 계산하려면 ( audio.mp3 , page.xhtml f001 과 같은 id 속성으로 표시된 조각을 포함 함) : 실행할 수 있습니다.
python -m aeneas.tools.execute_task
audio.mp3
page.xhtml
" task_language=eng|os_task_file_format=smil|os_task_file_smil_audio_ref=audio.mp3|os_task_file_smil_page_ref=page.xhtml|is_text_type=unparsed|is_text_unparsed_id_regex=f[0-9]+|is_text_unparsed_id_sort=numeric "
map.smil보시다시피, 세 번째 인수 ( 구성 문자열 )는 I/O 형식을 제어하는 매개 변수와 작업의 처리 옵션을 지정합니다. 자세한 내용은 문서를 참조하십시오.
처리해야 할 몇 가지 작업이있는 경우 작업 컨테이너를 만들어 작업을 수행 할 수 있습니다.
python -m aeneas.tools.execute_job job.zip output_directory 파일 job.zip 에는 config.txt 또는 config.xml configuration 파일이 포함되어 있어야하며 입력 자산을 구문 분석하고 출력 동기화 맵 파일을 형식화하는 데 필요한 모든 정보를 Aeneas에게 제공해야합니다. 자세한 내용은 문서를 참조하십시오.
이 문서에는 내장 명령 줄 도구를 사용하는 방법을 설명하는 높은 제안 된 자습서가 포함되어 있습니다.
parsed , plain , subtitles 또는 unparsed (XML) 형식의 입력 텍스트 파일mplain 및 munparsed (XML) 형식의 다단계 입력 텍스트 파일id 및 class 속성을 사용한 XML (예 : XHTML) 파일에서 텍스트 추출ffmpeg 에서 읽을 수있는 모든 것finetuneas 프로젝트)상당수의 사용자는 Aeneas를 실행하여 오디오와 텍스트를 단어 수준으로 정렬합니다 (즉, 각 조각은 단어입니다). Aeneas는 Word 수준의 정렬을 염두에두고 설계되지 않았으며 결과는 ASR 모델이 우수한 언어에 대한 ASR 기반 강제 정렬기보다 열등 할 수 있지만 Aeneas는 단어 수준에서 정렬의 품질을 향상시키는 몇 가지 옵션을 제공합니다.
aeneas.tools.execute_task 명령 줄 도구를 사용하는 경우 --presets-word Switch를 추가하여 MFCC Nonspeech 마스킹을 활성화 할 수 있습니다.
$ python -m aeneas.tools.execute_task --example-words --presets-word
$ python -m aeneas.tools.execute_task --example-words-multilevel --presets-word Aeneas를 라이브러리로 사용하는 경우 적절한 RuntimeConfiguration 매개 변수를 설정하십시오. 자세한 내용은 Command Line 튜토리얼을 참조하십시오.
Aeneas는 GNU Affero General Public License 버전 3의 조건에 따라 릴리스됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
Aeneas 에 포함 된 타사 코드 및 파일의 라이센스는 라이센스 디렉토리에서 찾을 수 있습니다.
이 프로젝트를 제작할 때 사본 권한이 해를 입지 않았습니다.
2015 년 7 월 : Michele Gianella는 경계 조정 코드의 개발을 관대하게 지원했습니다 (v1.0.4)
2015 년 8 월 : Michele Gianella는 부분적으로 MFCC/DTW 코드의 항구를 C로 후원했습니다 (v1.1.0)
2015 년 9 월 : 서 아프리카의 친구들은 헤드/테일 탐지 코드의 개발을 부분적으로 후원했습니다 (v1.2.0)
2015 년 10 월 : 익명 기부금은 "YouTube Downloader"옵션 (v1.3.0)의 개발을 후원했습니다.
2016 년 4 월 : Fruch Foundation은 v1.5.0의 개발 및 문서를 친절하게 후원했습니다.
2016 년 12 월 : Centro Internazionale Del Libro Parlato "Adriano Sernagiotto"(Feltre, Italy)는 V1.7 시리즈의 개발을 부분적으로 후원했습니다.
Aeneas 의 개발을 지원하고 싶습니까?
나는 후원을 받아들입니다
자유롭게 연락하십시오.
버그를 찾았거나 기능 요청이 있다고 생각되면 GitHub 문제 추적기를 사용하여 제출하십시오.
Aeneas 사용에 대한 질문을하려면 가장 좋은 옵션은 이메일을 메일 링리스트로 보내는 것으로 구성됩니다.
마지막으로 코드 기여를 환영합니다! 지점 정책에 대한 자세한 내용은 코드 기여 안내서를 참조하십시오.
MFCC 및 DTW를 사용하여 제안하고 오디오 및 텍스트를 정렬하기위한 첫 번째 실험 코드를 공동 개발 한 Nicola Montecchio 에게 감사드립니다.
Readbeyond Sync의 API 및 웹 애플리케이션을 개발 한 Paolo Bertasi 는이 패키지의 구조를 비동기 사용을 위해 사용하는 데 도움이되었습니다.
Chris Hubbard는 Aeneas를 데비안/Ubuntu .deb 로 포장하기위한 파일을 준비했습니다.
Daniel Bair는 Aeneas 및 Mac OS X에 대한 의존성을 설치하기위한 brew Formula를 준비했습니다.
Daniel Bair , Chris Hubbard 및 Richard Margetts는 Mac OS X 및 Windows 설치 프로그램을 포장했습니다.
Firat Ozdemir는 브라우저의 미세 튜닝 동기화 맵에 대한 finetuneas HTML/JS 코드에 기여했습니다.
Willem van der Walt는 텍스트 그리드 형식의 동기 맵을 출력하기 위해 코드 스 니펫에 기여했습니다.
Chris Vaughn은 MacOS TTS 래퍼에 기여했습니다.
모든 Mighty Github 기고자 및 Google Group 회원.