speech-to-text / app.py
cptsubtext
First UI
737ca30
raw
history blame
1.75 kB
import streamlit as st
import requests
import os
# Variables
api_token = st.secrets["API_TOKEN"]
# Page Title
st.set_page_config(
page_title="Speech-to-Text Transcription App", page_icon="πŸ‘„", layout="wide"
)
def _max_width_():
max_width_str = f"max-width: 1200px;"
st.markdown(
f"""
<style>
.reportview-container .main .block-container{{
{max_width_str}
}}
</style>
""",
unsafe_allow_html=True,
)
_max_width_()
# logo and header -------------------------------------------------
c30, c31, c32 = st.columns([2.5, 1, 3])
with c30:
st.image("logo.png", width=350)
st.header("")
with c32:
st.title("")
st.title("")
st.caption("")
st.caption("")
st.caption("")
st.caption("")
st.caption("")
st.caption("")
st.write(
"&nbsp &nbsp Made in [![this is an image link](https://i.imgur.com/iIOA6kU.png)](https://www.streamlit.io/)&nbsp, with :heart: by [@DataChaz](https://www.charlywargnier.com/) | [![this is an image link](https://i.imgur.com/thJhzOO.png)](https://www.buymeacoffee.com/cwar05)"
)
st.text("")
st.markdown(
f"""
The speech to text recognition is done via the [Facebook's Wav2Vec2 model.](https://huggingface.co/facebook/wav2vec2-large-960h)
"""
)
st.text("")
# region Main
def main():
pages = {
"πŸ‘Ύ Free mode (2MB per API call)": demo,
"πŸ€— Full mode": API_key,
}
if "page" not in st.session_state:
st.session_state.update(
{
# Default page
"page": "Home",
}
)
with st.sidebar:
page = st.radio("Select your mode", tuple(pages.keys()))
pages[page]()