Skip to content

yezigl/huaxian

Repository files navigation

画弦 HuaXian

AI 音乐创作平台 — 输入灵感,AI 帮你写歌。

用户只需输入一段文字、一个主题,甚至一张图片,AI 就能自动生成歌词、谱曲演唱、绘制封面,一首完整的原创歌曲几分钟内即可完成。

功能预览

Web 用户端

首页 创作页 - 输入歌词 创作页 - 风格配置

核心功能

创作方式

方式 说明
文字创作 输入歌词或灵感文字,选择风格、情绪、声音,AI 生成歌曲
AI 写词 输入主题关键词,AI 自动创作歌词,支持国语/粤语/英语/日语/韩语
图片创作 上传图片,AI 识别画面内容后生成匹配的歌曲

音乐定制

  • 语言:国语、粤语、英语、日语、韩语
  • 风格:流行、摇滚、爵士、古典、电子、民谣、R&B、抒情
  • 情绪:浪漫、激情、伤感、欢快、平静、宏大
  • 声音:男声 / 女声
  • 音质:标准音质 / 快速生成
  • 节奏:BPM 可调(60-200)
  • 自定义 Prompt:用关键词微调音乐风格

发现与分享

  • 发现页浏览公开作品
  • 歌曲详情页(封面、歌词、播放)
  • 个人作品管理

管理后台

  • 数据看板:用户、作品、收入、任务实时统计
  • 用户管理:查看用户、调整额度、封禁/解封
  • 作品管理:查看作品、上架/下架
  • 模型配置:管理 AI 模型(添加、编辑、切换默认),支持多种供应商热切换
  • 邮件配置:管理 SMTP 邮件服务(验证码发送、密码重置),支持测试发送
  • 存储配置:管理对象存储(火山引擎 TOS / Amazon S3 / 阿里云 OSS / 腾讯云 COS),支持自定义域名
  • 定价策略:配置 VIP 套餐和生成价格

AI 模型

画弦使用 Provider 抽象层统一管理所有 AI 模型,支持通过管理后台零代码切换模型供应商。

文本模型(歌词生成)

通过 registry.getTextProvider() 调用,用于 AI 写词功能。

供应商 模型 用途
豆包 (Doubao) doubao-seed-2-0-lite 默认歌词生成模型,支持 temperature 调节
智谱 (GLM) glm-4.7 备选文本模型
DeepSeek deepseek-chat 备选文本模型

支持配置 temperature(0-2)控制歌词的创造性。

音乐模型(谱曲演唱)

通过 registry.getMusicProvider(qualityTier) 调用,用于音乐生成。

供应商 模型 用途
MiniMax music-2.6 标准音质(44100Hz / 256kbps MP3)
MiniMax music-2.6-free 快速生成(44100Hz / 128kbps MP3)

支持配置采样率、比特率、编码格式(MP3/WAV/FLAC)。

视觉模型(图片理解)

通过 registry.getVisionProvider() 调用,用于图片创作时分析图片内容。

供应商 模型 用途
豆包 (Doubao) doubao-seed-2-0-lite 默认视觉模型,图片内容识别
智谱 (GLM) glm-4.6v 备选视觉模型

图像模型(封面生成)

通过 registry.getImageProvider() 调用,用于自动生成歌曲封面。

供应商 模型 用途
豆包 (Doubao) doubao-seedream-4-5 默认封面生成,支持尺寸配置
智谱 (GLM) glm-image 备选图像模型

快速开始

环境要求

  • Node.js 18+
  • MySQL 8
  • Redis

安装

git clone https://github.com/your-username/huaxian.git
cd huaxian

# 安装后端依赖
cd huaxian-server && npm install

# 安装 Web 前端依赖
cd ../huaxian-web && npm install

# 安装管理后台依赖
cd ../huaxian-admin && npm install

配置

huaxian-server/ 目录创建 .env 文件:

# 数据库
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=huaxian

# Redis
REDIS_HOST=localhost
REDIS_PORT=6379

# JWT
JWT_SECRET=your_jwt_secret

# 管理员
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your_admin_password

AI 模型、存储、邮件等配置全部通过管理后台设置,无需在 .env 中配置。

Web 前端和管理后台分别在其目录创建 .env 文件(可复制 .env.example):

# huaxian-web/.env 和 huaxian-admin/.env
VITE_API_BASE_URL=http://localhost:5173/api

启动

# 启动后端(自动建表和种子数据初始化)
cd huaxian-server && npm run dev

# 启动 Web 前端
cd huaxian-web && npm run dev

# 启动管理后台
cd huaxian-admin && npm run dev

启动后访问:

微信小程序

小程序使用微信开发者工具打开 huaxian-miniprogram 目录,配置 AppID 后即可预览。

项目结构

huaxian/
├── huaxian-server/        # Node.js Express 后端
├── huaxian-web/           # Vue 3 用户端 Web 前端
├── huaxian-admin/         # Vue 3 + Element Plus 管理后台
├── huaxian-miniprogram/   # 微信原生小程序
├── openspec/              # 需求规格文档
└── docs/                  # 截图和文档

License

MIT

About

AI音乐创作平台

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors