GPU 최적화 설치에는 추가 단계가 필요합니다. 이 단계는 더 나은 성능이 필요하고 호환되는 NVIDIA GPU를 가진 사람들에게 권장됩니다.
참고 : NVIDIA GPU가 CUDA를 지원하는지 확인하려면 공식 CUDA GPU 목록을 방문하십시오.
CUDA를 통한 GPU 지원과 함께 RealTimestt를 사용하려면 다음을 수행하십시오.
NVIDIA CUDA TOOLKIT 설치 11.8 :
Cuda 11.x의 경우 Nvidia Cudnn 8.7.0을 설치하십시오 .
FFMPEG 설치 :
FFMPEG 웹 사이트에서 OS 용 설치 프로그램을 다운로드 할 수 있습니다.
또는 패키지 관리자 사용 :
우분투 또는 데비안에서 :
sudo apt update && sudo apt install ffmpegArch Linux :
sudo pacman -S ffmpegHomebrew (https://brew.sh/)를 사용하는 MacOS에서 :
brew install ffmpegChocolate (https://chocolatey.org/)을 사용하는 Windows에서 :
choco install ffmpegScoop를 사용하는 Windows에서 (https://scoop.sh/) :
scoop install ffmpegCUDA 지원으로 Pytorch 설치 :
pip uninstall torch
pip install torch==2.0.1+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
Win v webrtcvad, 提示了 vs c ++ 相关的报错, 请下载 https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/, 安装 c ++ 开发相关工具, 然后重新安装依赖。
python RealtimeSTT_server2.py
双击index.html , 浏览器运行 浏览器运行, 填入服务器 ip 地址, 注意, 关闭服务器的防火墙, 关闭服务器的防火墙 9001/9002 这两个用于 WebSocket 连接的端口!
等待后端模型加载完毕后, 就可以正常对话了。
2024-07-01
2024-06-03
2024-06-02
2024-05-28
실시간 애플리케이션을위한 사용하기 쉬운 저조도 음성-텍스트 라이브러리
RealTimestt는 마이크를 듣고 음성을 텍스트로 전사합니다.
이상적입니다.
with 문에서 사용할 수 있습니다)힌트 : 지금
multiprocessing모듈을 사용하기 때문에if __name__ == '__main__':특히 Windows와 같은 플랫폼에서 예상치 못한 동작을 방지하기 위해 코드의 보호를 포함 시키십시오. 이것이 중요한 이유에 대한 자세한 설명을 보려면multiprocessing에 대한 공식 Python 문서를 방문하십시오.
힌트 : 이 라이브러리의 출력 대응 제품인 RealTimetts를 텍스트-투성 기능에 대해 확인하십시오. 그들은 함께 큰 언어 모델을 중심으로 강력한 실시간 오디오 래퍼를 형성합니다.
이 라이브러리는 다음을 사용합니다.
이러한 구성 요소는 최첨단 응용 분야의 "산업 표준"을 나타내며, 고급 솔루션을 구축하기위한 가장 현대적이고 효과적인 기반을 제공합니다.
pip install RealtimeSTTCPU 지원 버전의 Pytorch를 포함하여 필요한 모든 종속성을 설치합니다.
CPU 설치만으로 RealTimestt를 실행할 수 있지만 (이 경우 "Tiny"또는 "Base"와 같은 작은 모델을 사용) : 다음을 사용하여 더 나은 경험을 얻을 수 있습니다.
GPU 최적화 설치에는 추가 단계가 필요합니다. 이 단계는 더 나은 성능이 필요하고 호환되는 NVIDIA GPU를 가진 사람들에게 권장됩니다.
참고 : NVIDIA GPU가 CUDA를 지원하는지 확인하려면 공식 CUDA GPU 목록을 방문하십시오.
CUDA를 통한 GPU 지원과 함께 RealTimestt를 사용하려면 다음을 수행하십시오.
NVIDIA CUDA TOOLKIT 설치 11.8 :
Cuda 11.x의 경우 Nvidia Cudnn 8.7.0을 설치하십시오 .
FFMPEG 설치 :
FFMPEG 웹 사이트에서 OS 용 설치 프로그램을 다운로드 할 수 있습니다.
또는 패키지 관리자 사용 :
우분투 또는 데비안에서 :
sudo apt update && sudo apt install ffmpegArch Linux :
sudo pacman -S ffmpegHomebrew (https://brew.sh/)를 사용하는 MacOS에서 :
brew install ffmpegChocolate (https://chocolatey.org/)을 사용하는 Windows에서 :
choco install ffmpegScoop을 사용하는 Windows에서 (https://scoop.sh/) :
scoop install ffmpegCUDA 지원으로 Pytorch 설치 :
pip uninstall torch
pip install torch==2.0.1+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118기본 사용 :
녹음 시작 및 중지가 수동으로 트리거됩니다.
recorder . start ()
recorder . stop ()
print ( recorder . text ())음성 활동 탐지를 기반으로 한 녹음.
with AudioToTextRecorder () as recorder :
print ( recorder . text ())루프에서 레코더를 실행하는 경우 콜백을 사용하는 것이 좋습니다. 전사를 비동기로 실행할 수 있습니다.
def process_text ( text ):
print ( text )
while True :
recorder . text ( process_text )키워드 활성화 음성을 감지하기 전에 활성화. 원하는 활성화 키워드의 쉼표로 구분 된 목록을 Wake_words 매개 변수에 작성하십시오. Alexa, Americano, Blueberry, Bumblebee, Computer, Grapefruits, Grasshopper, Hey Google, Hey Siri, Jarvis, Ok Google, Picovoice, Porcupine, Terminator 등이 목록에서 깨우기 단어를 선택할 수 있습니다.
recorder = AudioToTextRecorder ( wake_words = "jarvis" )
print ( 'Say "Jarvis" then speak.' )
print ( recorder . text ())다른 이벤트에서 실행되도록 콜백 함수를 설정할 수 있습니다 (구성 참조).
def my_start_callback ():
print ( "Recording started!" )
def my_stop_callback ():
print ( "Recording stopped!" )
recorder = AudioToTextRecorder ( on_recording_start = my_start_callback ,
on_recording_stop = my_stop_callback )로컬 마이크 세트 사용 _microphone 매개 변수를 False에 사용하고 16 비트 모노 (샘플 리터 16000)로 원시 PCM 오디오 펑크를 제공하지 않으려면 다음과 같습니다.
recorder . feed_audio ( audio_chunk )Context Manager 프로토콜을 사용하여 레코더를 안전하게 종료 할 수 있습니다.
with AudioToTextRecorder () as recorder :
[...]또는 셧다운 방법을 수동으로 호출 할 수 있습니다 ( "with"를 사용하는 경우 실현할 수 없음) :
recorder . shutdown ()테스트 하위 디렉토리에는 RealTimetts 라이브러리의 기능을 평가하고 이해하는 데 도움이되는 스크립트 세트가 포함되어 있습니다.
RealTimetts 라이브러리에 따라 스크립트 테스트 스크립트는 스크립트 내에서 Azure 서비스 영역에 들어가야 할 수도 있습니다. OpenAi-, Azure 또는 ElevenLabs 관련 데모 스크립트를 사용하는 경우 API 키는 환경 변수에 제공되어야합니다. OpenAi_api_key, azure_speech_key 및 elevenlabs_api_key (RealTimetts 참조).
simple_test.py
RealTimeStt_test.py
wakeword_test.py
번역기 .py
pip install openai realtimetts .OpenAi_voice_interface.py
pip install openai realtimetts .advanced_talk.py
pip install openai keyboard realtimetts .미니멀리즘 _talkbot.py
pip install openai realtimetts .example_app 하위 디렉토리에는 PYQT5를 기반으로 OpenAI API에 대한 세련된 사용자 인터페이스 응용 프로그램이 포함되어 있습니다.
AudioToTextRecorder 의 초기화 매개 변수 AudioToTextRecorder 클래스를 초기화하면 동작을 사용자 정의 할 수있는 다양한 옵션이 있습니다.
Model (str, default = "tiny") : 모델 크기 또는 전사 경로.
언어 (str, default = "") : 전사용 언어 코드. 비어 있으면 모델이 언어를 자동으로 감지하려고합니다. 지원되는 언어 코드는 Whisper Tokenizer 라이브러리에 나열되어 있습니다.
compute_type (str, default = "default") : 전사에 사용할 계산 유형을 지정합니다. Whisper Quantization을 참조하십시오
input_device_index (int, default = 0) : 사용할 오디오 입력 장치 색인.
gpu_device_index (int, default = 0) : 사용할 gpu 장치 색인. 이 모델은 ID 목록을 전달하여 여러 GPU에로드 할 수 있습니다 (예 : [0, 1, 2, 3]).
ON_RECORDING_START : 녹음이 시작될 때 호출 가능한 함수가 트리거됩니다.
ON_RECORDING_STOP : 녹음이 종료 될 때 호출 가능한 함수가 트리거됩니다.
on_transcription_start : 전사가 시작될 때 호출 가능한 함수가 트리거됩니다.
Arce_Sentence_starting_uppercase (bool, default = true) : 알고리즘에 의해 감지 된 모든 문장이 대문자로 시작하도록합니다.
ende_sentence_ends_with_period (bool, default = true) : "?", "!"와 같은 문장 부호로 끝나지 않는 모든 문장을 확인하십시오. 기간으로 끝납니다
USE_MICROPHONE (bool, default = true) : 전사를위한 로컬 마이크 사용. feed_audio 메소드를 청크에 제공하려면 False로 설정하십시오.
Spinner (bool, default = true) : 현재 레코더 상태에 대한 정보와 함께 스피너 애니메이션 텍스트를 제공합니다.
레벨 (int, default = logging.warning) : 로깅 레벨.
참고 : 실시간 설명을 활성화 할 때 GPU 설치가 강력하게 권장됩니다. 실시간 전사를 사용하면 높은 GPU 하중이 발생할 수 있습니다.
enable_realtime_transcription (bool, default = false) : 오디오의 실시간 전사를 활성화하거나 비활성화합니다. True로 설정되면 오디오가 기록 될 때 지속적으로 전사됩니다.
realtime_model_type (str, default = "tiny") : 실시간 전사에 사용할 머신 러닝 모델의 크기 또는 경로를 지정합니다.
realtime_processing_pause (float, default = 0.2) : 오디오 청크가 전사 된 후 시간 간격을 몇 초 만에 지정합니다. 값이 낮을수록 "실시간"(빈번한) 전사 업데이트가 발생하지만 계산 부하가 증가 할 수 있습니다.
on_realtime_transcription_update : 실시간 전사에 업데이트 될 때마다 트리거되는 콜백 함수. 이 기능은 새로 전사 된 텍스트를 사용하여 호출됩니다.
ON_REALTIME_TRANSCRIPER_STABLIZINS : 실시간 전사에 업데이트 될 때마다 트리거되고 더 높은 품질의 안정화 된 텍스트를 인수로 반환하는 콜백 함수.
Silero_sensitivity (float, default = 0.6) : Silero의 음성 활동 감지에 대한 감도는 0 (가장 민감한)에서 1 (가장 민감한)입니다. 기본값은 0.6입니다.
Silero_sensitivity (float, default = 0.6) : Silero의 음성 활동 감지에 대한 감도는 0 (가장 민감한)에서 1 (가장 민감한)입니다. 기본값은 0.6입니다.
silero_use_onnx (bool, default = false) : Pytorch 형식 대신 Onnx (Open Neural Network Exchange) 형식으로 Silero의 미리 훈련 된 모델을 사용할 수 있습니다. 기본값은 False입니다. 더 빠른 성능을 위해 권장됩니다.
post_speech_silence_duration (float, default = 0.2) : 녹음이 완료된 것으로 간주되기 전에 음성을 따라야하는 침묵의 초 지속 시간. 이렇게하면 연설 중에 짧은 일시 중지가 녹음을 조기에 끝내지 않도록합니다.
min_gap_between_recordings (float, default = 1.0) : 한 녹음 세션의 끝과 다른 기록의 시작 사이에 존재 해야하는 초의 최소 시간 간격을 지정하여 빠른 연속 기록을 방지합니다.
min_length_of_recording (float, default = 1.0) : 녹음 세션이 의미있는 오디오 캡처를 보장하기 위해 지속적으로 짧거나 단편화 된 녹음을 방지하기 위해 녹음 세션이 지속되어야하는 초의 최소 시간을 지정합니다.
pre_recording_buffer_duration (float, default = 0.2) : 공식 녹음 전에 오디오가 완충되는 시간 범위는 초입니다. 이를 통해 음성 활동 감지에 내재 된 대기 시간의 균형을 맞추는 데 도움이되며 초기 오디오가 놓치지 않도록합니다.
ON_VAD_DETECT_START : 시스템이 음성 활동을 듣기 시작하면 호출 가능 함수가 트리거됩니다.
ON_VAD_DETECT_STOP : 시스템이 음성 활동을 듣지 않으면 호출 가능 함수가 트리거됩니다.
wake_words (str, default = "") : 녹음을 시작하기위한 웨이크 워드. 여러 웨이크 단어가 쉼표로 구분 된 문자열로 제공 될 수 있습니다. 지원되는 웨이크 단어는 Alexa, Americano, Blueberry, Bumblebee, 컴퓨터, 자몽, 메뚜기, Hey Google, Hey Siri, Jarvis, Ok Google, Picovoice, Porcupine, Terminator
wake_words_sensitivity (float, default = 0.6) : 웨이크 워드 감지의 감도 레벨 (가장 민감한 경우 0, 가장 민감한 경우 1).
Wake_word_activation_delay (float, default = 0) : 음성이 처음 발견되지 않으면 시스템이 Wake Word 활성화로 전환하기 전에 모니터링 시작 후 몇 초 만에 지속됩니다. 0으로 설정하면 시스템은 깨우기 단어 활성화를 즉시 사용합니다.
wake_word_timeout (float, default = 5) : 깨우기 단어가 인식 된 후 몇 초 만에 지속됩니다. 이 창 내에서 후속 음성 활동이 감지되지 않으면 시스템은 비활성 상태로 다시 전환되어 다음 깨우기 또는 음성 활성화를 기다립니다.
ON_WAKEWORD_DETERTETE : 깨우기 단어가 감지 될 때 호출 가능한 함수가 트리거됩니다.
ON_WAKEWORD_TIMEOUT : 웨이크 워드 활성화 후 음성이 감지되지 않은 후 시스템이 비활성 상태로 돌아갈 때 호출 가능한 기능이 트리거됩니다.
on_wakeword_detection_start : 시스템이 깨우기 단어를 듣기 시작하면 호출 가능한 함수가 트리거됩니다.
on_wakeword_detection_end : 웨이크 단어를 듣기 위해 중지 할 때 호출 가능한 함수가 트리거됩니다 (예 : 시간 초과 또는 깨우기 단어 감지)
기부금은 항상 환영합니다!
MIT
콜자 베이지 색
이메일 : [email protected]
github