@@ -10,52 +10,35 @@ import {
1010} from 'react-native' ;
1111import { SafeAreaProvider , SafeAreaView } from 'react-native-safe-area-context' ;
1212import {
13+ models ,
1314 useTextToSpeech ,
1415 TextToSpeechModelConfig ,
15- KOKORO_AMERICAN_ENGLISH_FEMALE_HEART ,
16- KOKORO_AMERICAN_ENGLISH_FEMALE_RIVER ,
17- KOKORO_AMERICAN_ENGLISH_FEMALE_SARAH ,
18- KOKORO_AMERICAN_ENGLISH_MALE_ADAM ,
19- KOKORO_AMERICAN_ENGLISH_MALE_MICHAEL ,
20- KOKORO_AMERICAN_ENGLISH_MALE_SANTA ,
21- KOKORO_BRITISH_ENGLISH_FEMALE_EMMA ,
22- KOKORO_BRITISH_ENGLISH_MALE_DANIEL ,
23- KOKORO_FRENCH_FEMALE_SIWIS ,
24- KOKORO_SPANISH_FEMALE_DORA ,
25- KOKORO_SPANISH_MALE_ALEX ,
26- KOKORO_ITALIAN_FEMALE_SARA ,
27- KOKORO_ITALIAN_MALE_NICOLA ,
28- KOKORO_PORTUGUESE_FEMALE_DORA ,
29- KOKORO_PORTUGUESE_MALE_SANTA ,
30- KOKORO_GERMAN_FEMALE_ANNA ,
31- KOKORO_POLISH_MALE_MATEUSZ ,
32- KOKORO_HINDI_FEMALE_ALPHA ,
33- KOKORO_HINDI_MALE_OMEGA ,
34- KOKORO_HINDI_MALE_PSI ,
3516} from 'react-native-executorch' ;
3617import { ModelPicker , ModelOption } from '../components/ModelPicker' ;
3718
19+ const tts = models . text_to_speech ;
20+
3821const VOICES : ModelOption < TextToSpeechModelConfig > [ ] = [
39- { label : '🇺🇸 AF Heart' , value : KOKORO_AMERICAN_ENGLISH_FEMALE_HEART } ,
40- { label : '🇺🇸 AF River' , value : KOKORO_AMERICAN_ENGLISH_FEMALE_RIVER } ,
41- { label : '🇺🇸 AF Sarah' , value : KOKORO_AMERICAN_ENGLISH_FEMALE_SARAH } ,
42- { label : '🇺🇸 AM Adam' , value : KOKORO_AMERICAN_ENGLISH_MALE_ADAM } ,
43- { label : '🇺🇸 AM Michael' , value : KOKORO_AMERICAN_ENGLISH_MALE_MICHAEL } ,
44- { label : '🇺🇸 AM Santa' , value : KOKORO_AMERICAN_ENGLISH_MALE_SANTA } ,
45- { label : '🇬🇧 BF Emma' , value : KOKORO_BRITISH_ENGLISH_FEMALE_EMMA } ,
46- { label : '🇬🇧 BM Daniel' , value : KOKORO_BRITISH_ENGLISH_MALE_DANIEL } ,
47- { label : '🇫🇷 FF Siwis' , value : KOKORO_FRENCH_FEMALE_SIWIS } ,
48- { label : '🇪🇸 EF Dora' , value : KOKORO_SPANISH_FEMALE_DORA } ,
49- { label : '🇪🇸 EM Alex' , value : KOKORO_SPANISH_MALE_ALEX } ,
50- { label : '🇮🇹 IF Sara' , value : KOKORO_ITALIAN_FEMALE_SARA } ,
51- { label : '🇮🇹 IM Nicola' , value : KOKORO_ITALIAN_MALE_NICOLA } ,
52- { label : '🇵🇹 PF Dora' , value : KOKORO_PORTUGUESE_FEMALE_DORA } ,
53- { label : '🇵🇹 PM Santa' , value : KOKORO_PORTUGUESE_MALE_SANTA } ,
54- { label : '🇩🇪 DF Anna' , value : KOKORO_GERMAN_FEMALE_ANNA } ,
55- { label : '🇵🇱 PM Mateusz' , value : KOKORO_POLISH_MALE_MATEUSZ } ,
56- { label : '🇮🇳 HF Alpha' , value : KOKORO_HINDI_FEMALE_ALPHA } ,
57- { label : '🇮🇳 HM Omega' , value : KOKORO_HINDI_MALE_OMEGA } ,
58- { label : '🇮🇳 HM Psi' , value : KOKORO_HINDI_MALE_PSI } ,
22+ { label : '🇺🇸 AF Heart' , value : tts . en_us . heart ( ) } ,
23+ { label : '🇺🇸 AF River' , value : tts . en_us . river ( ) } ,
24+ { label : '🇺🇸 AF Sarah' , value : tts . en_us . sarah ( ) } ,
25+ { label : '🇺🇸 AM Adam' , value : tts . en_us . adam ( ) } ,
26+ { label : '🇺🇸 AM Michael' , value : tts . en_us . michael ( ) } ,
27+ { label : '🇺🇸 AM Santa' , value : tts . en_us . santa ( ) } ,
28+ { label : '🇬🇧 BF Emma' , value : tts . en_gb . emma ( ) } ,
29+ { label : '🇬🇧 BM Daniel' , value : tts . en_gb . daniel ( ) } ,
30+ { label : '🇫🇷 FF Siwis' , value : tts . fr . siwis ( ) } ,
31+ { label : '🇪🇸 EF Dora' , value : tts . es . dora ( ) } ,
32+ { label : '🇪🇸 EM Alex' , value : tts . es . alex ( ) } ,
33+ { label : '🇮🇹 IF Sara' , value : tts . it . sara ( ) } ,
34+ { label : '🇮🇹 IM Nicola' , value : tts . it . nicola ( ) } ,
35+ { label : '🇵🇹 PF Dora' , value : tts . pt . dora ( ) } ,
36+ { label : '🇵🇹 PM Santa' , value : tts . pt . santa ( ) } ,
37+ { label : '🇩🇪 DF Anna' , value : tts . de . anna ( ) } ,
38+ { label : '🇵🇱 PM Mateusz' , value : tts . pl . mateusz ( ) } ,
39+ { label : '🇮🇳 HF Alpha' , value : tts . hi . alpha ( ) } ,
40+ { label : '🇮🇳 HM Omega' , value : tts . hi . omega ( ) } ,
41+ { label : '🇮🇳 HM Psi' , value : tts . hi . psi ( ) } ,
5942] ;
6043
6144import FontAwesome from '@expo/vector-icons/FontAwesome' ;
@@ -95,7 +78,7 @@ const createAudioBufferFromVector = (
9578
9679export const TextToSpeechScreen = ( { onBack } : { onBack : ( ) => void } ) => {
9780 const [ selectedSpeaker , setSelectedSpeaker ] =
98- useState < TextToSpeechModelConfig > ( KOKORO_AMERICAN_ENGLISH_FEMALE_HEART ) ;
81+ useState < TextToSpeechModelConfig > ( tts . en_us . heart ( ) ) ;
9982
10083 const model = useTextToSpeech ( selectedSpeaker ) ;
10184
0 commit comments