返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、示例

发布于 2023-07-17 23:38:23 字数 2388 浏览 0 评论 0 收藏 0

  1. 音频示例:我们将使用 Audio 组件作为输入。 使用 Audio 组件时,你可以指定希望音频的 source 是用户上传的文件、还是用户录制声音的麦克风。 在这个例子中,我们将其设置为麦克风。

    此外,我们希望将音频作为 numpy 数组来接收,以便后续处理。 所以我们将 "type" 设置为 "numpy",它会传递输入 data 作为 (sample_rate, data) 的元组进入我们的函数。

    我们还将使用 Audio 输出组件,它可以自动将(sample_rate, data) 元组渲染为可播放的音频文件。 在这种情况下,我们不需要进行任何自定义,因此我们将使用字符串快捷方式 "audio"

    
    
    xxxxxxxxxx
    import numpy as np import gradio as gr def reverse_audio(audio): sr, data = audio reversed_audio = (sr, np.flipud(data)) return reversed_audio mic = gr.Audio(source="microphone", type="numpy", label="Speak here...") gr.Interface(reverse_audio, mic, "audio").launch()
  2. 语音识别:我们将使用 Transformers 中的 pipeline() 函数加载我们的语音识别模型。接下来,我们将实现一个 transcribe_audio() 函数来处理音频并返回转录文本。 最后,我们将把这个函数包装在一个 Interface 中,其中 Audio 组件用于输入,只有文本用于输出。

    
    from transformers import pipeline
    import gradio as gr
    
    
    model = pipeline("automatic-speech-recognition")
    
    
    def transcribe_audio(mic=None, file=None):
        if mic is not None:
            audio = mic
        elif file is not None:
            audio = file
        else:
            return "You must either provide a mic recording or a file"
        transcription = model(audio)["text"]
        return transcription
    
    
    gr.Interface(
        fn=transcribe_audio,
        inputs=[
            gr.Audio(source="microphone", type="filepath", optional=True),
            gr.Audio(source="upload", type="filepath", optional=True),
        ],
        outputs="text",
    ).launch()

    注意这里通过将 optional 参数设为 True,从而允许用户提供麦克风或音频文件(或两者都不提供,但这会返回错误消息)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文