앱을 위한 음성 인식 및 음성 활동 감지

미래로 뛰어들어 고급 AI 기술을 사용하고 싶었던 적이 있습니까? 간단한 라이브러리 덕분에 오늘 가능합니다! 이 게시물에서는 모든 애플리케이션에 음성 명령 및 컨트롤을 추가하기 위한 쉽고 간단한 음성 인식 라이브러리를 보여줍니다.

웹 앱, 기본 앱 또는 데스크톱 앱을 구축하든 관계없이 이 기술은 인터넷 연결이 있는 모든 시스템에 통합될 수 있습니다.

전체 데모



유튜브:

소스 코드



GitHub: https://github.com/Spurwingio/Speech-Recognition
이것은 브라우저에서 음성 인식을 사용하여 간단하면서도 강력한 서버-클라이언트 구현입니다. 최신 최신 웹 브라우저(FireFox 또는 Chrome 권장)를 사용하는 모든 장치에서 작동합니다.

건축물



아키텍처는 간단합니다. 라이브러리에는 Speech-to-Text 공급자에도 연결되는 Spurwing 소켓 서버의 구현이 포함되어 있습니다. 후자의 경우 WitAI(by Facebook)를 사용합니다. WitAI는 완전 무료 서비스이며 사용하기 쉽습니다. 또는 다른 STT 제공업체(Google, IBM Watson, Bing 등)를 쉽게 통합할 수 있지만 비용이 많이 들 수 있습니다.


용법


  • 이것은 NodeJS 구현이므로 노드(npm 포함) v12+가 필요합니다. node -v를 사용하여 버전을 확인하십시오.
  • 이 저장소를 복제하거나 다운로드합니다.
  • npm install를 실행하여 필요한 모든 종속성을 다운로드하도록 합니다. (실패하면 C++ Build Tools를 설치해야 할 수도 있습니다.)
  • WitAI를 무료 STT 공급자로 사용합니다. 여기에서 가입하고 앱을 생성해야 합니다https://wit.ai/apps.
  • 설정에서 "서버 액세스 토큰"을 찾을 수 있습니다.
  • config.sample.jsonconfig.json에 복사하고 편집합니다.
  • "서버 액세스 토큰"인 WITAPIKEY에 대한 값을 제공해야 합니다.
  • node index.js를 사용하여 소켓 서버를 시작합니다.
  • 테스트를 시작하려면 http://localhost:8002/Spurwing/audio/을(를) 방문하십시오.
  • 소켓 서버는 8002에서 변경할 수 있는 포트index.js에서 실행됩니다.

  • 클라이언트 구현



    아래 코드 스니펫은 이 음성 인식 라이브러리를 웹 앱에 추가하는 방법을 보여줍니다.

    html<head> 안에 다음을 추가합니다.

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.min.js"></script>
    <script src="https://spurwing.github.io/Speech-Recognition/public/VAD.js"></script>     <!-- Required: VAD algorithm -->
    <script src="https://spurwing.github.io/Speech-Recognition/public/audio.js"></script>   <!-- Required: Speech Recognition Library -->
    
    <script src="demo.js"></script>    <!-- Your implementation -->
    


    내부demo.js에는 다음이 있습니다.

    const spa = new SpurwingAudio();
    
    // on user click start mic:
    spa.init().then((stream) => { // ask user for microphone access
        processStream(stream);
    }).catch((err) => {
        alert("You must allow your microphone.");
        console.log(error);
    });
    // on user click stop mic:
    // spa.end();
    
    function processStream(stream) { // start Voice Activity Detection
      spa.startVAD(
          () => console.log('recording'), // function: on speech start
          (buffer, duration) => {         // function: on speech end
            socket.emit('stream', {buffer, id:0}) // send audio/speech fragment to server (optional custom id of fragment)
          }
      );
    }
    
    // create socket connection to server
    let socket = io('localhost:8002', { // server domain
      path: "/Spurwing/audio/socket.io" // server endpoint
    });
    
    // capture "text" event from server (containing data)
    socket.on('text', data => {
        console.log(data) // do something with the transcribed audio text
    
        // data structure: { raw: "hello", nlp: null, id: 0 }
    });
    


    결론



    몇 줄의 코드만으로 비즈니스 자동화, 시간 관리 및 기타 여러 영역에서 무수한 가능성과 기회를 열어줍니다.

    이를 통해 어떤 솔루션을 구축할지 궁금합니다. 아래 댓글에 알려주세요! :)

    회사 소개



    Spurwing은 비즈니스 및 프로젝트를 위한 엔터프라이즈급Appointment Scheduling API 및 캘린더 관리 솔루션을 제공합니다. 쉽게 사용자 정의하고 쉽게 통합할 수 있습니다. 엔터프라이즈급 Appointment Scheduling API 덕분에 소프트웨어 팀에 시간 관리 솔루션을 제공합니다. 또한 우리는 위젯, 채팅 봇, 대시보드 및 통합 솔루션을 포함하는 완전 무료 오픈 소스 시장을 구축하고 있습니다.

    더 많은 프로젝트를 보려면 블로그와 GitHubhttps://github.com/Spurwingio/를 팔로우하십시오.

    좋은 웹페이지 즐겨찾기