Spaces:
Runtime error
Runtime error
File size: 2,439 Bytes
f4b4907 b9fbb26 f4b4907 cb420c2 f4b4907 609cc91 4dd7c15 c17c781 4dd7c15 f4b4907 c080796 f4b4907 c080796 b9fbb26 f4b4907 4dd7c15 b9fbb26 f4b4907 eff408a f4b4907 eff408a f4b4907 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import nltk
import librosa
import torch
import gradio as gr
from transformers import WhisperProcessor, WhisperForConditionalGeneration, WhisperTokenizer
nltk.download("punkt")
from transformers import pipeline
model_name = "Shubham09/whisper31filescheck"
processor = WhisperProcessor.from_pretrained(model_name,task="transcribe")
#tokenizer = WhisperTokenizer.from_pretrained(model_name)
model = WhisperForConditionalGeneration.from_pretrained(model_name)
def load_data(input_file):
#reading the file
speech, sample_rate = librosa.load(input_file)
#make it 1-D
if len(speech.shape) > 1:
speech = speech[:,0] + speech[:,1]
#Resampling the audio at 16KHz
if sample_rate !=16000:
speech = librosa.resample(speech, sample_rate,16000)
return speech
def write_to_file(input_file):
with open("microphone-results.wav", "wb") as f:
f.write(input_file.get_wav_data())
# import base64
# wav_file = open("temp.wav", "wb")
# decode_string = base64.b64decode(input_file)
# wav_file.write(decode_string)
# def correct_casing(input_sentence):
# sentences = nltk.sent_tokenize(input_sentence)
# return (' '.join([s.replace(s[0],s[0].capitalize(),1) for s in sentences]))
pipe = pipeline(model="Shubham09/whisper31filescheck") # change to "your-username/the-name-you-picked"
def asr_transcript(input_file="microphone-results.wav"):
text = pipe("microphone-results.wav")["text"]
return text
# speech = load_data(input_file)
# #Tokenize
# input_features = processor(speech).input_features #, padding="longest" , return_tensors="pt"
# #input_values = tokenizer(speech, return_tensors="pt").input_values
# #Take logits
# logits = model(input_features).logits
# #Take argmax
# predicted_ids = torch.argmax(logits, dim=-1)
# #Get the words from predicted word ids
# transcription = processor.batch_decode(predicted_ids)
# #Correcting the letter casing
# #transcription = correct_casing(transcription.lower())
# return transcription
gr.Interface(asr_transcript,
inputs = gr.inputs.Audio(source="microphone", type="filepath", optional=True, label="Speaker"),
outputs = gr.outputs.Textbox(label="Output Text"),
title="ASR using Whisper",
description = "This application displays transcribed text for given audio input",
examples = [["Actuator.wav"], ["anomalies.wav"]], theme="grass").launch()
|