File size: 2,812 Bytes
f0fa26d
51c86c4
f0fa26d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53792d8
 
 
 
f0fa26d
 
53792d8
 
 
 
 
f0fa26d
 
 
 
 
 
 
 
 
e8d7f64
f0fa26d
 
 
 
 
53792d8
 
 
 
 
f0fa26d
53792d8
 
 
 
 
f0fa26d
 
53792d8
 
 
 
 
 
f0fa26d
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import gradio as gr
import subprocess, os
import scripts.runSQ


#https://huggingface.co/spaces/clr/prosalign/blob/main/app.py


def setup():
    r0 = subprocess.run(["pwd"], capture_output=True, text=True)
    print('PWD::', r0.stdout)
    r1 = subprocess.run(["wget", "https://github.com/google/REAPER/archive/refs/heads/master.zip"], capture_output=True, text=True)
    print(r1.stdout)
    subprocess.run(["unzip", "./master.zip"])
    subprocess.run(["mv", "REAPER-master", "REAPER"])
    subprocess.run(["rm", "./master.zip"])
    os.chdir('./REAPER')
    subprocess.run(["mkdir", "build"])
    os.chdir('./build')
    r2 = subprocess.run(["cmake", ".."], capture_output=True, text=True)
    print(r2.stdout)
    r3 = subprocess.run(["make"], capture_output=True, text=True)
    print(r3.stdout)
    
    os.chdir('../..')
    r9 = subprocess.run(["ls", "-la"], capture_output=True, text=True)
    print('LS::', r9.stdout)

                        
print('about to setup')
setup()


def f1(voices, sent, indices):
    tts_audio, tts_score, graph = scripts.runSQ.run(sent, voices, indices)
    score_report = f'Difference from TTS to real speech: {round(tts_score,2)}'
    return (tts_audio, score_report, graph)


def label_indices(sentence):
    sentence = scripts.runSQ.snorm(sentence)
    sentence = sentence.split(' ')
    labelled = [(word, i) for i, word in enumerate(sentence)]
    return labelled



bl = gr.Blocks()
with bl:


    temp_sentences = ['Litlaus græn hugmynd?','Var það ekki nóg?', 'Ef svo er hvað heita þau þá?','Eru maríuhænur á Íslandi?']
    
    voices = ['Alfur','Dilja']
    # currently i only get json speech marks for those two. 
    # supposedly they also provided for Karl, Dora, but i dont even get their wavs
    # i get everyone elses wavs tho
    
    with gr.Row():
        #with gr.Column(scale=4):
        temp_sentmenu = gr.Dropdown(temp_sentences, label="Sentence")
        #voiceselect = gr.CheckboxGroup(voices, label="TTS voice",value='Alfur')

    marked_sentence = gr.HighlightedText(interactive=False)
    
    spanselect = gr.Textbox(value='1-3',info='Enter the index of the word(s) to analyse. It can be a single word: 4 or a span of words separated by a dash: 2-3')
    voiceselect = gr.Radio(voices, label="TTS voice",value='Alfur')

        #with gr.Column(scale=1):
    temp_button = gr.Button(value="Run with selected options")
    
    
    tts_output = gr.Audio(interactive=False)
    report_score = gr.Markdown('Difference from TTS to real speech:')
    pl1 = gr.Plot()

    temp_sentmenu.input(label_indices,temp_sentmenu,marked_sentence)
    temp_button.click(f1,[voiceselect,temp_sentmenu,spanselect],[tts_output,report_score,pl1])
    
    
if __name__ == "__main__":
    bl.launch()