实时语音翻译seamless-streaming,支持100多个国家语言

上一篇seamless_communication,facebook推出的开源语音翻译项目讲述的是语音翻译搭建的过程,想实时的要怎么实现呢?

facebook也推出了实时语音翻译系统,支持一百多个国家语音,经实测效果很不错,使用了5G左右显存。

    图片

    今天就来还原下项目搭建的过程。

    先来贴下代码地址:

    https://github.com/facebookresearch/seamless_communication

    这个是他的语音翻译代码地址,实时语音翻译地址在huggingface上面,需要科技上网。打开上面的地址。

    图片

    点击此处,可直接跳转到实时语音翻译的地址。https://huggingface.co/spaces/facebook/seamless-streaming

    图片

    打开后默认显示demo,点击files就是代码了。

    国内的镜像地址 :HF_ENDPOINT=https://hf-mirror.com   

    其实如果在国内要访问huggingface,直接将域名更换成镜像地址即可。如图,完美打开。

    图片

    代码和模型文件都已经下载好了,后台回复“实时语音”即可拿到下载链接。

    接着开始环境搭建吧。参考readme

    1、首先创建环境,官方提供的是3.8,但是3.8后面我这边出现了点问题,所以我改成了3.10

    cd seamless_serverconda create --yes --name smlss_server python=3.10 libsndfile==1.0.31conda activate smlss_server

    2、下载pytorch,根据自己cuda版本去下载,贴上下载地址https://pytorch.org/get-started/previous-versions/,我刚开始直接按照官方提供的下载的,没想到到第三步安装的时候就报错了,切记根据自己cuda版本安装。

    conda install --yes pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

    3、安装fairseq2

    pip install fairseq2 --pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/nightly/pt2.1.1/cu118

    安装到这一步的时候出现错误,如图。这就是我第二步所出现的cuda版本不匹配的问题。当我按照自己cuda版本修改完成后就没问题了。

    图片

    4、安装环境文件的包

    pip install -r requirements.txt

    5、接着开始安装下前端环境

    首先安装node,安装20.x以上版本,不然安装不了yarn

    curl -sL https://deb.nodesource.com/setup_22.x -o nodesource_setup.shsudo bash nodesource_setup.shsudo apt install nodejs

    验证安装,终端直接输入命令

    node -v

    出现如图即为安装成功。

    图片

    6、接着安装yarn,使用yarn 安装前端包​​​​​​​

    cd streaming-react-appsudo npm install --global yarnyarnyarn build

    图片

    7、安装成功后试着运行下项目试试。​​​​​​​

    cd seamless_serveruvicorn app_pubsub:app --host 0.0.0.0

    报错了,忘记下载模型文件了。后台回复“实时语音”可以拿到我提前下载好的代码和模型文件。

    第一次启动会很慢,我发现代码还会去下载一些其他文件,等下载好后就可以正常启动了。我这边将界面的英文翻译成中文了。

    图片

    需要将地址映射成https,否则语音功能无法使用。

    图片

    这就是整个实时语音项目搭建的整个过程,大家在搭建的过程中有遇到什么问题的欢迎留言,大家一起来学习讨论。

    ### vue-seamless-scroll 在 Vue 项目中的兼容性和使用方法 vue-seamless-scroll 是一款适用于 Vue.js 的无缝滚动插件,支持 Vue 2 和 Vue 3 版本。该组件能够实现列表项的平滑上下或左右循环滚动效果,在展示动态更新的数据时尤为有用。 #### 兼容性说明 对于 Vue 2.x 项目而言,可以直接通过 `import` 方式引入并注册组件[^1];而在 Vue 3.x 中,则推荐使用专门针对 Vue 3 开发的版本——即 `Vue3SeamlessScroll` 来替代原来的 `vueSeamlessScroll`[^3]。 #### 使用步骤详解 ##### 步骤一:安装依赖包 无论是 Vue 2 还是 Vue 3,都需要先执行 npm 或 yarn 命令来安装对应的库文件: ```bash npm install vue-seamless-scroll --save # 对于 Vue 3 用户应改为: npm install vue3-seamless-scroll --save ``` ##### 步骤二:按需导入和全局/局部注册 在 main.js 文件里完成必要的初始化工作之后,就可以按照需求选择全局还是局部的方式来进行组件注册了。如果是局部使用的话,只需像下面这样操作即可: ```javascript // 局部注册 (以 Vue 3 为例) import { defineComponent } from 'vue'; import { Vue3SeamlessScroll } from 'vue3-seamless-scroll'; export default defineComponent({ name: 'YourComponentName', components: { Vue3SeamlessScroll, // 注册组件 }, }); ``` ##### 步骤三:模板内应用标签 最后一步就是在 HTML 模板部分加入 `<vue-seamless-scroll>` 或者 `<vue3-seamless-scroll>` 标签,并为其传递相应的属性参数以便自定义样式与行为特性。 ```html <template> <!-- Vue 2 --> <div class="scroll-box"> <vue-seamless-scroll :data="listData" class="seamless-warp"> ... </vue-seamless-scroll> </div> <!-- Vue 3 --> <div class="scroll-box"> <vue3-seamless-scroll :data="listData" class="seamless-warp"> ... </vue3-seamless-scroll> </div> </template> ``` 需要注意的是,当遇到某些情况下(比如异步加载数据),可能会出现初次渲染时不触发自动滚动的现象。此时可以考虑监听数据变化事件并在合适时机调用实例方法强制刷新视图结构,从而确保正常运作[^5]。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    q_q王

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值