VoiceCanvas 开源了!支持超过 50+ 种语言语音服务!

项目简介

VoiceCanvas 是一个先进的多语言语音合成平台,使用最新的 AI 技术提供高质量的文字转语音服务和语音克隆服务。


🌟 主要特点

多语言支持

  • 支持超过 50+ 种语言



语音功能


  • 多种语音服务集成:
    • OpenAI TTS(高质量自然语音)
    • AWS Polly(多语言支持)
    • MiniMax(中文优化)
  • 高质量语音合成
  • 男声/女声选择
  • 语速调节
  • 逐字朗读模式
  • 实时音频预览
  • 音频可视化
  • 智能容错机制(自动切换备选服务)


语音克隆

  • 个人声音克隆功能
  • 上传音频样本创建个性化声音
  • 克隆声音管理
  • 克隆声音配额控制


文件处理

  • 支持文本文件上传
  • 音频文件下载
  • 支持长文本处理


用户系统

  • 用户注册和登录
  • 第三方登录(Google、GitHub)
  • 多语言界面
  • 深色/浅色主题切换


订阅系统

  • 免费试用计划
  • 按年/按月订阅
  • 按量付费选项
  • 字符配额管理
  • 克隆声音配额管理


🛠️ 技术栈

  • 前端框架
    : Next.js 14
  • UI 组件
    : Tailwind CSS, shadcn/ui
  • 认证
    : NextAuth.js
  • 数据库
    : PostgreSQL (Neon)
  • ORM
    : Prisma
  • 语音服务
    :
    • OpenAI TTS
    • AWS Polly
    • MiniMax
  • 并发控制
    : 自定义速率限制
  • 部署
    : Vercel


📦 安装

  1. 克隆仓库
git clone https://github.com/ItusiAI/Open-VoiceCanvas.gitcd Open-VoiceCanvas
  1. 安装依赖
npm install
  1. 配置环境变量
# 创建 .env 文件并添加以下配置
# OpenAIOPENAI_API_KEY="your_openai_api_key"
# AWS PollyNEXT_PUBLIC_AWS_REGION="us-east-1"NEXT_PUBLIC_AWS_ACCESS_KEY_ID="your_aws_access_key_id"NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY="your_aws_secret_access_key"
# MiniMaxMINIMAX_API_KEY="your_minimax_api_key"MINIMAX_GROUP_ID="your_minimax_group_id"
# DatabaseDATABASE_URL="your_neon_db_url"
# StripeSTRIPE_SECRET_KEY="your_stripe_secret_key"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your_stripe_publishable_key"STRIPE_WEBHOOK_SECRET="your_stripe_webhook_secret"
# NextAuth 配置NEXTAUTH_URL="http://localhost:3000"NEXTAUTH_SECRET="your_nextauth_secret"
# OAuth 提供商配置GITHUB_ID="your_github_client_id"GITHUB_SECRET="your_github_client_secret"GOOGLE_ID="your_google_client_id"GOOGLE_SECRET="your_google_client_secret"
  1. 运行数据库迁移
npx prisma migrate dev
  1. 启动开发服务器
npm run dev



🔑 环境变量

变量名
描述
必需
OPENAI_API_KEY
OpenAI API 密钥
NEXT_PUBLIC_AWS_REGION
AWS 区域 (默认 us-east-1)
NEXT_PUBLIC_AWS_ACCESS_KEY_ID
AWS 访问密钥 ID
NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY
AWS 访问密钥
MINIMAX_API_KEY
MiniMax API 密钥
MINIMAX_GROUP_ID
MiniMax 组 ID
DATABASE_URL
Neon PostgreSQL 数据库连接 URL
STRIPE_SECRET_KEY
Stripe 密钥
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
Stripe 公钥
STRIPE_WEBHOOK_SECRET
Stripe Webhook 密钥
NEXTAUTH_URL
NextAuth URL (开发环境为 http://localhost:3000)
NEXTAUTH_SECRET
NextAuth 密钥
GITHUB_ID
GitHub OAuth 客户端 ID
GITHUB_SECRET
GitHub OAuth 客户端密钥
GOOGLE_ID
Google OAuth 客户端 ID
GOOGLE_SECRET
Google OAuth 客户端密钥


📝 数据库模型

用户 (users)

  • 基本信息:邮箱、密码、名称、头像
  • 认证信息:提供商、提供商 ID
  • 使用统计:总字符使用量、最后使用时间
  • 偏好设置:语言、时区


订阅 (Subscription)

  • 计划类型
  • 开始和结束日期
  • 状态


字符配额 (CharacterQuota)

  • 永久配额
  • 临时配额
  • 已使用字符数
  • 配额过期时间


克隆声音 (ClonedVoice)

  • 声音ID
  • 用户ID
  • 名称
  • 创建时间


🔊 支持的语音服务


OpenAI TTS

  • 高质量自然语音
  • 支持多种声音:alloy, echo, fable, onyx, nova, shimmer, ash, coral, ballad, sage
  • 语速调节
  • 自动容错(失败时切换到AWS Polly)


AWS Polly

  • 多语言支持
  • 多种声音选择
  • 语速调节


MiniMax

  • 中文优化
  • 语音克隆功能
  • 多语言支持
  • 语速调节



项目链接

https://github.com/ItusiAI/Open-VoiceCanvas

扫码加入技术交流群,备注开发语言-城市-昵称

(文:GitHubStore)

欢迎分享

发表评论