앱에 AI 더빙을 추가하는 방법
5229 단어 hmsmachinelearningjava
나는 최근에 HMS Core Audio Editor Kit의 AI 더빙 기능을 우연히 발견했습니다. 탭 한 번으로 입력 텍스트를 음성으로 변환할 수 있으며 부드럽고 자연스럽게 들리는 남성 및 여성 음색을 선택할 수 있습니다.
이것은 전자책과 관련된 앱 개발, 오디오 콘텐츠 생성, 오디오/비디오 편집에 이상적입니다. 아래에서는 이 기능을 통합한 방법을 설명합니다.
준비하기
official guide에 따라 필요한 모든 준비를 완료하십시오.
프로젝트 구성하기
1.앱 인증 정보 설정
API 키 또는 액세스 토큰(권장)을 통해 정보를 설정할 수 있습니다.
setAccessToken을 사용하여 앱 초기화 중에 액세스 토큰을 설정합니다.
HAEApplication.getInstance().setAccessToken("your access token");
또는 setApiKey를 사용하여 앱 초기화 중에 API 키를 설정합니다. API 키는 한 번만 설정하면 됩니다.
HAEApplication.getInstance().setApiKey("your ApiKey");
2. 런타임 환경 초기화
HuaweiAudioEditor를 초기화하고 타임라인과 필요한 레인을 생성합니다.
// Create a HuaweiAudioEditor instance.
HuaweiAudioEditor mEditor = HuaweiAudioEditor.create(mContext);
// Initialize the runtime environment of HuaweiAudioEditor.
mEditor.initEnvironment();
// Create a timeline.
HAETimeLine mTimeLine = mEditor.getTimeLine();
// Create a lane.
HAEAudioLane audioLane = mTimeLine.appendAudioLane();
오디오를 가져옵니다.
// Add an audio asset to the end of the lane.
HAEAudioAsset audioAsset = audioLane.appendAudioAsset("/sdcard/download/test.mp3", mTimeLine.getCurrentTime());
3.AI 더빙을 통합합니다.
HAEAiDubbingEngine을 호출하여 AI 더빙을 구현합니다.
// Configure the AI dubbing engine.
HAEAiDubbingConfig haeAiDubbingConfig = new HAEAiDubbingConfig()
// Set the volume.
.setVolume(volumeVal)
// Set the speech speed.
.setSpeed(speedVal)
// Set the speaker.
.setType(defaultSpeakerType);
// Create a callback for an AI dubbing task.
HAEAiDubbingCallback callback = new HAEAiDubbingCallback() {
@Override
public void onError(String taskId, HAEAiDubbingError err) {
// Callback when an error occurs.
}
@Override
public void onWarn(String taskId, HAEAiDubbingWarn warn) {}
@Override
public void onRangeStart(String taskId, int start, int end) {}
@Override
public void onAudioAvailable(String taskId, HAEAiDubbingAudioInfo haeAiDubbingAudioFragment, int i, Pair<Integer, Integer> pair, Bundle bundle) {
// Start receiving and then saving the file.
}
@Override
public void onEvent(String taskId, int eventID, Bundle bundle) {
// Synthesis is complete.
if (eventID == HAEAiDubbingConstants.EVENT_SYNTHESIS_COMPLETE) {
// The AI dubbing task has been complete. That is, the synthesized audio data is completely processed.
}
}
@Override
public void onSpeakerUpdate(List<HAEAiDubbingSpeaker> speakerList, List<String> lanList,
List<String> lanDescList) { }
};
// AI dubbing engine.
HAEAiDubbingEngine mHAEAiDubbingEngine = new HAEAiDubbingEngine(haeAiDubbingConfig);
// Set the listener for the playback process of an AI dubbing task.
mHAEAiDubbingEngine.setAiDubbingCallback(callback);
// Convert text to speech and play the speech. In the method, text indicates the text to be converted to speech, and mode indicates the mode for playing the converted audio.
String taskId = mHAEAiDubbingEngine.speak(text, mode);
// Pause playback.
mHAEAiDubbingEngine.pause();
// Resume playback.
mHAEAiDubbingEngine.resume();
// Stop AI dubbing.
mHAEAiDubbingEngine.stop();
결과
아래 데모에서는 앱에서 AI 더빙 기능을 성공적으로 구현했습니다. 이제 기본 및 사용자 정의 음색을 사용하여 텍스트를 감정 표현이 풍부한 음성으로 변환할 수 있습니다.
자세히 알아보려면 다음을 방문하십시오.
오디오 편집기 키트official website
오디오 편집기 키트Development Guide
Reddit 개발자 토론에 참여하기
GitHub 샘플 코드 다운로드
Stack Overflow 통합 문제를 해결하기 위해
최신 HMS Core 관련 뉴스 및 업데이트를 보려면 공식 계정을 팔로우하세요.
Reference
이 문제에 관하여(앱에 AI 더빙을 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hmscore/how-to-add-ai-dubbing-to-app-3n6p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)