반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- opencv
- 맛집
- no space left on device
- linux
- Android
- 오블완
- Torch
- ubuntu
- tensorflow
- CUDA
- pytorch
- GPT
- ChatGPT
- openAI
- 판교
- timm
- 스팸
- socketio
- 딥러닝
- python
- 터미널
- TTS
- 분당맛집
- string
- CLASS
- error
- ros
- 티스토리챌린지
- ROS2
- humble
Archives
- Today
- Total
RoBoLoG
[JAVA] TextToSpeech (TTS) 안드로이드 TTS 한국어 목소리 바꾸기 본문
[JAVA] TextToSpeech (TTS) 안드로이드 TTS 한국어 목소리 바꾸기
Android에서 JAVA로 TextToSpeech를 보여주는 예시는 많지만 목소리를 바꿔주는 예시는 없어서 만들어보았습니다.
TextToSpeech 객체 이름이 tts일 때 아래와 같이 목소리를 세팅해줄 수 있습니다.
Set<Voice> voices = tts.getVoices(); // 사용 가능한 목소리들
// ko-KR-language, ko-kr-x-ism-local, ko-kr-x-koc-local, ko-kr-x-kob-local, ko-kr-x-kod-local
Voice voice = voices.stream()
.filter(v -> v.getName().equals("ko-kr-x-ism-local"))
.findFirst()
.orElse(null);
if (voice != null) {
tts.setVoice(voice); //목소리 세팅
}
- TextToSpeech 객체 초기화: 먼저, Android에서 TextToSpeech 객체를 생성하고 초기화합니다. 이는 TTS 엔진을 사용할 수 있게 해줍니다.
- 사용 가능한 목소리 조회: tts.getVoices() 메서드를 호출하여 사용 가능한 목소리들을 Set<Voice> 타입으로 받아옵니다. 이 목록에는 다양한 언어와 지역별 목소리 옵션이 포함됩니다.
- 한국어 목소리 필터링: 한국어 목소리만 필터링하기 위해 Java의 Stream API를 사용합니다. voices.stream()을 통해 Stream을 생성하고, filter 메서드로 원하는 목소리를 필터링합니다. 예를 들어, 'ko-kr-x-ism-local'과 같은 이름을 가진 목소리를 찾습니다.
- 목소리 선택: 필터링된 Stream에서 findFirst() 메서드를 사용하여 첫 번째 요소를 선택합니다. 이는 원하는 한국어 목소리가 됩니다. 만약 해당 목소리가 존재하지 않으면 orElse(null)을 통해 null을 반환합니다.
- 목소리 설정: 선택한 목소리가 null이 아닌 경우, tts.setVoice(voice) 메서드를 사용하여 TTS의 목소리를 설정합니다. 이렇게 하면 TextToSpeech 기능이 해당 목소리로 텍스트를 읽어줍니다.
- 한국어 목소리 옵션: 현재 가능한 한국어 목소리로는 ko-KR-language, ko-kr-x-ism-local, ko-kr-x-koc-local, ko-kr-x-kob-local, ko-kr-x-kod-local 등이 있습니다. 각각 다른 특성과 억양을 가진 목소리일 수 있습니다.
이 방법을 사용하면 Android 앱에서 다양한 한국어 목소리로 TextToSpeech 기능을 구현할 수 있습니다.
반응형
728x90
728x90
반응형
'Study > Android' 카테고리의 다른 글
Android Studio에서 Open Project "Don't ask again" 옵션 되돌리기 (0) | 2024.03.04 |
---|