Spaces:
Runtime error
Runtime error
File size: 1,558 Bytes
1ffd672 f8d0565 ff1bae1 f8d0565 55c2b20 e4d471e f9db145 ff1bae1 f9db145 f8d0565 0c3b1db f8d0565 0c3b1db f8d0565 0c3b1db f8d0565 1ffd672 f8d0565 0c3b1db c198ba3 f8d0565 f9db145 4a2a726 f9db145 f6906f4 55c2b20 f9db145 6a5f5ff 4b18b93 f8d0565 55c2b20 ff1bae1 f8d0565 |
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 |
import streamlit as st
import langcodes
from allosaurus.app import read_recognizer
from pathlib import Path
def get_path_to_wav_format(uploaded_file):
st.write(dir(uploaded_file))
st.write(type(uploaded_file))
if ".wav" in uploaded_file:
return path(uploaded_file)
# TODO: .mp3 conversion
def get_langcode_for_allosaurus(input_code):
langcode = "ipa" # the default allosaurus recognizer
description = "the default universal setting, not specific to any language"
try:
lang = langcodes.get(input_code)
langcode = lang.to_alpha3()
description = lang.display_name()
except langcodes.LanguageTagError as e:
pass
return langcode, description
if __name__ == "__main__":
input_code = st.text_input("(optional) 2 or 3-letter ISO code for input language", max_chars=3)
langcode, description = get_langcode_for_allosaurus(input_code)
st.write(f"Instructing Allosaurus to recognize using language {langcode}. That is, {description}")
model = read_recognizer()
uploaded_file = st.file_uploader("Choose a file", type=[
".wav",
".mp3",
])
if uploaded_file is not None:
# audio_bytes = audio_file.read()
st.audio(uploaded_file, format='audio/wav')
wav_file = get_path_to_wav_format(uploaded_file)
result = model.recognize(wav_file, langcode)
st.write(result)
|