다음은 Next.js를 사용하여 자동 음성 인식 (ASR) 시스템 인 Openai Whisper의 샘플 웹 앱 구현입니다.
오디오 데이터를 자동으로 기록하고 전사/번역을 위해 오디오 데이터를 서버에 업로드 한 다음 결과를 프론트 엔드로 전송합니다. 기록 된 오디오를 재생하여 출력을 확인할 수도 있습니다.
업데이트 : 실험 기능 활성화 (APPDIR)와 함께
Next 13사용하려면 OpenAi-Whisper-API를 대신 확인하십시오. Whisper API 대신 Whisper Python 모듈을 사용하도록 플래그를 설정하십시오.
OpenAI 음성을 텍스트 API에 사용하여 OpenAi-Whisper-API를 확인하십시오
Whisper 사용하여 Voice-Chat 앱을 찾고 있다면 Openai-Whisper-Talk를 확인하십시오.
Nuxt.js 버전은 OpenAi-Chatterbox를 확인하십시오.
Whisper 자체는 실시간 스트리밍 작업 자체를 지원하도록 설계되지 않았지만, 우리가 시도 할 수 없다는 것을 의미하지는 않습니다.
따라서이 프로젝트는 OpenAi Whisper 사용하여 거의 실시간 전사자 웹 응용 프로그램을 만들려는 시도입니다. 이 효능은 서버가 오디오를 전사/번역 할 수있는 속도에 따라 다릅니다.
다음 백엔드와 프론트 엔드 앱을 만들 필요가 없도록 Next.js 사용했습니다.
백엔드는 exec 사용하여 Shell Command를 실행하여 Whisper 호출했습니다. 아직 node.js 모듈로 import 방법을 찾지 못했습니다. import 있는 모든 예제는 python Server를 사용하는 것 같습니다.
import { exec } from 'child_process'
exec ( `whisper './ ${ filename } ' --model tiny --language Japanese --task translate` , ( err , stdout , stderr ) => {
if ( err ) {
console . log ( err )
} else {
console . log ( stdout )
console . log ( stderr )
}
} ) tiny 모델을 사용하여 매우 빠른 전사 작업을 수행하고 있습니다. 이것은 내 시스템이 다른 방식으로 처리 할 수있는 모든 것입니다. 여전히 스탠드에 올 것입니다.

앱의 동작을 이전 버전에서 변경했습니다. 이전에는 앱이 기본적으로 5S의 시간 간격으로 오디오 데이터를 지속적으로 기록합니다. 지금은 사운드를 감지 할 수있는 경우에만 녹음을 시작합니다.
오디오 캡처를 트리거하여 배경 노이즈를 제거하기위한 임계 값 설정이 있습니다. 기본적으로 -45dB 로 설정됩니다 (0DB는 가장 큰 소리입니다). 요구에 따라 가변 minDecibels Settings 에서 조정하십시오.
정상적인 인간 대화에서, 우리는 평균적으로 각 문장 사이에서 평균 2 초를 일시 중지하는 경향이 있다고합니다. 이를 염두에두고 사운드가 2 초 이상 감지되지 않으면 녹음이 중지되고 오디오 데이터가 전사를 위해 백엔드로 전송됩니다. 기본적으로 maxPause 의 값을 기본적으로 2500ms 로 편집하여이를 변경할 수 있습니다.

업로드 된 오디오를 재생하고 기간이 표시되기 때문에 텍스트 출력을 따라갈 수 있습니다.
코드 자체는 개발할 때 후크를 사용하여 state variables 액세스하기가 어려웠 기 때문에 class component (알고 있습니다 ...)를 사용했습니다.

minDecibels 및 maxPause 외에도 Settings 대화 상자에서 language , model 및 task 과 같은 몇 가지 Whisper 옵션을 변경할 수도 있습니다. 옵션에 대한 설명은 Whisper의 Github 저장소를 확인하십시오.
아직해야 할 일이 여전히 많으 므로이 프로젝트는 여전히 진행중인 작업입니다 ...
먼저 Whisper 및 Python 의존성을 설치해야합니다.
$ pip install git+https://github.com/openai/whisper.git 또한 시스템에 ffmpeg 설치해야합니다
# macos
$ brew install ffmpeg
# windows using chocolatey
$ choco install ffmpeg
# windows using scoop
$ scoop install ffmpeg 이 시간까지 명령 줄을 사용하여 Whisper 테스트 할 수 있습니다.
$ whisper myaudiofile.ogg --language Japanese --task translate성공하면이 앱을 설치할 수 있습니다.
저장소를 복제하고 종속성을 설치하십시오
$ git clone https://github.com/supershaneski/openai-whisper.git myproject
$ cd myproject
$ npm install
$ npm run dev http://localhost:3006/ 로 브라우저를 열면 응용 프로그램 페이지를로드하십시오.
https 프로토콜을 사용 하여이 앱을 실행할 수 있습니다. 오디오 캡처에 별도의 장치를 사용하고 시스템을 서버로 사용하려는 경우 필요합니다.
그렇게하려면 적절한 certificate 와 key 파일을 준비하고 루트 디렉토리에서 server.js 편집하십시오.
그런 다음 실행하십시오
$ node server.js 이제 브라우저를 https://localhost:3006/ 로 열어 페이지를로드하십시오.