当前位置: 首页 > news >正文

AI 音乐生成器 MusicGPT,同声传译StreamSpeech!Web短视频平台Sharine

AI 音乐生成器 MusicGPT,同声传译StreamSpeech!Web短视频平台Sharine。

在这里插入图片描述

项目简介

MusicGPT 是一款应用程序,允许在任何平台上以高性能方式本地运行最新的音乐生成 AI 模型,而无需安装 Python 或机器学习框架等严重依赖项。

目前它仅支持 Meta 的 MusicGen,但计划是对用户透明地支持不同的音乐生成模型。

该项目的主要里程碑是:

文本条件音乐生成

旋律条件音乐生成

不确定长/无限音乐流

安装
Mac 和 Linux
MusicGPT 可以使用 brew 安装在 Mac 和 Linux 上:

brew install gabotechs/taps/musicgpt

Windows
在 Windows 上,可以从此链接下载可执行文件。

Docker(推荐与 CUDA 一起运行)
如果您想使用支持 CUDA 的 GPU 运行 MusicGPT,这是最好的方法,因为您只需要在系统中安装基本的 NVIDIA 驱动程序。

docker pull gabotechs/musicgpt
下载镜像后,您可以使用以下命令运行它:

docker run -it --gpus all -p 8642:8642 -v ~/.musicgpt:/root/.local/share/musicgpt gabotechs/musicgpt --gpu --ui-expose
With cargo
如果您的系统中安装了 Rust 工具链,则可以使用 cargo 进行安装。

cargo install musicgpt

用法
与 MusicGPT 交互有两种方式:UI 模式和 CLI 模式。

用户界面模式
此模式将显示一个类似聊天的 Web 应用程序,用于与 LLM 交换提示。它会:

存储您的聊天记录

允许您随时播放生成的音乐样本

在后台生成音乐样本

允许您在与执行 LLMs 的设备不同的设备中使用 UI

您只需执行以下命令即可运行 UI:

musicgpt
您还可以选择不同的模型来运行推理,以及是否使用 GPU,例如:

musicgpt --gpu --model medium
如果您想使用支持 CUDA 的 GPU,建议您使用 Docker 运行 MusicGPT:

docker run -it --gpus all -p 8642:8642 -v ~/.musicgpt:/root/.local/share/musicgpt gabotechs/musicgpt --ui-expose --gpu

项目链接
https://github.com/gabotechs/MusicGPT


项目简介
“一体化”无缝模型,同步执行语音识别、语音翻译和语音合成。

StreamSpeech可以同时提供ASR、翻译和合成结果

同步语音到语音翻译(Simul-S2ST,又名流式语音翻译)在接收流式语音输入的同时输出目标语音,这对于实时通信至关重要。除了完成语音之间的翻译之外,Simul-S2ST 还需要一个策略来控制模型在语音输入的适当时刻生成相应的目标语音,从而提出了翻译和策略的双重挑战。在本文中,我们提出了 StreamSpeech,这是一种直接 Simul-S2ST 模型,可以在多任务学习的统一框架中联合学习翻译和同时策略。StreamSpeech 是一种用于语音识别、语音翻译和语音合成的“一体化”无缝流式模型,它可以有效地识别流式语音输入中开始翻译的合适时机。CVSS 基准测试表明 StreamSpeech 在离线 S2ST 和 Simul-S2ST 任务中均实现了最先进的性能。此外,StreamSpeech能够在同声翻译过程中呈现高质量的中间结果(即ASR或翻译结果),提供更全面的实时沟通体验。

StreamSpeech 采用两遍架构,首先将源语音转换为目标文本隐藏状态(自回归语音到文本翻译,AR-S2TT),然后通过非自回归文本到单元生成生成目标语音。引入源/目标/单元 CTC 解码器,通过语音识别(ASR)、非自回归语音到文本翻译(NAR-S2TT)和语音到单元翻译(S2UT)的多个任务来学习对齐,从而指导StreamSpeech 何时开始识别、翻译和合成。

🎈亮点:

  1. StreamSpeech 在离线和同步语音到语音翻译方面均实现了最先进的性能。
  2. StreamSpeech 可以通过“一体化”无缝模型执行流式 ASR、同步语音到文本翻译和同步语音到语音翻译。
  3. StreamSpeech可以在同声翻译过程中呈现中间结果(即ASR或翻译结果),提供更全面的低延迟通信体验。

🎈开发您自己的流语音
1.数据预处理
按照 ./preprocess_scripts 处理CVSS-C数据。

  1. 训练
    注意

您可以直接使用下载的StreamSpeech模型进行评估并跳过训练。

按照 researches/ctc_unity/train_scripts/train.simul-s2st.sh 训练 StreamSpeech 以实现同步语音到语音翻译。

按照 researches/ctc_unity/train_scripts/train.offline-s2st.sh 训练 StreamSpeech 以进行离线语音到语音翻译。

我们还提供了一些其他 StreamSpeech 变体和基线实现。

项目链接
https://ictnlp.github.io/StreamSpeech-site

https://github.com/ictnlp/streamspeech


开箱即用——开源导航站系统AigoTools,一键部署你的导航站!

项目简介

最近,Github上开源了一个能够自动生成网站信息的导航站系统 ——— AigoTools。只需要输入收录网站的地址,就能够自动对网站进行截图,然后爬取网站信息并通过大模型处理网站信息。基于这个系统,可以轻松部署具有上万网址的导航站。非常适合开发者部署第一套自己的导航站或者垂直领域的导航站。

Github:

https://github.com/someu/aigotools.git

下面我们分析下这个项目网站管理的核心功能以及如何快速上手部署使用。

核心功能
用户浏览
AigoTools 具有完善的网站管理和相关的功能,例如语义化搜索功能、分类管理、用户提交以及自动化爬取收录等。进入网站后,可以看到一个很简洁的首页,包含了一个标语、搜索框、推荐分类、推荐站点和最新提交站点。

AigoTools 支持语言化搜索,例如用户搜索“i want write an article”,可以将与之相关的网站都搜索出来。

进入网站详情页,可以看到网站内容的详细信息。包括了网站的描述、网站的特点、使用案例、网站内容相关链接、分类、使用人群、价格和相关搜索等。通过这个页面,可以了解到目标网站功能的大部分内容。

网站添加和录入
AigoTools支持两种网站添加的途径:用户提交和管理员添加。用户提交的网站首先会进入审核列表,当管理员通过审核后,才会加入到网站中。新增的网站初始状态并没有详细信息,管理员在后台下发爬去任务后,网站会进入爬取队列,由爬取服务去收录网站信息。

同时AigoTools还有一个非常实用的功能,它可以批量网站爬取,这无疑会大大简化收录的速度。

分类管理
AigoTools 还具有二级网站分类管理的功能,可以在后台进行分类的增删改查,同时还具有一级分类和二级分类。

快速上手
AigoTools 包含导航站主体(packages/aigotools)和收录服务(packages/crawler)两个部分,可以通过docker-compose一键部署。

前置准备
部署前,需要做两个前置操作:

前往 https://clerk.com/ 创建 application,并添加一个用户作为登录管理后台的管理员。

申请好OpenAI apiKey和jina apiKey,它们会在收录网站时使用。

部署
克隆仓库

git clone https://github.com/someu/aigotools.git
cd aigotools

配置环境变量
拷贝packages/aigotools和packages/crawler下的.env为.env.prod,然后修改两个配置文件。

cp packages/aigotools/.env packages/aigotools/.env.prod
cp packages/crawler/.env packages/crawler/.env.prod
启动项目

docker-compose up -d

项目亮点
项目基于nextjs和nestjs开发,导航站主体和爬取服务分离,如果不需要爬取服务,可以直接将导航站主体部署在vercel上,非常的方便快捷。

基于大模型的网站信息处理,该项目使用了jina来读取网站信息,openai来总结网站信息和自动分类。项目里分别有信息总结和分类处理的提示词,使用gpt4-o模型来总结网站信息。

爬取服务基于bulljs做队列管理,能轻松处理上万导航站的爬取任务。

该项目的UI偏简洁,作者还开源设计稿,我们可以基于设计稿再做调整开发自己的站点。

项目地址
Github仓库:

https://github.com/someu/aigotools.git

体验网站:

https://www.aigotools.com/


Web短视频平台Sharine

项目简介

闪灵 Sharine 是一款 Web 短视频平台应用,基于 SpringCloud + Consul 微服务架构,配合 Docker & Kubernetes 实现容器化集群管理。数据库则采用 MySQL + Redis 主缓一体化设计,通过缓存管理器配合 Spring Data 实现自动化缓存管理。本项目开发代码较为规范,可供学习参考。

近期正在重构,如需体验请选择 dev 分支
建议前往 docs 查看完整文档
Demo 视频地址:http://s3nb7l0x2.hn-bkt.clouddn.com/demo.mp4

线上体验
线路屏蔽海外,且测试服务器网络环境复杂,建议优先考虑本地部署进行体验 部分视频无法浏览属正常现象,测试数据中的链接来源于互联网,并不保证其链接有效性

http://ipv4.rinkore.com:15001 测试账号 3401286177@qq.com 测试密码 mikkoayaka 当然您也可以选择注册一个账号体验一下

自行部署
环境准备
本项目提供了测试用数据集,请访问 Github 仓库路径 Sharine/server/src/main/resources/Sharine.sql 进行下载

JDK 17 及以上(测试版本:Oracle JDK 17)

支持 JDBC 的 SQL 数据库环境(测试版本:MySQL 5.7.26)

Redis 数据库环境(测试版本:Redis for Windows 5.0.14)

Docker 相关环境(测试版本:Docker Desktop 4.21.1)

开始对接
后端部署
请修改后端相关配置文件,完成以下对接:

SQL 数据库

Redis 数据库

Consul 服务中心

SMTP 邮箱服务

七牛云 API

首先请前往 Github 自动构建页面 下载最新的微服务端 jar 包。配置文件修改方式有以下两种:

直接使用压缩软件打开微服务端 jar 包,前往 BOOT-INF/classes/ 路径下修改 bootstrap.yml 以及该路径下 config 文件夹中的线上环境配置,修改完毕后保存。

在微服务端 jar 包同目录下创建 config 文件夹,再自行创建 bootstrap.yml 配置文件 下面是 video-service 视频微服务端配置文件参考示例:


# bootstrap.yml
server:port: 23401
spring:application:name: video-serviceid: 1profiles:active: prodconfig:import: consul:localhost:8500/configcloud:consul:config:format: yamldata-key: ${spring.application.name}-${spring.profiles.active}discovery:instance-id: ${spring.application.name}-${spring.application.id}health-check-timeout: 1sprefer-ip-address: true

创建完毕后,前往 Consul 管理页面,进入 K/V 存储中心,添加相应的配置:

# config/video-service-prod.yml
spring:# 数据库配置,请按实际环境修改datasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driver# 数据库连接 URLurl: jdbc:mysql://localhost:3306/sharine?serverTimezone=Asia/Shanghai&allowMultiQueries=true# 数据库用户username: root# 数据库密码password: root# 连接池相关配置,无特殊需要可默认不做更改hikari:minimum-idle: 5# 空闲连接存活最大时间,默认600000(10分钟)idle-timeout: 180000# 连接池最大连接数,默认是10maximum-pool-size: 10# 此属性控制从池返回的连接的默认自动提交行为,默认值:trueauto-commit: true# 连接池名称pool-name: MyHikariCP# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟max-lifetime: 1800000# 数据库连接超时时间,默认30秒,即30000connection-timeout: 30000connection-test-query: SELECT 1jpa:show-sql: falsehibernate:ddl-auto: updatedata:# Redis 数据库相关配置redis:host: localhostport: 6379password: root# SMTP 邮箱配置mail:host: smtp.163.comusername: 用户名password: 密码default-encoding: UTF-8port: 587properties:mail:smtp:auth: truesocketFactory:class: javax.net.ssl.SSLSocketFactory
# 七牛云相关配置
qiniu:access-key: keysecret-key: keybucket: sharinedomain-of-bucket: s336zn7wo.hn-bkt.clouddn.com
# 闪灵后端应用配置
application:# 用户订阅频道最大容量,超过容量则按先进先出规则删除最早数据subscribe-channel-size: 128# 每IP每日有效播放量统计(防止反复刷播放)cache-view-video-size: 256# 每IP每分钟请求限制query-per-minute-limit: 1200

修改完毕配置文件以后,在服务端同目录下创建服务端启动脚本,可参考以下内容:


# start.bat
# 如果没有配置 Java 环境变量,请修改 Java 为 java.exe 的具体路径
Java -Xms8G -Xmx8G -jar server.jar
pause

编写完成后即可双击启动后端服务器。

前端部署
请首先前往 https://nodejs.org/en 安装 Node.js 环境,并从 项目仓库 拉取 Sharine/web 前端项目文件,修改项目根目录 .env 文件中的环境变量,改为后端服务器 URL。

测试环境
运行 npm install 补全缺失依赖

运行 npm run dev 运行前端

生产环境
运行 npm install 补全缺失依赖

运行 npm run build 打包前端项目文件为 dist 文件夹

下载 nginx 后自行修改相关配置,将前端打包后得到的 dist 文件夹解压到 nginx 配置文件 http.server.location.root 指定的目录下,并运行 nginx

项目链接
https://github.com/WolfLink-DevTeam/Sharine

相关文章:

  • docker-本地部署-后端
  • MySQL之备份与恢复(四)
  • 从万里长城防御体系看软件安全体系建设@安全历史03
  • 数组与 ArrayList 的区别是什么?
  • 电气-伺服(4)CANopen
  • Visual Studio 设置回车代码补全
  • Postman介绍
  • TCP/IP模型每层内容和传输单位
  • 通过卷防水上限,解锁手机的新玩法?IP68之间亦有不同
  • Nettyの网络聊天室扩展序列化算法
  • 强强联合!当RAG遇到长上下文,滑铁卢大学发布LongRAG,效果领先GPT-4 Turbo 50%
  • 华为HCIP Datacom H12-821 卷24
  • Vue88-Vuex中的mapActions、mapMutations
  • 【C语言】—— 文件操作(下)
  • 使用kubeadm安装k8s并部署应用
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • CentOS7简单部署NFS
  • CODING 缺陷管理功能正式开始公测
  • ES6语法详解(一)
  • JS变量作用域
  • Linux快速复制或删除大量小文件
  • mac修复ab及siege安装
  • Mysql5.6主从复制
  • nodejs实现webservice问题总结
  • SpringBoot几种定时任务的实现方式
  • Swoft 源码剖析 - 代码自动更新机制
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 读懂package.json -- 依赖管理
  • 高度不固定时垂直居中
  • 警报:线上事故之CountDownLatch的威力
  • 树莓派 - 使用须知
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​用户画像从0到100的构建思路
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (7)STL算法之交换赋值
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (算法设计与分析)第一章算法概述-习题
  • (转)德国人的记事本
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .Net Core 中间件验签
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET delegate 委托 、 Event 事件
  • .net FrameWork简介,数组,枚举
  • .net 获取url的方法
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • /etc/fstab和/etc/mtab的区别
  • @ConfigurationProperties注解对数据的自动封装
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • []C/C++读取串口接收到的数据程序
  • []我的函数库
  • [2024-06]-[大模型]-[Ollama] 0-相关命令