Alesmikes commited on
Commit
a2356f4
·
verified ·
1 Parent(s): a0e6ca5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -6
app.py CHANGED
@@ -2,15 +2,18 @@ import streamlit as st
2
  from audiorecorder import audiorecorder
3
  import openai
4
  import os
 
 
5
 
6
  # Nastavení klíče API pro OpenAI
7
  openai.api_key = os.environ['OPENAI_API_KEY']
8
 
9
- def transcribe(audio_data):
10
  """
11
- Transkribuje audio data pomocí Whisper API.
12
  """
13
- response = openai.Audio.transcribe("whisper-1", audio_data, filename='1.mp3')
 
14
  return response["text"]
15
 
16
  # Streamlit aplikace
@@ -22,6 +25,16 @@ audio_data = audiorecorder("Record", "Stop")
22
 
23
  # Zpracování a zobrazení transkripce
24
  if audio_data is not None and len(audio_data) > 0:
25
- with st.spinner('Probíhá transkripce...'):
26
- transcript = transcribe(audio_data.tobytes())
27
- st.text_area("Transkript", value=transcript, height=300)
 
 
 
 
 
 
 
 
 
 
 
2
  from audiorecorder import audiorecorder
3
  import openai
4
  import os
5
+ import wave
6
+ import tempfile
7
 
8
  # Nastavení klíče API pro OpenAI
9
  openai.api_key = os.environ['OPENAI_API_KEY']
10
 
11
+ def transcribe(audio_path):
12
  """
13
+ Transkribuje audio soubor pomocí Whisper API.
14
  """
15
+ with open(audio_path, "rb") as audio_file:
16
+ response = openai.Audio.transcribe("whisper-1", audio_file, filename=audio_path)
17
  return response["text"]
18
 
19
  # Streamlit aplikace
 
25
 
26
  # Zpracování a zobrazení transkripce
27
  if audio_data is not None and len(audio_data) > 0:
28
+ # Uložení audio dat do dočasného WAV souboru
29
+ with tempfile.NamedTemporaryFile(delete=False, suffix='.wav') as tmp_file:
30
+ audio_path = tmp_file.name
31
+ with wave.open(audio_path, 'wb') as wav_file:
32
+ wav_file.setnchannels(1)
33
+ wav_file.setsampwidth(2)
34
+ wav_file.setframerate(44100)
35
+ wav_file.writeframes(audio_data.tobytes())
36
+
37
+ # Transkripce audia
38
+ with st.spinner('Probíhá transkripci...'):
39
+ transcript = transcribe(audio_path)
40
+ st.text_area("Transkript", value=transcript, height=300)