Audio-Split-App / app.py
sugitora
Add initial files for Audio-Split-App
6c7ceae
import gradio as gr
from pydub import AudioSegment
from pydub.utils import mediainfo
def split_audio(uploaded_audio, split_length):
audio = AudioSegment.from_file(uploaded_audio, format=mediainfo(uploaded_audio)['format_name'])
split_length = int(split_length) * 60 # Convert minutes to seconds
split_count = (len(audio) // (split_length * 1000)) + 1
split_filenames = []
for i in range(split_count):
start_time = i * split_length * 1000
end_time = (i + 1) * split_length * 1000
split_audio = audio[start_time:end_time]
split_filename = f"part_{i + 1}.mp3"
split_audio.export(split_filename, format="mp3")
split_filenames.append(split_filename)
return split_filenames
inputs = [
gr.Audio(type="filepath", label="音声ファイルをアップロード"),
gr.Number(value=10, label="分割時間 (分)", precision=0)
]
outputs = gr.Files(label="分割された音声ファイル")
app = gr.Interface(
fn=split_audio,
inputs=inputs,
outputs=outputs,
title="Sugitora 音声分割アプリ",
description="音声ファイルを指定した長さで分割します。"
)
app.launch()