윤창신

complete STT.js

...@@ -4,6 +4,15 @@ const isBase64 = require('is-base64'); ...@@ -4,6 +4,15 @@ const isBase64 = require('is-base64');
4 const fs = require("fs"); 4 const fs = require("fs");
5 //const Mp32Wav = require('mp3-to-wav') 5 //const Mp32Wav = require('mp3-to-wav')
6 6
7 +
8 +/**
9 + * @param {Object} clientData 클라이언트에서 보낸 데이터
10 + * @param {String} clientData.audio base64로 인코딩된 음성 데이터 16hz로 샘플링 되야함
11 + * @returns {text:String} 음성을 인식한 결과
12 + * @description 음성 인식을 요청해 결과를 내놓는 함수이다.
13 + */
14 +
15 +
7 const apiReq = async ( clientData ) => { 16 const apiReq = async ( clientData ) => {
8 fs.writeFileSync('./audio/audio_input.mp3', Buffer.from(clientData.audio.replace('data:audio/mp3; codecs=opus;base64,', ''), 'base64')); 17 fs.writeFileSync('./audio/audio_input.mp3', Buffer.from(clientData.audio.replace('data:audio/mp3; codecs=opus;base64,', ''), 'base64'));
9 const mp32Wav = new Mp32Wav('./audio/audio_input.mp3') 18 const mp32Wav = new Mp32Wav('./audio/audio_input.mp3')
...@@ -23,6 +32,11 @@ const apiReq = async ( clientData ) => { ...@@ -23,6 +32,11 @@ const apiReq = async ( clientData ) => {
23 return { "text" : getSTT.return_object.recognized }; 32 return { "text" : getSTT.return_object.recognized };
24 } 33 }
25 34
35 +/**
36 + * @param req request
37 + * @param req.bdoy.data req.body.data.audio에 요청하는 데이터가 들어있어야한다
38 + * @description 오디로를 텍스트로 바꿔준다.
39 + */
26 const STT = async ( req, res ) => { 40 const STT = async ( req, res ) => {
27 let clientData, 41 let clientData,
28 voiceTemp; 42 voiceTemp;
......