Rails로 통화 내용을 음성 인식

개요



Twilio 및 GoogleCloudSpeechAPI를 사용하여 Rails에서 통화 내용을 음성 인식

절차



GoogleCloudSpeechAPI 사용



htps : // 이런. cぉd. 오, ぇ. 코m/



Google 서비스 계정 키 만들기





파일이 다운로드되므로 저장

Gem 설치


gem 'twilio-ruby'
gem 'google-cloud-speech'

Rails 앱 만들기



call_controller.rb
require 'google/cloud/speech'
class CallController < ApplicationController
  def transcription
    recording_url = params[:RecordingUrl]
    voice = 'man'
    language = 'ja-JP'
    response = Twilio::TwiML::VoiceResponse.new
    if recording_url.blank?
      response.say('お名前をフルネームで教えてください。', voice: voice, language: language)
      response.record(timeout: 5, max_length: 5)
    else
      project = 'プロジェクトID'
      keyfile = 'サービスアカウントキーのファイルのパス'
      speech = Google::Cloud::Speech.new project: project, keyfile: keyfile
      audio = speech.audio open(recording_url),
                   encoding: :linear16,
                   language: 'ja-JP',
                   sample_rate: 8000
      results = audio.recognize
      result = results.first

      if result.present?
        transcript = result.transcript
        response.say('あなたの名前は、', voice: voice, language: language)
        response.say(transcript, voice: voice, language: language)
        response.say('です。', voice: voice, language: language)
      else
        response.say('すみませんが、もう一度お願いします。', voice: voice, language: language)
        response.record(timeout: 5, max_length: 5)
      end
    end

    render :xml => response.to_s
  end
end

Rails 앱 시작


bundle exec rails s

ngrok 시작


ngrok http 3000



TwiML 앱 만들기



htps //w w. 그리고 오. 코m/
htps : // jp. 그리고 오. 코 m / cs / 아피 / 토 ML


TwiML 앱 검토




좋은 웹페이지 즐겨찾기