timbre-iosr / app.py
avoice-dev
fix(metrics): fix output text metrics
a0c0dac
import gradio as gr
from timbral_models.Timbral_Extractor import timbral_extractor
def main_timbre_iosr_analysis(in_files):
if type(in_files) is not list:
in_files = [in_files]
output_text = ''
for file_path in in_files:
if file_path:
timbre = timbral_extractor(file_path)
output_text +=f'----- Комплексные характеристики тембра ----- \n'
output_text +=f'1. Глубина, depth (%): {round(timbre.get("depth", ""),2)} \n'
output_text +=f'2. Яркость, brightness (%): {round(timbre.get("brightness", ""),2)} \n'
output_text +=f'3. Теплота, warmth (%): {round(timbre.get("warmth", ""),2)} \n'
output_text +=f'4. Жесткость, hardness (%): {round(timbre.get("hardness", ""),2)} \n'
output_text +=f'5. Резкость, sharpness (%): {round(timbre.get("sharpness", ""),2)} \n'
output_text +=f'6. Шершавость, roughness (%): {round(timbre.get("roughness", ""),2)} \n'
output_text +=f'7. Гулкость, boominess (дест. число): {round(timbre.get("boominess", ""),2)} \n'
output_text +=f'8. Реверберация, reverb (0/1): {timbre.get("reverb", "")} \n'
return output_text
def timbre_iosr_analysis(in_files):
output_text = main_timbre_iosr_analysis(in_files)
return output_text
iface = gr.Interface(
fn = timbre_iosr_analysis,
inputs=[
gr.Audio(type="filepath", label="Загрузить аудио файл"),
],
outputs=[
gr.Textbox(label="Результаты"),
],
title = "Анализатор \"Характеристики тембра\"",
description = "Выбирите аудиофайл для анализа, дождитесь его загрузки в окне прослушивания (слева). Затем нажмите кнопку \"Запустить\". \n Дождитесь появление результатов в окне вывода (справа).",
submit_btn = "Запустить",
clear_btn = "Очистить",
allow_flagging="never"
)
if __name__ == "__main__":
iface.launch()