MaluttkaLilkaa commited on
Commit
1428dce
·
verified ·
1 Parent(s): 4c62e66

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -69
app.py CHANGED
@@ -1,78 +1,26 @@
1
- import subprocess
2
- import sys
3
- import os
4
-
5
- # 🔧 Funkcja do automatycznej instalacji brakujących modułów
6
- def install_if_missing(package):
7
- try:
8
- __import__(package)
9
- except ImportError:
10
- print(f"[!] Instaluję brakujący moduł: {package}")
11
- subprocess.check_call([sys.executable, "-m", "pip", "install", package])
12
-
13
- # 🧠 Moduły wymagane
14
- modules = ["pyttsx3", "speechrecognition", "openai", "pyaudio"]
15
- for m in modules:
16
- install_if_missing(m)
17
-
18
  import pyttsx3
19
- import speech_recognition as sr
20
- import openai
21
- import time
22
- import random
23
-
24
- # 🧹 Fix – wyłączamy logowanie (żeby nie waliło błędem "brak dziennika")
25
- sys.stdout.reconfigure(encoding='utf-8')
26
- os.environ["PYTHONIOENCODING"] = "utf-8"
27
 
28
- # 🔑 Klucz API
29
- openai.api_key = "zawieszajka"
30
-
31
- # 🎤 Syntezator mowy
32
  engine = pyttsx3.init()
33
- voices = engine.getProperty('voices')
34
- engine.setProperty('voice', voices[0].id)
35
- engine.setProperty('rate', 180)
36
- engine.setProperty('volume', 1.0)
37
-
38
- # 🎙️ Rozpoznawanie mowy
39
- r = sr.Recognizer()
40
- mic = sr.Microphone()
41
 
42
- def speak(text):
43
- print(f"\n💬 Bot: {text}\n")
44
- engine.say(text)
45
  engine.runAndWait()
 
46
 
47
- def generate_response(text):
48
- styles = [
49
- "zadziorna i pewna siebie",
50
- "emocjonalna, ale szczera",
51
- "wkurzona, jak ktoś gada głupoty"
52
- ]
53
- style = random.choice(styles)
54
- prompt = f"Jesteś dziewczyną AI, odpowiadasz w stylu {style}, po polsku, naturalnie i z emocjami. Pytanie: '{text}'"
55
-
56
- try:
57
- response = openai.ChatCompletion.create(
58
- model="gpt-3.5-turbo",
59
- messages=[{"role": "user", "content": prompt}],
60
- temperature=0.9,
61
- )
62
- return response.choices[0].message.content.strip()
63
- except Exception as e:
64
- return f"Coś poszło nie tak, mordzia... ({e})"
65
 
66
- def main():
67
- speak("Yo, siema mordzia, gotowa do gadki. Dawaj, co masz na myśli!")
68
- while True:
69
- try:
70
- with mic as source:
71
- r.adjust_for_ambient_noise(source)
72
- print("🎧 Słucham cię...")
73
- audio = r.listen(source)
74
 
75
- user_input = r.recognize_google(audio, language="pl-PL")
76
- print(f"👤 Ty: {user_input}")
77
 
78
- if
 
1
+ import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  import pyttsx3
 
 
 
 
 
 
 
 
3
 
 
 
 
 
4
  engine = pyttsx3.init()
 
 
 
 
 
 
 
 
5
 
6
+ def malutka_talk(text):
7
+ engine.save_to_file(text, "output.wav")
 
8
  engine.runAndWait()
9
+ return "output.wav"
10
 
11
+ with gr.Blocks() as demo:
12
+ gr.Markdown("# 🎤 Malutka gada na żywo!")
13
+ with gr.Row():
14
+ inp = gr.Textbox(label="Napisz coś do Malutkiej")
15
+ out_audio = gr.Audio(label="Głos Malutkiej", type="filepath") # tu poprawka!
16
+ out_text = gr.Textbox(label="Odpowiedź tekstowa")
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
+ def reply_fn(message):
19
+ odpowiedz = f"Hej mordzia, powiedziałeś: {message}"
20
+ audio_path = malutka_talk(odpowiedz)
21
+ return odpowiedz, audio_path
 
 
 
 
22
 
23
+ btn = gr.Button("💬 Wyślij")
24
+ btn.click(fn=reply_fn, inputs=inp, outputs=[out_text, out_audio])
25
 
26
+ demo.launch()