CLOVA Speech API
CLOVA Speech 서비스의 장문 인식 개발 관련 내용
1. VPC > Object Storage > Bucket Management 메뉴 클릭 후 버킷 생성
2. VPC > CLOVA Speech > Domain 메뉴 클릭 후 장문 인식 도메인 생성
3. Storage 설정 > 1번에 생성한 버킷 경로 추가
4. Bucket Management - 음성 파일 업로드
build.gradle 추가
// CLOVA Speech
implementation 'org.apache.httpcomponents:httpclient:4.5.12'
implementation 'org.apache.httpcomponents:httpmime:4.3.1'
implementation 'com.google.code.gson:gson:2.8.5'
public class ClovaSpeechToTextAPI {
// Clova Speech secret key
private static final String CLOVA_SPEECH_SECRET_KEY = "Clova Speech secret key";
// Clova Speech invoke URL
private static final String CLOVA_SPEECH_INVOKE_URL = "Clova Speech invoke URL";
public static JSONObject convertSpeechToText(String fileUrl) throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
JSONObject requestBody = new JSONObject();
requestBody.put("url", fileUrl);
requestBody.put("language", "ko-KR");
requestBody.put("completion", "sync");
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(CLOVA_SPEECH_INVOKE_URL + "/recognizer/url"))
.header("X-CLOVASPEECH-API-KEY", CLOVA_SPEECH_SECRET_KEY)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(requestBody.toString()))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
return new JSONObject(response.body());
}
public static void main(String[] args) {
// Object Storage 음성 파일 경로 설정
// 권한 관리 - 전체 공개로 변경
String fileUrl = "업로드한 음성 파일 URL"; // 버킷에서 확인
try {
JSONObject response = convertSpeechToText(fileUrl);
System.out.println(response.toString(4));
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
------
결과값
------
"speakers": [
{
"edited": false,
"name": "A",
"label": "1"
},
{
"edited": false,
"name": "B",
"label": "2"
}
],
"progress": 100,
"text": "네 안녕하세요. 수고 많으십니다. OO은행 김OO 대리라고 하는데요.담당자분 혹시 통화 가능하실까요? 지금 법인 담당하시는 분이 오늘 휴가셔가지고 그러시군요.
speakers를 통해서 누가 말했는지 표시를 해주면 좋을거 같다는 생각이 들었다. 추가해보자!
CLOVA Speech Docs
https://api.ncloud-docs.com/docs/ai-application-service-clovaspeech-example01