@@ -126,31 +126,14 @@ def build_elevenlabs_voice_settings(
126
126
settings: Dictionary containing voice settings parameters
127
127
128
128
Returns:
129
- Dictionary of voice settings or None if required parameters are missing
129
+ Dictionary of voice settings or None if no valid settings are provided
130
130
"""
131
+ voice_setting_keys = ["stability" , "similarity_boost" , "style" , "use_speaker_boost" , "speed" ]
132
+
131
133
voice_settings = {}
132
- if settings ["stability" ] is not None and settings ["similarity_boost" ] is not None :
133
- voice_settings ["stability" ] = settings ["stability" ]
134
- voice_settings ["similarity_boost" ] = settings ["similarity_boost" ]
135
- if settings ["style" ] is not None :
136
- voice_settings ["style" ] = settings ["style" ]
137
- if settings ["use_speaker_boost" ] is not None :
138
- voice_settings ["use_speaker_boost" ] = settings ["use_speaker_boost" ]
139
- if settings ["speed" ] is not None :
140
- voice_settings ["speed" ] = settings ["speed" ]
141
- else :
142
- if settings ["style" ] is not None :
143
- logger .warning (
144
- "'style' is set but will not be applied because 'stability' and 'similarity_boost' are not both set."
145
- )
146
- if settings ["use_speaker_boost" ] is not None :
147
- logger .warning (
148
- "'use_speaker_boost' is set but will not be applied because 'stability' and 'similarity_boost' are not both set."
149
- )
150
- if settings ["speed" ] is not None :
151
- logger .warning (
152
- "'speed' is set but will not be applied because 'stability' and 'similarity_boost' are not both set."
153
- )
134
+ for key in voice_setting_keys :
135
+ if key in settings and settings [key ] is not None :
136
+ voice_settings [key ] = settings [key ]
154
137
155
138
return voice_settings or None
156
139
0 commit comments