시작하기
AmiVoice API는 음성을 텍스트로 변환하는 음성 인식 API입니다. AmiVoice API에 음성을 전송하면, 발화 내용을 텍스트로 변환한 결과를 반환합니다. 회의 녹취록 작성이나 음성 대화 시스템 등의 음성 지원 애플리케이션을 만들 수 있습니다.
문서 구성
도입 전 보안 및 운영을 위한 정보는 '도입 및 운용 가이드', 구현 세부 사항은 '개발 가이드', API 사양 확인은 'Reference', 어려움이 있을 때는 '도움말' 섹션을 참조하십시오.
도입 및 운용 가이드
보안, 컴플라이언스, 운영에 필요한 정보를 정리했습니다.
개발 가이드
목적에 맞는 API 사용법, 요청, 응답 등 개발에 필요한 상세 정보를 설명합니다.
Reference
API Reference조
도움말
문제 해결 및 문의 방법
빠른 시작
API_KEY 취득
사용자 등록 페이지에서 등록하고, 마이페이지의 [接続情報] 접속정보에 표시된 APIキー(API key) 를 확인합니다. 다음 명령어로 환경 변수에 설정합니다.
- macOS / Linux
- Windows (PowerShell)
- Windows (명령 프롬프트)
export API_KEY=your_api_key_here
$env:API_KEY = "your_api_key_here"
set API_KEY=your_api_key_here
AmiVoice Tech Blog에서는 사용자 등록을 하고 AmiVoice API를 사용하여 음성 파일을 텍스트로 변환하는 과정을 단계별로 설명하고 있으므로 참조하시기 바랍니다.
AmiVoice API 사용해보기 (일본어 블로그)
오디오 파일 준비
전사할 오디오 파일을 준비합니다. 아래의 샘플 음성 파일(test.wav)를 바로 사용할 수 있습니다.
지원하는 오디오 파일 형식에 대해서는 음성 포맷을 참조하세요.
음성 인식 실행
다음을 실행합니다. test.wav 대신에 사용하고자 하는 음성 파일의 경로로 변경하세요.
- curl (macOS / Linux)
- curl (Windows PowerShell)
- curl (Windows 명령 프롬프트)
- Python
curl https://acp-api.amivoice.com/v1/recognize \
-F d=-a-general \
-F u=$API_KEY \
-F a=@test.wav | jq
curl명령어가 설치되어 있지 않은 경우, https://curl.se/ 에서 사용 중인 OS의 패키지를 다운로드하거나 패키지 관리자를 사용하여 curl을 설치하십시오.- 결과 텍스트는 Unicode 이스케이프되어 있습니다. 위 명령어에서는 응답 내용을 보기 쉽게 정리하기 위해
jq를 사용하고 있습니다.jq가 설치되어 있지 않은 경우에는| jq부분을 제외하고 실행해 보십시오.jq명령어는 https://stedolan.github.io/jq/ 에서 사용 중인 OS의 패키지를 다운로드하거나 패키지 관리자를 사용하여 설치할 수 있습니다.
curl.exe https://acp-api.amivoice.com/v1/recognize `
-F d=-a-general `
-F u=$env:API_KEY `
-F a=@test.wav | jq
- PowerShell에서는
curl이Invoke-WebRequest의 별칭이 되어 있으므로curl.exe로 명시하십시오. Windows 10 버전 1803 이상에는curl.exe가 기본적으로 포함되어 있습니다. 포함되어 있지 않은 경우에는 https://curl.se/ 에서 설치하십시오. - 결과 텍스트는 Unicode 이스케이프되어 있습니다. 위 명령어에서는 응답 내용을 보기 쉽게 정리하기 위해
jq를 사용하고 있습니다.jq가 설치되어 있지 않은 경우에는| jq부분을 제외하고 실행해 보십시오.jq명령어는 https://stedolan.github.io/jq/ 에서 사용 중인 OS의 패키지를 다운로드하거나 패키지 관리자를 사용하여 설치할 수 있습니다.
curl https://acp-api.amivoice.com/v1/recognize ^
-F d=-a-general ^
-F u=%API_KEY% ^
-F a=@test.wav
- Windows 10 버전 1803 이상에는
curl이 기본적으로 포함되어 있습니다. 포함되어 있지 않은 경우에는 https://curl.se/ 에서 설치하십시오. - 결과 텍스트는 Unicode 이스케이프되어 있습니다. 위 명령어에서는 응답 내용을 보기 쉽게 정리하기 위해
jq를 사용하고 있습니다.jq가 설치되어 있지 않은 경우에는| jq부분을 제외하고 실행해 보십시오.jq명령어는 https://stedolan.github.io/jq/ 에서 사용 중인 OS의 패키지를 다운로드하거나 패키지 관리자를 사용하여 설치할 수 있습니다.
import os
import requests
with open("test.wav", "rb") as f:
response = requests.post(
"https://acp-api.amivoice.com/v1/recognize",
data={"d": "-a-general", "u": os.environ["API_KEY"]},
files={"a": f}
)
data = response.json() # JSON 파서가 Unicode 이스케이프를 자동으로 일본어로 변환합니다.
print(data)
결과 확인
성공하면 다음과 같은 JSON이 반환됩니다. text 필드에 전사 결과가 포함됩니다.
{
"results": [
{
"tokens": [ ... ],
"confidence": 0.998,
"starttime": 250,
"endtime": 8794,
"text": "アドバンスト・メディアは、人と機械との自然なコミュニケーションを実現し、豊かな未来を創造していくことを目指します。"
}
],
"utteranceid": "20220602/14/018122d637320a301bc194c9_20220602_141433",
"text": "アドバンスト・メディアは、人と機械との自然なコミュニケーションを実現し、豊かな未来を創造していくことを目指します。",
"code": "",
"message": ""
}
응답의 자세한 내용은 음성 인식 결과 형식를 참조하시기 바랍니다.
다음 단계
빠른 시작에서는 동기식 HTTP 인터페이스를 사용하였습니다. 실시간 음원을 처리하고 싶은 경우에는 WebSocket 인터페이스, 15MB를 초과하는 큰 음성 파일을 처리하고 싶은 경우에는 비동기 HTTP 인터페이스를 사용할 수 있습니다. 각각의 유스 케이스와 사용 포인트에 대해서는 인터페이스 종류와 사용 방법을 참조하십시오.
동기식 HTTP 인터페이스
간단한 구현으로 짧은 음성 파일의 음성 인식에 최적
WebSocket 인터페이스
실시간 음성 스트리밍
비동기 HTTP 인터페이스
사이즈가 큰 파일·배치 처리
개발을 지원하는 클라이언트 라이브러리와 샘플 프로그램도 제공하고 있습니다.
클라이언트 라이브러리
샘플 프로그램
음성 인식 정확도 개선을 위한 커스터마이징에 대해서는 다음 기능을 활용할 수 있습니다.
음성 인식 엔진
도메인에 따라 음성 인식 엔진을 변경할 수 있습니다.
사용자 사전
전문 용어나 고유 명사를 미리 등록해 둘 수 있습니다.
규칙 문법
패턴을 제한하여 정확도를 높입니다.
화자 다이어라이제이션이나 감정 분석 등의 추가 기능도 제공하고 있습니다. 목적에 맞게 활용하시기 바랍니다.
화자 다이어리제이션
여러 화자가 포함된 음성을 화자별로 분리하여, 누가 언제 말했는지 식별합니다.
감정 분석
음성으로부터 감정을 분석하여, 화자의 감정 상태를 구별합니다.
구축한 서비스 운영을 지원하는 기능에 대해서도 제공하고 있습니다.
발화량 집계 태그
요청 시 설정한 태그별로 이용시간을 집계합니다.
포괄적인 개발 가이드도 참고하시기 바랍니다.