File size: 1,297 Bytes
900ecc2
dda9597
125977e
 
dda9597
760bbe9
 
ce04af0
 
 
 
 
760bbe9
ce04af0
 
125977e
760bbe9
 
125977e
760bbe9
 
ce04af0
900ecc2
125977e
 
ce04af0
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import requests
from transformers import pipeline


# Function to send the audio file to the Hugging Face Whisper API
def query(file_data, my_key):
  filename = list(uploaded.keys())[0]  # Get the uploaded file's nameprint("Uploaded filename:", filename)
  with open(filename, "rb") as f:
        data = f.read()
  response = requests.post(API_URL, headers=headers, data=data)
  return response.json()
# Streamlit UI elements

st.title("Transcription App")
st.write("Upload one or more .wav, .mp3, or .flac audio files, and get the transcription.")

# Get the user's Hugging Face API key
my_key = st.text_input("Enter your Hugging Face API Key", type="password")

# File uploader for audio files
uploaded = st.file_uploader("Choose audio file(s)", type=["mp3", "wav", "flac"], accept_multiple_files=True)

if my_key and uploaded_files:  # Proceed only if the API key is provided and files are uploaded
    st.write("Processing your files...")
    results = {}  
    for filename, file_data in uploaded.items():
        # Save the file locally
        with open(filename, "wb") as f:
            f.write(file_data)
        
        print(f"Sending {filename} to API...")
        output = query(filename)
        
        # Store the result
        results[filename] = output