File size: 1,201 Bytes
c36796d 5442d28 c36796d 5442d28 49f7322 c36796d 5442d28 de45468 c36796d 5442d28 c36796d 5442d28 c36796d | 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 | from pydub import AudioSegment
from io import BytesIO
import gradio as gr
import binascii
def handler(input_text):
hex_data = input_text
audio_bytes = binascii.unhexlify(hex_data)
audio_segment = AudioSegment.from_file(BytesIO(audio_bytes), format="mp3")
# 创建内存缓冲区并导出MP3
output_buffer = BytesIO()
audio_segment.export(output_buffer, format="mp3")
# 获取缓冲区的内容并返回
output_buffer.seek(0) # 将指针移到开始
return output_buffer.read() # 返回字节内容
def create_interface():
with gr.Blocks() as demo:
with gr.Row():
# 创建多行文本输入框用于HEX代码
input_text = gr.Textbox(label="Input MP3 Hex Code", lines=10)
# 创建音频输出组件
output_audio = gr.Audio(label="Output Audio", format="mp3")
# 添加提交按钮
submit_btn = gr.Button("Convert to MP3")
submit_btn.click(
fn=handler,
inputs=[input_text],
outputs=output_audio
)
return demo
if __name__ == "__main__":
demo = create_interface()
# 启动Gradio界面
demo.launch() |