| 목차 | 설명 |
|---|---|
| 부인 성명 | 알아야 할 사항/면책/경고 등 |
| 목록에 | 할 일 |
| 기고자 | 프로젝트를 도와 주거나 프로젝트에 기여한 사람들. |
| 설치/설정 | 도구를 설치하고 설정하는 방법. |
| 기타 | 사용 및 파일 인수 - 예제 - 웹 서버 |
| 문제 해결 | 일반적인 문제와 고치는 방법. |
| 추가 정보 | 도구에 대한 추가 정보. |
| 비디오 데모 | 도구의 비디오 데모. |
| 추가 메모 | 도구에 대한 추가 메모. |
이 AI 구동 변환 도구는 현재 진행중인 작업이며 시간이 지남에 따라 정확성과 기능을 향상시키기 위해 적극적으로 개발되고 있습니다. 사용자는 많은 시나리오에서 도구가 효과적으로 작동하지만 완벽하지 않으며 때로는 번역 오류 또는 버그를 생성 할 수 있음을 알고 있어야합니다. 이러한 문제는 가능한 경우 지속적으로 해결되고 있으며 도구의 성능을 향상시키기 위해 업데이트가 진행됩니다. 예를 들어, 번역이 약간 꺼져 있거나 기술적 인 결함이 발생하는 상황이 발생할 수 있지만 개선이 이루어짐에 따라 감소 할 것으로 예상됩니다.
입력 음성이 명확하고 느리면 번역의 정확도가 상당히 높습니다. 화자가 너무 빠르게 대화하거나 중얼 거리는 경우, 도구는 정확한 번역을 제공하는 데 어려움을 겪을 수 있지만 여전히 유용한 출력을 제공하려고 시도 할 수 있습니다. 예를 들어, 명확하고 고의적 인 연설이있는 조용한 환경에서 도구를 사용할 때는 결과가 일반적으로 더 정확합니다. 그러나 시끄러운 설정이나 연설이 서두르면 정확도가 떨어질 수 있습니다. 시끄러운 음악과 같은 배경 노이즈는 또한 도구의 효과적으로 번역 할 수있는 능력을 방해 할 수 있습니다.
이 도구는 캐주얼, 비전문가 사용을 위해 설계되었습니다. 언어 학습, 비공식 대화에 참여하거나 엔터테인먼트를위한 외국 콘텐츠 이해와 같은 목적에 이상적입니다. 그러나 법률 문서, 의료 텍스트 또는 공식 커뮤니케이션과 같은 높은 지분이나 전문 번역을위한 것이 아닙니다. 예를 들어,이 도구는 새로운 언어를 배우거나 외국 미디어를 시청하는 데 재미 있고 교육적 일 수 있지만 정확도가 가장 중요한 전문 또는 중요한 작업에 의존해서는 안됩니다.
사용자로서, 귀하는 도구가 잘못된 정보를 퍼 뜨리거나 미워하는 말과 같은 목적으로 윤리적으로 사용되도록하는 책임이 있습니다. 번역과 원래 음성 사이에 불일치가있는 경우 다른 사람과 공유하기 전에 출력을 확인하는 것이 중요합니다. 예를 들어, 도구가 오해의 소지가있는 번역을 생성하는 경우 컨텐츠를 사용하거나 더 배포하기 전에 컨텐츠를 두 번 확인하는 것이 귀하의 책임입니다.
사용자는 또한 자신의 위험에 따라 도구를 사용하고 있음을 알고 있어야합니다. 저장소 소유자는이 도구를 사용하여 발생하는 손해, 문제 또는 의도하지 않은 결과에 대해 책임을 질 수 없습니다. 예를 들어, 도구 오작동이 오해 또는 부정확 한 번역을 제공하는 경우, 개발자 (S) 기고자는 그 결과 발생하는 결과에 대해 책임을지지 않습니다. 귀하는 사용자로서 도구를 사용하는 동안 귀하의 행동에 대한 모든 책임을집니다.
이 도구는 특히 복잡하거나 전문화 된 콘텐츠를 위해 인간 번역기를 대체하기위한 것이 아닙니다. 캐주얼 및 일상적인 사용에 도움이 될 수 있지만, 법적 계약 또는 기술 매뉴얼 번역과 같은보다 복잡한 작업을 위해 전문 번역가와 상담해야합니다. 예를 들어, 비즈니스 계약의 정확한 번역이 필요한 경우이 도구에만 의존하지 않고 자격을 갖춘 인간 번역가의 도움을 구하는 것이 좋습니다.
성능 측면에서, 도구의 효과는 하드웨어 설정에 따라 다를 수 있습니다. 더 빠른 CPU 또는 GPU는 더 나은 결과를 가져 오는 반면, 느린 시스템은 지연 또는 성능 감소를 경험할 수 있습니다. 그러나 인터넷 연결 속도 또는 마이크 품질과 같은 다른 요소는 기능에 최소한의 영향을 미칩니다. 예를 들어, 고성능 컴퓨터에서 도구를 실행하는 경우 더 오래되고 느린 기계에서 사용하는 것과 비교하여 더 부드러운 번역이 발생할 수 있습니다.
마지막으로, 이것은 서비스가 아닌 도구 라는 것을 기억하는 것이 중요합니다. 이를 사용하면 플랫폼의 서비스 약관을 위반하거나 문제를 일으키는 경우 책임은 사용자에게만 해당됩니다. 예를 들어, 도구의 사용이 플랫폼에서 규칙을 위반하여 도구를 사용하여 부적절한 언어를 번역하는 것과 같은 경우 결과적으로 부과 된 처벌 또는 제한에 대해 책임을집니다.
| TODO | 하위 작업 | 상태 |
|---|---|---|
| AMD GPU에 대한 지원을 추가하십시오. | ROCM 지원 -WSL 2.0/Linux 전용 | ✅ |
| OpenCL 지원 -Linux 만 | ✅ | |
| 지원 API 액세스를 추가하십시오. | ✅ | |
| 사용자 정의 로컬 호스트 웹 서버. | ✅ | |
| 리버스 번역을 추가하십시오. | ✅ | |
| 스크립트를 다른 언어로 현지화하십시오. (역 번역 후에 발생합니다.) | ||
| 맞춤형 사전 지원. | ||
| 구이. | ✅ | |
| 서브 타이틀 생성 | ✅ | |
| 리눅스 지원. | ✅ | |
| 성능 향상. | ||
| 낮은 RAM 사용자를위한 압축 모델 형식 | ✅ | |
| 더 나은 대형 모델 로딩 속도 | ✅ | |
| 사용량에 따라 모델을 여러 청크로 분할하십시오 | ||
| URL에서 스트리밍 오디오 | ✅ | |
| 모델 교환 정확도를 높입니다. | ||
| 마이크가 필요하지 않습니다 | 스트리밍 모듈 | ✅ |
| 서버 제어판 | 현재 직장에서 향후 출시 될 예정입니다. 가능한 한 빨리 이것을 꺼내고 싶지만 도로 블록으로 뛰어 들었습니다. 이것은 더 높은 Prio 기능입니다. 자세한 내용과 미리보기에 대한 향후 Dev 블로그를 주시하십시오! | ? |
| 지원 GPU | 설명 |
|---|---|
| NVIDIA 전용 그래픽 | 지원 |
| NVIDIA 통합 그래픽 | 테스트 - 지원되지 않습니다 |
| AMD/ATI | * Linux 확인 |
| 인텔 아크 | 지원되지 않습니다 |
| 인텔 HD | 지원되지 않습니다 |
| 인텔 IGPU | 지원되지 않습니다 |
지원되는 NVIDA GPU의 전체 목록을 여기에서 찾을 수 있습니다.
| 요구 사항 | 최저한의 | 보통의 | 추천 | 최고의 성능 |
|---|---|---|---|---|
| CPU 코어 | 2 | 6 | 8 | 16 |
| CPU 클럭 속도 (GHZ) | 2.5 이상 | 3.0 이상 | 3.5 이상 | 4.0 이상 |
| 램 (GB) | 4 이상 | 8 이상 | 16 이상 | 16 이상 |
| GPU VRAM (GB) | 2 이상 | 6 이상 | 8 이상 | 12 이상 |
| 무료 디스크 공간 (GB) | 15 이상 | 15 이상 | 15 이상 | 15 이상 |
| GPU (제안) (제안) GPU가 VRAM 사양 내에있는 한 잘 작동해야합니다. | NVIDIA GTX 1050 이상 | NVIDIA GTX 1660 이상 | NVIDIA RTX 3070 이상 | NVIDIA RTX 3090 이상 |
메모:
이 도구는 최소 요구 사항을 충족하는 모든 시스템에서 작동합니다. 이 도구는 권장 요구 사항을 충족하는 시스템에서 더 잘 작동합니다. 이 도구는 최상의 성능 요구 사항을 충족하는 시스템에서 가장 잘 작동합니다. 최상의 성능을 얻기 위해 요구 사항을 혼합하고 일치시킬 수 있습니다. 예를 들어, 최상의 성능 요구 사항을 충족하는 CPU와 중간 요구 사항을 충족하는 GPU를 가질 수 있습니다. 이 도구는 최상의 성능 요구 사항을 충족하는 시스템에서 가장 잘 작동합니다.
--stream 플래그를 사용하여 HLS 스트림에서 오디오를 스트리밍 할 수 있습니다. 자세한 내용은 예제를 참조하십시오.setup.batsetup.bashgcc 설치하고 portaudio19-dev 설치되었는지 확인하십시오 (또는 일부 기계의 경우 portaudio-devel ).이 스크립트는 ArgParse를 사용하여 명령 줄 인수를 수락합니다. 다음 옵션을 사용할 수 있습니다.
| 깃발 | 설명 |
|---|---|
--ram | 사용할 RAM의 양을 변경하십시오. 기본값은 4GB입니다. 선택은 "1GB", "2GB", "4GB", "6GB", "12GB-V2", "12GB-V3"입니다. |
--ramforce | 이 플래그를 사용하여 스크립트를 강제로 원하는 VRAM을 사용하도록합니다. VRAM이 충분하지 않은 경우 스크립트가 충돌 할 수 있습니다. |
--fp16 | 이를 통해보다 정확한 정보가 프로세스에 전달 될 수 있습니다. 이를 통해 AL은 속도 비용으로 더 많은 정보를 처리 할 수있는 능력을 부여합니다. 더 강력한 하드웨어에 큰 영향을 미치지 않습니다. 궁극적 인 경험을 위해 12GB-v3 + FP16 플래그 (GUI의 정밀 모드)를 결합하십시오. |
--energy_threshold | 마이크가 감지 할 에너지 레벨을 설정하십시오. 기본값은 100입니다. 1에서 1000에서 선택하십시오. 더 높은 것은 오디오 감지를 트리거하기가 더 어려울 것입니다. |
--mic_calibration_time | 마이크를 몇 초 만에 교정하는 데 얼마나 걸리십시오. 사용자 입력 유형 0을 건너 뛰면 시간이 5 초로 설정됩니다. |
--record_timeout | 실시간 녹음을 위해 시간을 몇 초로 설정하십시오. 기본값은 2 초입니다. |
--phrase_timeout | 전사에서 새로운 라인을 고려하기 전에 녹음 사이의 빈 공간의 시간을 몇 초로 설정하십시오. 기본값은 1 초입니다. |
--translate | 전사를 영어로 번역하십시오. 번역을 활성화합니다. |
--transcribe | 오디오를 설정된 대상 언어로 전사하십시오. 대상 언어 플래그가 필요합니다. |
--target_language | 번역 할 언어를 선택하십시오. 사용 가능한 선택은 ISO 639-1 형식의 언어 목록과 영어 이름입니다. |
--language | 번역 할 언어를 선택하십시오. 사용 가능한 선택은 ISO 639-1 형식의 언어 목록과 영어 이름입니다. |
--auto_model_swap | 감지 된 언어에 따라 모델을 자동으로 교체합니다. 자동 모델 스왑을 활성화합니다. |
--device | 모델에 사용할 장치를 선택하십시오. 기본값은 사용 가능한 경우 "CUDA"입니다. 사용 가능한 옵션은 "CPU"및 "CUDA"입니다. CPU로 설정할 때 RAM이 충분한 한 RAM 크기를 선택할 수 있습니다. CPU 옵션은 멀티 스레딩에 최적화되어 있으므로 16 개의 코어, 32 개의 스레드가있는 경우 좋은 결과를 볼 수 있습니다. |
--cuda_device | 모델에 사용할 CUDA 장치를 선택하십시오. 기본값은 0입니다. |
--discord_webhook | Discord Webhook을 설정하여 전사를 보내십시오. |
--list_microphones | 사용 가능한 마이크 및 종료를 나열하십시오. |
--set_microphone | 사용할 기본 마이크를 설정하십시오. 목록에서 이름 또는 ID 번호를 설정할 수 있습니다. |
--microphone_enabled | 마이크 사용을 활성화합니다. 플래그 뒤에 true 를 추가하십시오. |
--auto_language_lock | 5 번의 탐지 후 감지 된 언어를 기준으로 언어를 자동으로 잠그십시오. 자동 언어 잠금을 활성화합니다. 대기 시간을 줄이는 데 도움이됩니다. 영어를 사용하지 않는 경우이 깃발을 사용하고 현재 음성 언어를 모르는 경우 사용하십시오. |
--model_dir | 기본 위치는 "모델"폴더입니다. 이 인수를 사용하여 위치를 변경할 수 있습니다. |
--use_finetune | |
--no_log | 마지막으로 번역/전사 된 것만으로 만듭니다. 로그 스타일 목록이 표시됩니다. |
--updatebranch | 업데이트를 확인하려면 저장소의 지점을 확인하십시오. 기본값은 마스터 이고, 선택은 마스터 및 개발자 테스트 및 출혈 이외의 작업입니다 . 업데이트 수표를 끄려면 사용 하지 않습니다 . 출혈 부족 작업 은 기본적으로 최신 변경이며 언제든지 끊을 수 있습니다. |
--keep_temp | 아웃 폴더에 오디오 파일을 보관합니다. This will take up space over time though. |
--portnumber | 웹 서버의 포트 번호를 설정하십시오. 숫자가 설정되지 않으면 웹 서버가 시작되지 않습니다. |
--retry | 실패한 경우 번역 및 전사. |
--about | 앱에 대해 보여줍니다. |
--save_transcript | 텍스트 파일에 전사를 저장합니다. |
--save_folder | 폴더를 설정하여 전사를 저장하십시오. |
--stream | HLS 스트림에서 오디오 스트림. |
--stream_language | 스트림의 언어. 기본값은 영어입니다. |
--stream_target_language | 스트림을 번역하는 언어. 기본값은 영어입니다. --stream_transcribe 에 필요합니다 |
--stream_translate | 스트림을 번역하십시오. |
--stream_transcribe | 스트림을 다른 언어로 전사하십시오. --stream_target_language 사용하여 출력을 변경하십시오. |
--stream_original_text | 감지 된 원본 텍스트를 표시하십시오. |
--stream_chunks | 스트림을 분할 할 청크는 몇 개입니다. 기본값은 5는 3에서 5 사이에 권장됩니다. YouTube 스트림은 1 또는 2이어야하며 트위치는 5-10이어야합니다. 숫자가 높을수록 정확할수록 더 정확하지만 스트림 변환 및 전사가 느려질 수 있습니다. |
--cookies | 쿠키 파일 이름, Twitch, YouTube, TwitchAcc1, TwitchAcczed와 마찬가지로 |
--makecaptions | 캡션 모드로 프로그램을 설정하고 file_input, file_output, file_output_name이 필요합니다 |
--file_input | 입력에 대한 파일 위치, 거의 모든 비디오/오디오 형식 지원 (FFMPEG 사용) |
--file_output | 캡션을 내보낼 폴더의 위치 |
--file_output_name | ext없이 내보내는 파일 이름. |
--ignorelist | 사용법은 " --ignorelist "C:quotedpathtowordlist.txt" 입니다." " |
--condition_on_previous_text | 모델이 반복되는 것을 막는 데 도움이되지만 프로세스 속도가 느려질 수 있습니다. |
--remote_hls_password_id | 웹 서버의 비밀번호 ID. 일반적으로 'ID'또는 'key'를 좋아합니다. 키는 프로그램의 기본값이므로 ID/비밀번호를 요구할 때 신디 언어는 key=000000 key = id 0000000 = password 16 chars 길이가됩니다. |
--remote_hls_password | HLS 웹 서버의 비밀번호. |
--discord_webhook "https://discord.com/api/webhooks/1234567890/1234567890" --ignorelist 사용하면 API 출력 및 자막 창에 무시할 문구 나 단어 목록을로드 할 수 있습니다. 이 목록은 이미 AI가 들었다고 생각할 일반적인 문구로 가득 차 있습니다. 이 목록을 조정하여 더 많은 단어 나 문구를 추가 할 수 있습니다.
일부 스트림에는 쿠키 세트가 필요할 수 있습니다. 쿠키를 쿠키 형식으로 cookies 폴더에 .txt 파일로 저장해야합니다. 폴더가 존재하지 않으면 작성하십시오. 이 https://cookie-editor.com/ 또는 다른 쿠키 편집기를 사용하여 쿠키를 저장할 수 있지만 Netscape 형식이어야합니다.
예제 사용 --cookies twitchacc1 .txt 파일 확장자가 포함되어 있지 않습니다 .
쿠키 폴더에서 텍스트 파일을 명명 한 것은 해당 이름을 인수로 사용해야합니다.
명령 플래그 --port 4000 사용하면 ?showoriginal ,? ?showtranslation 및 ?showtranscription 과 같은 쿼리 매개 변수를 사용하여 특정 요소를 표시 할 수 있습니다. 다른 쿼리 매개 변수가 사용되거나 쿼리 매개 변수가 지정되지 않으면 모든 요소가 기본적으로 표시됩니다. 원하는 경우 4000 이외의 다른 번호를 선택할 수 있습니다. 쿼리 매개 변수를 혼합하여 특정 요소를 표시하고 비워두고 모든 요소를 표시 할 수 있습니다.
예를 들어:
http://localhost:4000?showoriginal original 감지 된 텍스트가 표시됩니다.http://localhost:4000?showtranslation translated 텍스트가 표시됩니다.http://localhost:4000?showtranscription transcribed 텍스트가 표시됩니다.http://localhost:4000/?showoriginal&showtranscription original 과 transcribed 텍스트를 표시합니다.http://localhost:4000 또는 http://localhost:4000?otherparam=value 기본적으로 모든 요소를 표시합니다. 12GB-V3 옵션으로 캡션을 생성하고 다운로드에 저장합니다.
캡션은 다른 프로그램을 사용하여 다른 언어로 번역 할 수는 있지만 캡션은 영어 (모델 제한)로만 있습니다.
python transcribe_audio.py --ram 12GB-v3 --makecaptions --file_input="C:UsersusernameDownloads430796208_935901281333537_8407224487814569343_n.mp4" --file_output="C:UsersusernameDownloads" --file_output_name="430796208_935901281333537_8407224487814569343_n" --language Japanese --device cuda
12GB GPU가 있으며 라이브 스트림 https://www.twitch.tv/somestreamerhere에서 오디오를 스트리밍하고 영어로 번역하려고합니다. 다음 명령을 실행할 수 있습니다.
python transcribe_audio.py --ram 12GB-v3 --stream_translate --stream_language Japanese --stream https://www.twitch.tv/somestreamerhere
YouTube 및 Twitch의 스트림 소스가 지원됩니다. HLS/M3U8을 지원하는 다른 스트림 소스를 사용할 수도 있습니다.
6GB의 메모리가있는 GPU가 있으며 일본 모델을 사용하려고합니다. 또한 전사를 영어로 번역하고 싶습니다. 또한 전사를 불화 채널로 보내려고합니다. 또한 에너지 임계 값을 300으로 설정하려고합니다. 다음 명령을 실행할 수 있습니다.
python transcribe_audio.py --ram 6gb --translate --language ja --discord_webhook "https://discord.com/api/webhooks/1234567890/1234567890" --energy_threshold 300
RAM을 선택할 때는 1GB, 2GB, 4GB, 6GB, 12GB-V2, 12GB-V3 만 선택할 수 있습니다. 인기있는 곳은 없습니다.
12GB GPU가 있고 영어에서 스페인어로 번역하려면 v3에 대한 다음 명령을 실행할 수 있습니다. v3을 v2로 대체 할 수 있습니다.
python transcribe_audio.py --ram 12GB-v3 --transcribe --target_language Spanish --language en
여러 오디오 장치가 있고 기본값이 아닌 장치를 사용하고 싶다고 가정 해 봅시다. 다음 명령을 실행할 python transcribe_audio.py --list_microphones 있습니다. 그런 다음 색인을 사용하여 기본 오디오 장치를 설정할 수 있습니다. 예를 들어, 두 번째 오디오 장치를 사용하려면 다음 명령을 실행할 수 있습니다. python transcribe_audio.py --set_microphone "Realtek Audio (2- High Definiti" 장치 이름 주위의 따옴표를 기록하는 데 주목해야합니다. 일부 이름이 잘려 나면 나열된 장치의 인용문에 정확하게 복사 할 수 있습니다.
예를 들어이 장치가 있다고 가정합니다.
Microphone with name "Microsoft Sound Mapper - Input" found, the device index is 1
Microphone with name "VoiceMeeter VAIO3 Output (VB-Au" found, the device index is 2
Microphone with name "Headset (B01)" found, the device index is 3
Microphone with name "Microphone (Realtek USB2.0 Audi" found, the device index is 4
Microphone with name "Microphone (NVIDIA Broadcast)" found, the device index is 5
python transcribe_audio.py --set_microphone "Microphone (Realtek USB2.0 Audi" 들으려면 장치를들을 수 있도록 설정합니다. or- 나는 python transcribe_audio.py --set_microphone 4 들을 수 있도록 기기를 설정할 것입니다.
도구와 관련된 문제가 발생하면 몇 가지 일반적인 문제와 해당 솔루션이 있습니다.
pip install transformers 실행하여 transformers 모듈이 설치되어 있는지 확인하십시오.python -m pip install transformers 지정하여 올바른 버전의 모듈을 설치하고 있는지 확인하십시오. 사용 된 명령 줄 인수. --ram 6gb --record_timeout 2 --language ja --energy_threshold 500
사용 된 명령 줄 인수. --ram 12GB-v2 --record_timeout 5 --language id --energy_threshold 500