ledddev commited on
Commit
4d66286
1 Parent(s): bc470fd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +57 -0
app.py CHANGED
@@ -13,6 +13,63 @@ from pydub import AudioSegment
13
  from pydub.playback import play
14
 
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  def result(audio):
17
  sr, data = audio
18
  print('sr:', sr, 'data:', data)
 
13
  from pydub.playback import play
14
 
15
 
16
+ PATH_TO_MODEL = "vosk-model-tts-ru-0.4-multi"
17
+ PATH_TO_OUTPUT = "C:/Users/user/Desktop/deepfake_sirius/materials/audio" #TODO: IT
18
+
19
+
20
+ k = "sk-YOVNQzHmpga9My3dwlSo9BQN907TuPZQXcHn50ztigTwm3I2"
21
+ files = [
22
+ ("input_face", open("C:\\Users\\user\\Desktop\\deepfake_sirius\\materials\\scale_1200.jpg", "rb")), #TODO: IT
23
+ ("input_audio", open("C:\\Users\\user\\Desktop\\deepfake_sirius\\materials\\audio\\output.wav", "rb")), #TODO: IT
24
+ ]
25
+ payload = {}
26
+
27
+
28
+ class VoiceGenerator:
29
+ def __init__(self):
30
+ self.model = Model(model_path=PATH_TO_MODEL)
31
+ def generate(self, text, file_name='output.wav'):
32
+ synth = Synth(self.model)
33
+ path = os.path.join(PATH_TO_OUTPUT, file_name)
34
+ synth.synth(text, path)
35
+ return path
36
+
37
+
38
+ def record_and_recognize_audio(file_path):
39
+ with speech_recognition.AudioFile(file_path) as source:
40
+ audio = recognizer.record(source)
41
+ try:
42
+ recognized_data = recognizer.recognize_google(audio, language="ru").lower()
43
+ except speech_recognition.UnknownValueError:
44
+ pass
45
+ except speech_recognition.RequestError:
46
+ pass
47
+ return recognized_data
48
+
49
+
50
+ def ask(request):
51
+ instruction = """
52
+ Ответь на запрос так, как ответил бы на него Павел Воля. Используй данные из биографии Павла Воли, если это потребуется. Отвечай на запрос в его стиле. Ответ должен содержать не болеее 10 предложений.
53
+ """
54
+ result = requests.post(
55
+ url='https://llm.api.cloud.yandex.net/llm/v1alpha/instruct',
56
+ headers={
57
+ "Authorization": "Api-Key AQVNyVqBi-XoJ1cAo7VIxq6ztgXm3owqowtso5Qb",
58
+ },
59
+ json={
60
+ "model": "general",
61
+ "instruction_text": instruction,
62
+ "request_text": request,
63
+ "generation_options": {
64
+ "max_tokens": 1500,
65
+ "temperature": 0.5
66
+ }
67
+ }
68
+ )
69
+ data = json.loads(result.text)
70
+ return(data['result']['alternatives'][0]['text'])
71
+
72
+
73
  def result(audio):
74
  sr, data = audio
75
  print('sr:', sr, 'data:', data)