TypeScript를 사용하여 IBM의 Watson Speech to Text를 호출했습니다.

11574 단어 TypeScriptibmtech

개시하다


TypeScript를 사용하여 IBM의 Watson Speech to Text를 호출했습니다.검색도 일본어 정보 기록을 적게 했기 때문이다.
먼저 참고 사이트 등의 조사물을 적어 IBM 클라우드, 코드, 실행을 순서대로 설명하고 마지막으로 정리한다.

조사물


참고하는 사이트를 정리하다.

서비스 개요


Speech to Text - IBM Watson | IBM
여기에 개요가 쓰여 있다.

API 사양


Speech to Text의 시작 | IBM Cloud 자료
여기에 API의 규격이 쓰여 있다.모형의 맞춤형 방법도 썼다.
입문한 것 같은데 curl 호칭하는 방법이 적혀 있으니 여기서 먼저 해보는 게 좋을 것 같아요.
일반적으로 사용하면 API를 한 번만 두드리면 transcrive를 할 수 있다.
Amazon Transcribe면 S3에 저장된transscribe 느낌이 있어서 쉽게 말하면 쉬울 것 같아요.디자인의 차이를 엿볼 수 있어서 재미있어요.좋은 것도 있고 나쁜 것도 있어.

SDK 사양


Speech to Text - IBM Cloud API Docs
SDK의 사양은 다음과 같습니다.
언어마다 Example이 있습니다.고맙기 그지없다.

Node.js의 SDK


watson-developer-cloud/node-sdk: Node.js library to access IBM Watson services.
Node.여기에 js의 SDK 소스 코드가 있습니다.
왓슨 APIs가 모두 있기 때문에 스피치 to Text를 찾아서 사용할 필요가 있다.

일본어 뉴스


그다지
있다Speech To Text로 음성 인식한 결과 - Qiita. 그런데 낡은 SDK를 만들었어요.
역시 AWS에 비해 정보가 적다.

샘플 코드


우선 복제 공식SDK 있는 githubSDK 사용법이 적힌 사이트부터 시작하는 것이 좋다.웹 소켓을 사용하여 흐르는 전송 처리를 할 수도 있을 것 같습니다.안 해봤어요.나는 웹 페이지를 모른다.

전제 조건


다음 단계는 IBM Cloud 계정을 소유하는 것을 전제로 합니다.
IBM Cloud의 계정은 아래 사이트에서 Pochipop을 클릭하면 등록할 수 있을 것이다.
IBM Cloud - 일본 | IBM

IBM Cloud에서 리소스 등록 및 API Key 얻기


IBM Cloud에서 리소스를 등록하고 API Key를 가져오는 방법은 다음과 같습니다.
나는 특별히 망설이는 곳이 없다고 생각한다.
디렉토리에서 Speech to Text를 찾습니다.

자원을 만들기 위해 위치 등을 선택하십시오.

리소스 목록에서 만든 Speech to Text 리소스 선택


API Key 및 URL을 가져옵니다.

Node.js x Type Script 설정


Node.다음과 같이 js x Type Script를 설정합니다.
사용해 보기만 한다면 기본적으로 기본이고 문제없다.
명령을 내리고 환경을 창조하다.
노드 버전에 맞게 설치되었습니다@types/node.
npm init
node -v
npm install -D typescript @types/node@14
npx tsc --version
npx tsc --init
npm install ibm-watson@^7.0.0 
npm install -D ts-node

코드


코드는 다음과 같습니다.

  • 복제여기. 코드,
  • 총감require하는곳import,
  • 불필요한 매개 변수를 삭감
  • 환경 변수에서 apikey 및 서비스 Url 추출
  • apikey와 서비스Url은 상기 단계에서 IBM Cloud에서 얻은 데이터를 사용합니다.
    나는 린터에게 욕을 먹지 않았다. 이렇게 하면 문제없을 것이다.
    import fs from 'fs';
    import SpeechToTextV1 from 'ibm-watson/speech-to-text/v1';
    import { IamAuthenticator } from 'ibm-watson/auth';
    
    const speechToText = new SpeechToTextV1({
        authenticator: new IamAuthenticator({
            apikey: process.env.SPEECH_TO_TEXT_APIKEY || '',
        }),
        serviceUrl: process.env.SPEECH_TO_TEXT_SERVICE_URL || '',
    });
    
    const recognizeParams = {
        audio: fs.createReadStream('audio-file.flac'),
        contentType: 'audio/flac',
    };
    
    speechToText.recognize(recognizeParams)
        .then(speechRecognitionResults => {
            console.log(JSON.stringify(speechRecognitionResults, null, 2));
        })
        .catch(err => {
            console.log('error:', err);
        });
    

    실행


    실행할 때는 이런 느낌이에요.환경 변수에 .bashrc 또는 .zshrc 등으로 로그인하면 npx ts-node index.ts OK.
    SPEECH_TO_TEXT_APIKEY=APIKEY SPEECH_TO_TEXT_SERVICE_URL=https://APIURL npx ts-node index.ts
    
    그 결과 이런 느낌의 제이슨이 대답했다.result.results[0].alternatives[0].transcript에 전송 결과를 입력합니다.느낌이 좋다.
    {
      "status": 200,
      "statusText": "OK",
      "headers": {
        "いろいろ": "省略"
      },
      "result": {
        "result_index": 0,
        "results": [
          {
            "final": true,
            "alternatives": [
              {
                "transcript": "several tornadoes touched down as a line of severe thunderstorms swept through Colorado on Sunday ",
                "confidence": 0.94
              }
            ]
          }
        ]
      }
    }
    

    끝말


    시도를 망설였지만 정리를 해보니 공식 홈페이지 정보가 그저 그렇다는 생각이 들었다.공식 홈페이지를 열심히 보겠다는 건가요...

    좋은 웹페이지 즐겨찾기