from pydub import AudioSegment
from pydub import effects
# Silent space
space_silence = AudioSegment.silent(duration=200)
coma_silence = AudioSegment.silent(duration=500)
full_stop_silence = AudioSegment.silent(duration=800)
# MP3 audio files for letters
a_sound = AudioSegment.from_mp3(r"sounds\a.mp3")
b_sound = AudioSegment.from_mp3(r"sounds\b.mp3")
c_sound = AudioSegment.from_mp3(r"sounds\c.mp3")
d_sound = AudioSegment.from_mp3(r"sounds\d.mp3")
dj_sound = AudioSegment.from_mp3(r"sounds\dj.mp3")
dz_sound = AudioSegment.from_mp3(r"sounds\dž.mp3")
e_sound = AudioSegment.from_mp3(r"sounds\e.mp3")
f_sound = AudioSegment.from_mp3(r"sounds\f.mp3")
g_sound = AudioSegment.from_mp3(r"sounds\g.mp3")
h_sound = AudioSegment.from_mp3(r"sounds\h.mp3")
i_sound = AudioSegment.from_mp3(r"sounds\i.mp3")
j_sound = AudioSegment.from_mp3(r"sounds\j.mp3")
k_sound = AudioSegment.from_mp3(r"sounds\k.mp3")
l_sound = AudioSegment.from_mp3(r"sounds\l.mp3")
lj_sound = AudioSegment.from_mp3(r"sounds\lj.mp3")
m_sound = AudioSegment.from_mp3(r"sounds\m.mp3")
n_sound = AudioSegment.from_mp3(r"sounds\n.mp3")
nj_sound = AudioSegment.from_mp3(r"sounds\nj.mp3")
o_sound = AudioSegment.from_mp3(r"sounds\o.mp3")
p_sound = AudioSegment.from_mp3(r"sounds\p.mp3")
r_sound = AudioSegment.from_mp3(r"sounds\r.mp3")
s_sound = AudioSegment.from_mp3(r"sounds\s.mp3")
t_sound = AudioSegment.from_mp3(r"sounds\t.mp3")
u_sound = AudioSegment.from_mp3(r"sounds\u.mp3")
v_sound = AudioSegment.from_mp3(r"sounds\v.mp3")
z_sound = AudioSegment.from_mp3(r"sounds\z.mp3")
tj_sound = AudioSegment.from_mp3(r"sounds\ć.mp3")
ch_sound = AudioSegment.from_mp3(r"sounds\č.mp3")
sh_sound = AudioSegment.from_mp3(r"sounds\š.mp3")
zj_sound = AudioSegment.from_mp3(r"sounds\ž.mp3")
letter_sounds = [a_sound, b_sound, v_sound, g_sound, d_sound, dj_sound, e_sound, zj_sound, z_sound, i_sound, j_sound,
k_sound, l_sound, lj_sound, m_sound, n_sound, nj_sound, o_sound, p_sound, r_sound, s_sound,
t_sound, tj_sound, u_sound, f_sound, h_sound, c_sound, ch_sound, dz_sound, sh_sound]
def create_voice_audio(sample):
letters = ['a', 'b', 'v', 'g', 'd', 'dj', 'e', 'ž', 'z', 'i', 'j', 'k', 'l', 'lj', 'm', 'n', 'nj', 'o', 'p', 'r',
's', 't', 'ć', 'u', 'f', 'h', 'c', 'č', 'dž', 'š']
# Starting empty audio file
starting_audio = AudioSegment.empty()
for letter in sample.lower():
for i in range(len(letters)):
if letter == letters[i]:
starting_audio += letter_sounds[i]
elif letter == ',':
starting_audio += coma_silence
elif letter == ' ':
starting_audio += space_silence
elif letter == '.':
starting_audio += full_stop_silence
starting_audio.export("finished/sample.mp3", format="mp3")
str = 'test'
create_voice_audio(str)