<?php
require 'vendor/autoload.php'; // AWS SDK를 로드
use Aws\S3\S3Client;
use Aws\TranscribeService\TranscribeServiceClient;
// 파일 체크
if (isset($_FILES['transcribeFile'])) {
$target_file = $_SERVER['DOCUMENT_ROOT'] . 'newurl/' . basename($_FILES['transcribeFile']['name']);
// AWS 계정 자격 증명 설정
$credentials = [
'credentials' => array(
'key' => $mykey,
'secret' => $mysecretkey
),
'region' => $myregion,
'version' => 'latest',
];
//
$s3Client = new S3Client($credentials); // s3 object 객체
if (!is_file($target_file)) {
move_uploaded_file($_FILES['transcribeFile']['tmp_name'], $target_file);
}
$outputBucket = $mybucket; // 변환된 결과를 저장할 S3 버킷 이름
// 업로드 여부 확인
$result = $s3Client->doesObjectExist($outputBucket,basename($_FILES['transcribeFile']['name']));
if(!$result){
try{
$s3Client->putObject([
'Bucket' => $outputBucket,
'Key' => basename($_FILES['transcribeFile']['name']),
'SourceFile' => basename($_FILES['transcribeFile']['name']),
]);
}catch(\S3Exception $e){
echo $e->getMessage(); exit;
}
$result = $s3Client->doesObjectExist($outputBucket,basename($_FILES['transcribeFile']['name'])); // 업로드 오류가 없어도 재확인
}
if($result){
// TranscribeServiceClient 생성
$client = new TranscribeServiceClient($credentials); // transcribe 객체
// 변환 작업 설정
$jobName = basename($_FILES['transcribeFile']['name']);
$mediaFileUri = $myaudioUri; // 오디오 파일의 S3 경로
$params = [
'CallAnalyticsJobName' => $jobName, // 작업 이름을 지정합니다.
'Media' => [
'MediaFileUri' => $mediaFileUri, // 분석할 오디오 파일의 S3 URI
],
'OutputLocation' => $myoutputlocation, // 결과를 저장할 S3 버킷 이름을 지정합니다.
'ChannelDefinitions' => [
[
'ChannelId' => 0,
'ParticipantRole' => 'AGENT'
],
[
'ChannelId' => 1,
'ParticipantRole' => 'CUSTOMER'
]
],
'Settings'=>[
'LanguageOptions'=>['ko-KR']
]
];
$TranscribeResult = $client->startCallAnalyticsJob($params);
echo 'Transcription job started: ' . $jobName . "\n";
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage(); exit;
}
}
?>
This request is working. but, participantRole isn't divide.
(Can make S3 Object and transcribe Job, return json file.)
File is consists of only "Korean".
And another consists of English file is working very well on this request.
-
If this request don't apply Korean to ChannelDefinitions?
-
If is true, can you help me to fix this issue to another process?
I will waiting response.
Thanks for assistance! :)
==============================================================
해당 요청은 동작하지만 화자 분리가 되지 않습니다.
( S3 Object 생성, Transcribe Job 생성, return되는 json 파일 생성 모두 가능합니다.)
오디오 파일은 "한국어"로만 구성되어 있습니다.
영어로된 오디오 파일은 화자분리가 잘 됩니다.
- 한국어는 화자분리 지원이 안되나요?
- 그렇다면, 이를 해결하기 위한 다른 방법이 뭐가 있나요?
연락 기다리겠습니다.
감사합니다! :)
현재 Basic Support 플랜을 이용해야만 해서 Support 케이스 오픈이 안됩니다. 다른 지원 방법은 없나요?