STT_TTS / transcript.py
FaithVinsmoke's picture
Upload 4 files
3b54ef9
import assemblyai as aai
import pyaudio
import wave
import requests
from configure import auth_key
import time
import streamlit as st
st.title("Transcription de fichier")
aai.settings.api_key = f"14ee5668730d41ceb24f2d813caeda4e"
# Enregistrement de la voix
def voice_rec():
FRAMES_PER_BUFFER = 3200
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
p = pyaudio.PyAudio()
stream = p.open(
format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=FRAMES_PER_BUFFER
)
filename = st.text_input("Donnez un nom à votre enregistrement", )
filename = filename+".mp3"
try:
duration = int(st.text_input("Duree de l'enregistrement (en secondes) : "))
except:
print("")
def rec():
st.markdown("Strat recording...")
try:
seconds = duration
frames = []
for i in range(0, int(RATE/FRAMES_PER_BUFFER*seconds)):
data = stream.read(FRAMES_PER_BUFFER)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
obj = wave.open(filename,"wb")
obj.setnchannels(CHANNELS)
obj.setsampwidth(p.get_sample_size(FORMAT))
obj.setframerate(RATE)
obj.writeframes(b"".join(frames))
obj.close()
except:
print("")
st.button("Lancer l'enregistrement", on_click=rec)
try:
transcriber = aai.Transcriber()
transcript = transcriber.transcribe(filename)
transcription = transcript.text
st.markdown(transcription)
print(transcription)
except:
print("")
return transcription
def choose_file_trans():
filename = st.text_input("Entrez le nom du fichier à transcrire: ")
filename = filename+".mp3"
st.button("Lancer la transcription")
try:
transcriber = aai.Transcriber()
transcript = transcriber.transcribe(filename)
transcription = transcript.text
st.markdown(transcription)
print(transcription)
except:
print("")
return transcription
def save_transcript(text):
nom = st.text_input("Donnez un nom à la transcription")
nom = nom+".txt"
if nom is not None:
try:
with open(nom, "w") as f:
f.write(text)
f.close()
except:
print("")
#from fpdf import FPDF
#def create_doc_pdf(text):
# pdf = FPDF()
# pdf.add_page()
# pdf.set_font("Arial", size=12)
#contenu
# current_datetime = datetime
# pdf
# pdf.cell(200, 10, txt = transcription, ln = True