ifarkas (9/6/2022)
Hi Dev Support,What's the Phoneme/Viseme mapping to IPA, X-SAMPA, ARPABET standards, please?My goal is to map AWS Polly visemes to RVisemeKey enum.
Thx, IvanRLPy.EVisemeID_NONERLPy.EVisemeID_EERLPy.EVisemeID_ERRLPy.EVisemeID_IHRLPy.EVisemeID_AHRLPy.EVisemeID_OHRLPy.EVisemeID_W_OORLPy.EVisemeID_S_ZRLPy.EVisemeID_CH_JRLPy.EVisemeID_F_VRLPy.EVisemeID_THRLPy.EVisemeID_T_L_D_NRLPy.EVisemeID_B_M_PRLPy.EVisemeID_K_G_H_NGRLPy.EVisemeID_AERLPy.EVisemeID_R Hi ifarkas,
You should do the mapping yourself. Aws Polly has its own viseme, which you can map to the RL's
viseme.
You may need to adjust this mapping table back and forth to achieve the best Lipsync result.
Similar to the following code:

awspolly_mapping_dict = {
"p" : RLPy.EVisemeID_B_M_P,
"t" : RLPy.EVisemeID_T_L_D_N,
"S" : RLPy.EVisemeID_S_Z,
"T" : RLPy.EVisemeID_T_L_D_N,
"a" : RLPy.EVisemeID_AH,
"o" : RLPy.EVisemeID_W_OO,
# .....more
}
key_list = []
time_list = []
weight_list = []
for i in range(len(AWSPollyData)):
key = int(awspolly_mapping_dict[AWSPollyData[I].viseme])
time =AWSPollyData[I].time
key_list.append(key)
time_list.append(time)
weight_list.append(100)
result = viseme_component.AddVisemesClipWithData(_set_time, _name, _audio_object, time_list, key_list, weight_list)