

Helisi-1984
Se o site o ajudou, ajude o site

pix
008-064-101-67
henrique liandro
da silva

ajude o site a continuar funcionado

Ler ou Transcrever áudio, transcreve e semi edita automático , frase por frase - Python
"""
pip install PyAudio
pip install SpeechRecognition
pip install moviepy
"""
import speech_recognition as sr
from moviepy.editor import *
# Define o caminho do arquivo de áudio a ser convertido
audio_file_mp3 = "audio_grande.mp3"
# Define o caminho do arquivo de áudio WAV a ser criado
audio_file_wav = "audio.wav"
# Carrega o arquivo de áudio MP3
audio_clip = AudioFileClip(audio_file_mp3)
# Salva o arquivo de áudio WAV
audio_clip.write_audiofile(audio_file_wav)
# Instancia a classe Recognizer da biblioteca SpeechRecognition
menor = []
r = sr.Recognizer()
def Conta(frase):
if len(menor) == 0:
if len(frase) < 50:
menor.append(frase+',')
else:
if frase[-1] == ',':
return frase[:-1].replace('|*-','') # retorna a frase sem o caractere '|*-' no final, caso ele exista
else:
return frase.replace('|*-','')
else:
if len(menor[0]) >= 70:
resp = menor[0]+str(frase).lower() # separa frases curtas para unir em uma só
menor.clear()
if len(str(resp).split('|*-')) >= 3:
Ult = str(resp).split('|*-')[-1].replace('|*-','')
Pri = str(resp).replace(Ult,'').replace('|*-','')
retur = Pri+'|*-'+Ult
if retur[-1] == ',':
return retur[:-1] # retorna a frase sem o caractere ',' no final, caso ele exista
# else:
return retur
else:
retur= str(resp).replace('|*-','')
if retur[-1] == ',':
return retur[:-1] # retorna a frase sem o caractere ',' no final, caso ele exista
# else:
return retur
else:
#print('else menor[0]: ',menor[0])
resp = menor[0]+' '+frase+'|*-' # separa frases curtas para unir em uma só
menor.clear()
menor.append(resp)
# Instancia a classe Recognizer da biblioteca SpeechRecognition
r = sr.Recognizer()
# Abre o arquivo de áudio e define os parâmetros de configuração do Recognizer
with sr.AudioFile(audio_file_wav) as source:
r.dynamic_energy_threshold = True
r.energy_threshold = 1000
r.sample_rate = 16000
r.phrase_time_limit = 3
r.max_alternatives = 1
Lista = []
try:
while True:
try:
# Captura o áudio do arquivo e utiliza o Google Speech Recognition para transcrever a fala em texto
audio_text = r.listen(source)
alternatives = r.recognize_google(audio_text, language='pt-BR')
# Trata as frases curtas e longas e adiciona na lista Lista
Resp = Conta(str(alternatives).lower().replace(" , ",', '))
if Resp != None:
if '|*-' in Resp: # separa uma frase grande em duas
print(Resp.split('|*-')[0].capitalize() + '.')
print(Resp.split('|*-')[1].capitalize() + '.')
Lista.append(Resp.split('|*-')[0].capitalize()+'.')
Lista.append(Resp.split('|*-')[1].capitalize()+'.')
else:
print(str(Resp).capitalize() + '.')
Lista.append(str(Resp).capitalize()+'.')
except TypeError as e:
print('01 - PAROU: ---------------------------------', Resp)
# Captura os possíveis erros da
except sr.UnknownValueError as e:
print('[ ERRO ] Audio Baixa Qualidade! Ou Fim de Processo!')
troca = [('aqui que', 'que,'),
(' eu gostaria de uma fatia de bolo ', ' eu gostaria de uma fatia de bolo, '),
(' estou aprendendo ', ' estou aprendendo, '),
(' não ', ' não, '),
(' obrigado ', ' obrigado, '),
(' já comi ', ' já comi, '),
(' por favor ', ' por favor, '),
(' pode me passar o sal? ', ' pode me passar o sal?, '),
(' eu gostaria de ir ao cinema ', ' eu gostaria de ir ao cinema, '),
(' entretanto ', ' entretanto, '),
(' não tenho dinheiro ', ' não tenho dinheiro, '),
(' eu estou estudando python ', ' eu estou estudando python, '),
(' além disso ', ' além disso, '),
(' também estou aprendendo java ', ' também estou aprendendo java, '),
(' aliás ', ' aliás, '),
(' eu acho que já nos conhecemos de algum lugar ', ' eu acho que já nos conhecemos de algum lugar, '),
(' eu sei que você não concorda comigo ', ' eu sei que você não concorda comigo, '),
(' contudo ', ' contudo, '),
(' é minha opinião ', ' é minha opinião, '),
(' eu estudei muito para a prova ', ' eu estudei muito para a prova, '),
(' portanto ', ' portanto, '),
(' espero ir bem ', ' espero ir bem, '),
(' eu adoro correr no parque ', ' eu adoro correr no parque, '),
(' assim ', ' assim, '),
(' consigo me exercitar e relaxar ', ' consigo me exercitar e relaxar, '),
(' não é apenas uma questão de dinheiro ', ' não é apenas uma questão de dinheiro, '),
(' ademais ', ' ademais, '),
(' envolve também a qualidade de vida ', ' envolve também a qualidade de vida, '),
(' disse ele ', ' disse ele, '),
(' por favor ', ' por favor, '),
(' me passe o sal ', ' me passe o sal, '),
(' meu amigo ', ' meu amigo, '),
(' o melhor de todos ', ' o melhor de todos, '),
(' vai viajar ', ' vai viajar, '),
(' ela é inteligente ', ' ela é inteligente, '),
(' bonita e simpática ', ' bonita e simpática, '),
(' eu ', ' eu, '),
(' você ', ' você, '),
(' ele ', ' ele, '),
(' ela ', ' ela, '),
(' nós ', ' nós, '),
(' vós ', ' vós, '),
(' eles ', ' eles, '),
(' elas ', ' elas, '),
(' ou ', ' ou, '),
(' mas ', ' mas, '),
(' porque ', ' porque, '),
(' portanto ', ' portanto, '),
(' contudo ', ' contudo, '),
(' sim ', ' sim, '),
(' não ', ' não, '),
(' talvez ', ' talvez, '),
(' agora ', ' agora, '),
(' depois ', ' depois, '),
(' ainda ', ' ainda, '),
(' cima ', ' cima, '),
(' por ', ' por, '),
(' para ', ' para, '),
(' ah ', ' ah, '),
(' oh ', ' oh, '),
(' uau ', ' uau, '),
(' nossa ', ' nossa, '),
(' oi ', ' oi, '),
(' por favor ', ' por favor, '),
(' obrigado ', ' obrigado, '),
(' bom dia ', ' bom dia, '),
(' boa tarde ', ' boa tarde, '),
(' boa noite ', ' boa noite, '),
(' claro ', ' claro, '),
(' talvez ', ' talvez, '),]
# faz buscar por palavras em "lista troca[] e troca"
nova_lista = []
# organiza texto final com algumas correçoes e pono e virgula
for frase in Lista:
for substituicao in troca:
frase = frase.replace(substituicao[0], substituicao[1])
nova_lista.append(frase)
# resultado final
for frase in nova_lista:
print(frase)

"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."
Laura Castro
"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."
Ana Serra
"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."
Bruno Costa
"Depoimentos são uma ótima forma de apresentar um feedback positivo que você recebeu. Adicione o seu."
Cláudia Silva