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-service
    id: 1
  profiles:
    active: prod
  config:
    import: consul:localhost:8500/config
  cloud:
    consul:
      config:
        format: yaml
        data-key: ${spring.application.name}-${spring.profiles.active}
      discovery:
        instance-id: ${spring.application.name}-${spring.application.id}
        health-check-timeout: 1s
        prefer-ip-address: true

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

# config/video-service-prod.yml
spring:
  # 数据库配置,请按实际环境修改
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 数据库连接 URL
    url: jdbc:mysql://localhost:3306/sharine?serverTimezone=Asia/Shanghai&allowMultiQueries=true
    # 数据库用户
    username: root
    # 数据库密码
    password: root
    # 连接池相关配置,无特殊需要可默认不做更改
    hikari:
      minimum-idle: 5
      # 空闲连接存活最大时间,默认600000(10分钟)
      idle-timeout: 180000
      # 连接池最大连接数,默认是10
      maximum-pool-size: 10
      # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
      auto-commit: true
      # 连接池名称
      pool-name: MyHikariCP
      # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
      max-lifetime: 1800000
      # 数据库连接超时时间,默认30秒,即30000
      connection-timeout: 30000
      connection-test-query: SELECT 1
  jpa:
    show-sql: false
    hibernate:
      ddl-auto: update
  data:
    # Redis 数据库相关配置
    redis:
      host: localhost
      port: 6379
      password: root
      # SMTP 邮箱配置
  mail:
    host: smtp.163.com
    username: 用户名
    password: 密码
    default-encoding: UTF-8
    port: 587
    properties:
      mail:
        smtp:
          auth: true
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory
# 七牛云相关配置
qiniu:
  access-key: key
  secret-key: key
  bucket: sharine
  domain-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/755077.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL中的存储引擎

介绍 存储引擎就是存储数据,建立索引,更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型(即一个数据库下的表可以选择不同的存储引擎)。 1. 如何查看一个…

一些指标的学习

1.平均倒数排名(MRR) 1.定义 MRR 是衡量检索系统返回的结果列表中第一个相关结果位置的指标。具体来说,它是所有查询倒数排名的平均值。 2.计算步骤 对每个查询,找到第一个正确答案在结果列表中的排名 𝑅&#x1d44…

Python数据库数据的读取

数据库数据的读取 绝大多数公司都会选择将数据存入数据库中,因为数据库既可以存放海量数据,又可以非常便捷地实现数据的查询。本节将以MySQL和SQL Server为例,教会读者如何使用Pandas模块和对应的数据库模块(分别是pymysql模块和…

金融科技:重塑用户体验,驱动满意度飙升

随着科技的飞速发展,金融科技(FinTech)已经深入到我们生活的每一个角落,从日常支付到投资理财,再到跨境汇款,它都在悄无声息地改变着我们的金融行为。而在这背后一个不可忽视的驱动力就是金融科技对用户体验…

短视频视频配:成都柏煜文化传媒有限公司

短视频视频配:​艺术与技术的完美融合 在短视频盛行的当下,一个优秀的短视频作品不仅仅依赖于精彩的内容,更需要在视频配上做足功夫。视频配,作为短视频的重要组成部分,涵盖了音效、配乐、字幕等多个方面,…

Camera Raw:编辑 - 曲线

Camera Raw “编辑”模块中的曲线 Curve面板提供了曲线这一强大的工具,通过精确控制亮度和对比度,以及调整红、绿、蓝通道的曲线,可以显著提升图像的视觉效果和色彩表现。这些调整工具为摄影师和图像编辑者提供了丰富的创意可能性&#xff0c…

ORB-SLAM2同OpenMVS实现三维重建

ORB-SLAM2 位姿导出 Note: 为与OpenMVS进行对接本次进对ORB-SLAM2进行部分修改,使之可以为 OpenMVS提供稀疏点云、关键帧的位姿、内参,以及稀疏点云在各个View 中的可见性。 主要更改如下 . 在Map文件下增添如下函数 public: void Save(const string &a…

Vue+Proj4Leaflet实现地图瓦片(Nginx代理本地地图瓦片为网络url)加载并实现CRS投影转换(附资源下载)

场景 Leaflet中加载离线OSM瓦片地图(使用OfflineMapMaker切割下载离线png地图文件): Leaflet中加载离线OSM瓦片地图(使用OfflineMapMaker切割下载离线png地图文件)_offline map maker-CSDN博客 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与…

spring aop 初探

org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#wrapIfNecessary 分析JDK动态代理 生成的代理对象 构造函数,入参为 InvocationHandler public com.sun.proxy.$Proxy164(java.lang.reflect.InvocationHandler) 生成动态代理Class对象&…

Android 遥控器

遥控器源码 import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.RadialGradient; import android.graphics.Region; import android.g…

JavaScript(2)——输入输出和执行顺序

目录 JS的输入输出语法 输出: 输入 JS的代码执行顺序 字面量 JS的输入输出语法 输出: document.write(内容)alert(内容) 页面弹出警告框console.log(内容) 控制台输出语法,程序员调试使用 作用:向body输出内容 注意&…

Node.js简介

一:Node.js简介 Node.js是一个跨平台的JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序 作用:使用Node.js编写服务器端程序 编写数据接口,提供网页资源浏览功能有利于前端工程化,可以集成各种开发…

等保测评练习卷14

等级保护初级测评师试题14 姓名: 成绩: 判断题(10110分) 1. 方案编制活动中测评对象确定、测评指…

【python】OpenCV—Aruco

文章目录 Detect ArucoGuess Aruco Type Detect Aruco 学习参考来自:OpenCV基础(19)使用 OpenCV 和 Python 检测 ArUco 标记 更多使用细节可以参考:【python】OpenCV—Color Correction 源码: 链接:http…

在 UBUNTU 22.04 上逐步构建 Postal SMTP 服务器

构建 Postal SMTP 服务器来发送批量电子邮件是电子邮件营销人员的不错选择。Postal 功能非常强大,并拥有大量开发人员的支持。它是一个用 JavaScript 和 Ruby 编写的开源邮件服务器脚本。它可用于构建内部 SMTP 服务器,就像 Mailgun、Sendgrid、Mailchim…

【期末速成】计算机操作系统 EP03 | 学习笔记

文章目录 一、前言🚀🚀🚀二、正文:☀️☀️☀️2.1 考点五:进程的概念及特征2.1 考点六:进程的状态与切换 三、总结:🍓🍓🍓 一、前言🚀&#x1f6…

Why is Kafka fast?(Kafka性能基石)

Kafka概述 Why is kafka fast? 思考一下,当我们在讨论Kafka快的时候我们是在谈论什么呢?What does it even mean that Kafka is fast? 我们是在谈论kafka的低延迟(low latency)还是在讨论吞吐量(through…

快速了解GPT-4o和GPT-4区别

GPT-4o简介 在5月14日的OpenAI举行春季发布会上,OpenAI在活动中发布了新旗舰模型“GPT-4o”!据OpenAI首席技术官穆里穆拉蒂(Muri Murati)介绍,GPT-4o在继承GPT-4强大智能的同时,进一步提升了文本、图像及语…

C语言 | Leetcode C语言题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; int countPrimes(int n) {if (n < 2) {return 0;}int isPrime[n];int primes[n], primesSize 0;memset(isPrime, 0, sizeof(isPrime));for (int i 2; i < n; i) {if (!isPrime[i]) {primes[primesSize] i;}for (int j 0; j < …

TCP单进程循环服务器程序与单进程客户端程序

实验目的 理解并掌握以下内容: 网络进程标识(即套接字地址)在Linux中的数据结构与地址转换函数。网络字节序与主机字节序的定义、转换以及相关函数在网络编程中的应用。数据结构内存对齐的基本规则,以及基于数据结构构建PDU的基本方法。TCP单进程循环服务器与单进程客户端的…