开发计划.md 15 KB

AI有声书生成工具 - 开发计划

产品概述

开发一个AI有声书生成工具,用户输入长文本自动生成高质量音频,支持下载和分享。定位为内容创作者的音频制作工具,帮助自媒体作者、小说爱好者、学习者低成本制作音频内容。

核心功能

一、文本转音频(核心功能)

  • 长文本支持:输入任意长度文本(无限制)
  • 自动分段处理:智能分段,并行生成,快速完成
  • 多种音色:标准音色、情感音色共10+种
  • 参数调节:语速(0.5x-2.0x)、音调、音量

二、智能辅助

  • 自动生成简介:AI提取核心内容,生成200字简介
  • 自动生成标题:智能提取或生成吸引人的标题
  • 标签推荐:自动分析文本生成标签

三、音频播放器(核心功能)

  • 在线播放:无需下载,直接在线收听
  • 播放控制:
    • 播放/暂停
    • 进度条拖动
    • 上一条/下一条切换
    • 倍速播放(0.5x/0.75x/1.0x/1.25x/1.5x/2.0x)
  • 播放列表:历史记录作为播放列表
  • 后台播放:支持后台播放,锁屏状态可继续播放
  • 锁屏控制:锁屏界面显示播放控制

四、音频管理

  • 下载保存:支持MP3格式下载
  • 历史记录:保存生成历史,方便管理
  • 收藏功能:收藏喜欢的音频
  • 分享功能:生成分享链接或二维码

四、会员体系(简化版)

  • 免费版:每天3次生成,每次最多5000字
  • 月度会员(¥19.9/月):每天20次生成,每次最多50000字
  • 年度会员(¥199/年):每天无限次生成,无字数限制

目标用户

主要用户群体

  1. 自媒体作者:想把文章转音频发布
  2. 小说爱好者:想听冷门小说或自己写的小说
  3. 学习者:想听论文、技术文档、学习资料
  4. 视障人士:需要听各种文档内容

用户场景

用户类型 典型场景 付费意愿
自媒体作者 文章转音频发布到平台 高(¥20-50/月)
小说爱好者 网文转音频自己听 中(¥10-20/月)
学习者 论文/文档转音频 中(¥10-30/月)
视障人士 文档识别转音频 高(有政策支持)

商业模式

收费模式

按字数收费 + 会员套餐

收费方式 价格 适用人群
按次付费 ¥0.01/千字 轻度用户
月度会员 ¥19.9/月 活跃用户
年度会员 ¥199/年 重度用户

成本结构

  • 讯飞TTS:¥0.2/千字符
  • OSS存储:¥0.12/GB/月
  • CDN流量:¥0.24/GB
  • 服务器:¥500/月

盈利预测

阶段 用户数 付费率 月收入 月成本 月利润
3个月 1000 5% ¥2,000 ¥1,500 ¥500
6个月 5000 6% ¥12,000 ¥5,000 ¥7,000
12个月 20000 8% ¥60,000 ¥15,000 ¥45,000

技术栈选择

前端技术

技术 版本 用途
uniapp 最新 跨平台框架(微信/H5)
Vue3 3.x 前端框架
TypeScript 5.x 类型安全
Pinia 2.x 状态管理
uni-ui 最新 UI组件库

后端技术

技术 版本 用途
Node.js 18 LTS 运行时环境
Koa 2.x Web框架
TypeScript 5.x 类型安全
MySQL 8.x 数据库
Prisma 7.x ORM框架
Redis 7.x 缓存/会话
FFmpeg 最新 音频处理

云服务

服务 提供商 用途
ECS 阿里云 服务器部署
OSS 阿里云 音频文件存储
CDN 阿里云 音频加速
讯飞语音 科大讯飞 TTS服务
阿里云TTS 阿里云 TTS备用

实现方案

系统架构

graph TB
    subgraph 客户端
        A[微信小程序] 
        B[H5网页]
    end
    
    subgraph 服务端
        C[Nginx]
        D[Koa API服务]
        E[TTS处理服务]
        F[音频处理服务]
    end
    
    subgraph 数据层
        G[MongoDB]
        H[Redis缓存]
        I[OSS音频存储]
    end
    
    subgraph 第三方服务
        J[讯飞TTS API]
        K[阿里云TTS API]
        L[微信支付]
    end
    
    A --> C
    B --> C
    C --> D
    D --> E
    D --> F
    E --> J
    E --> K
    D --> G
    D --> H
    F --> I
    D --> L

核心模块设计

1. 长文本TTS处理

长文本输入 → 文本分段(500字/段) → 并行TTS生成 → 音频合并 → OSS存储 → 返回音频URL
优化:任务队列 + 异步处理,支持并发

2. 智能辅助生成

文本输入 → AI提取关键词 → 生成简介(200字) → 生成标题 → 推荐标签
使用:讯飞星火或阿里通义千问API

3. 用户权益控制

请求拦截 → 次数校验 → 字数校验 → 通过执行/拒绝提示
免费用户:3次/天,5000字/次
月度会员:20次/天,50000字/次
年度会员:无限次,无限制

4. 音频处理流程

TTS生成 → 格式转换(MP3) → 音频压缩 → 上传OSS → 生成下载链接
优化:CDN加速下载

数据库设计

用户表(users)

{
  _id: ObjectId,
  openid: String,           // 微信openid
  unionid: String,          // 跨平台unionid
  nickname: String,
  avatar: String,
  memberLevel: Number,      // 0免费 1月度 2年度
  memberExpireAt: Date,
  dailyUsage: Number,       // 今日使用次数
  lastUsageDate: String,    // 最后使用日期
  createdAt: Date
}

音频记录表(audios)

{
  _id: ObjectId,
  userId: ObjectId,
  title: String,             // 标题
  text: String,              // 原文内容
  summary: String,           // AI生成简介
  tags: [String],            // 标签
  audioUrl: String,          // 音频URL
  audioDuration: Number,     // 时长(秒)
  audioSize: Number,         // 文件大小(字节)
  wordCount: Number,         // 字数
  voiceId: String,           // 音色ID
  voiceParams: {             // 参数
    speed: Number,
    pitch: Number,
    volume: Number
  },
  status: String,            // processing/completed/failed
  createdAt: Date
}

订单表(orders)

{
  _id: ObjectId,
  userId: ObjectId,
  orderNo: String,
  productType: String,      // monthly/yearly
  amount: Number,
  status: String,           // pending/paid/failed
  paymentMethod: String,
  paidAt: Date,
  createdAt: Date
}

目录结构

c:/Users/caoyg/test/audio/
├── client/                          # uniapp前端项目
│   ├── src/
│   │   ├── pages/                   
│   │   │   ├── index/              # 首页(文本输入+生成)
│   │   │   ├── history/            # 历史记录页面
│   │   │   ├── mine/               # 个人中心
│   │   │   └── member/             # 会员页面
│   │   ├── components/             
│   │   │   ├── TextInput.vue       # 文本输入组件
│   │   │   ├── AudioPlayer.vue     # 音频播放器
│   │   │   ├── VoiceSelector.vue   # 音色选择器
│   │   │   └── MemberCard.vue      # 会员卡片
│   │   ├── store/                  
│   │   │   ├── user.ts             
│   │   │   └── audio.ts            # 音频状态
│   │   ├── api/                    
│   │   │   ├── tts.ts              # TTS接口
│   │   │   ├── user.ts             # 用户接口
│   │   │   └── payment.ts          # 支付接口
│   │   └── utils/                  
│   ├── manifest.json               
│   ├── pages.json                  
│   └── package.json
│
├── server/                          # Node.js后端项目
│   ├── src/
│   │   ├── modules/                
│   │   │   ├── tts/                # TTS服务模块
│   │   │   │   ├── tts.controller.ts
│   │   │   │   ├── tts.service.ts
│   │   │   │   ├── xunfei.provider.ts  # 讯飞实现
│   │   │   │   ├── aliyun.provider.ts  # 阿里云实现
│   │   │   │   └── audio-merger.ts     # 音频合并
│   │   │   ├── auth/              # 用户认证模块
│   │   │   │   ├── auth.controller.ts
│   │   │   │   ├── auth.service.ts
│   │   │   │   └── auth.dto.ts
│   │   │   ├── member/            # 会员模块
│   │   │   │   ├── member.controller.ts
│   │   │   │   └── member.service.ts
│   │   │   └── payment/           # 支付模块
│   │   │       ├── payment.controller.ts
│   │   │       └── payment.service.ts
│   │   ├── middleware/            
│   │   │   ├── auth.ts           # 认证中间件
│   │   │   ├── usageLimit.ts     # 使用次数限制
│   │   │   └── errorHandler.ts   
│   │   ├── models/               
│   │   │   ├── User.ts
│   │   │   ├── Audio.ts
│   │   │   └── Order.ts
│   │   └── app.ts                
│   ├── package.json
│   └── tsconfig.json
│
├── docs/                            
│   ├── API.md                      # API文档
│   └── DEPLOY.md                   # 部署文档
│
├── AI语音应用商业计划书.md           
└── README.md                        

实施要点

性能优化

  • 长文本并行生成,提升速度
  • 任务队列处理,避免阻塞
  • Redis缓存用户权益信息
  • CDN加速音频下载

安全措施

  • API签名验证
  • 用户敏感数据加密
  • 支付回调验签
  • 音频链接时效性控制

成本控制

  • 讯飞TTS:¥0.2/千字符
  • OSS存储:¥0.12/GB/月
  • CDN流量:¥0.24/GB
  • 预估1000用户/月成本:¥1500

设计风格

采用现代化简约风格,以渐变色和卡片式设计为主,营造科技感与亲和力并存的视觉体验。主色调使用蓝色系,象征科技与信任,辅以温暖的橙色作为强调色。

页面规划

首页(核心页面)

  • 顶部:Logo + 用户头像 + 剩余次数提示
  • 中部:
    • 文本输入区(支持粘贴、字数统计)
    • 音色选择下拉
    • 参数调节滑块(语速、音调、音量)
  • 底部:生成按钮(渐变色主按钮)+ 底部导航栏

播放器页面(核心页面)

  • 迷你播放器(全局底部悬浮):

    • 当前播放信息(封面、标题、时长)
    • 播放/暂停按钮
    • 下一首按钮
    • 进度条(可拖动)
    • 点击展开完整播放器
  • 完整播放器页面:

    • 顶部:返回按钮 + 标题
    • 中部:
    • 大封面图
    • 文本预览
    • 简介(AI生成)
    • 播放控制:
      • 进度条(可拖动,显示当前时间/总时长)
      • 播放/暂停按钮
      • 上一首/下一首按钮
      • 倍速选择(0.5x/0.75x/1.0x/1.25x/1.5x/2.0x)
      • 收藏按钮
    • 底部:
    • 下载按钮
    • 分享按钮
    • 添加到播放列表

历史记录页面

  • 顶部:搜索栏
  • 中部:音频列表(卡片式,显示标题、时长、生成时间、操作按钮)
  • 底部:导航栏

个人中心页面

  • 顶部:用户信息卡片(头像、昵称、会员状态)
  • 中部:
    • 会员中心入口
    • 使用统计
    • 设置
    • 帮助反馈
  • 底部:导航栏

会员页面

  • 顶部:会员权益说明
  • 中部:会员卡片对比(免费/月度/年度)
  • 底部:立即开通按钮

开发计划

MVP阶段(2周)

第1周:

  • 项目初始化
  • 用户登录(微信授权)
  • TTS核心功能(讯飞API集成)
  • 文本输入+音频生成

第2周:

  • 音频播放器(在线播放、进度控制、倍速播放)
  • 后台播放、锁屏控制
  • 播放列表功能
  • 下载功能
  • 历史记录
  • 会员系统基础版
  • 微信支付集成

V1.0阶段(1个月)

  • 优化TTS生成速度
  • 智能简介生成
  • 更多音色选择
  • 分享功能
  • 管理后台

V1.5阶段(2-3个月)

  • H5版本
  • 批量生成
  • 音频编辑功能
  • 导出多种格式

第二期开发计划(体验增强)

基于用户反馈和产品优化,新增以下功能:

一、搜索与发现

功能 优先级 说明
🔍 全局搜索 P1 搜索有声书标题、历史记录
🏷️ 内容分类 P2 按类型筛选(故事/小说/新闻/学习)

二、播放体验优化

功能 优先级 说明
⏰ 定时关闭 P1 睡眠定时、15/30/60分钟自动停止
🎚️ 播放速度 P1 0.5x-2x速听,记忆用户偏好
🔊 音质选择 P2 高/标准音质切换
🎵 AI音色库 P2 多种AI主播声音可选

三、数据同步

功能 优先级 说明
📊 播放记录 P1 记录播放进度,支持续播
⭐ 收藏夹 P1 收藏喜欢的音频
💾 离线缓存 P2 下载到本地离线听

四、社交与分享

功能 优先级 说明
📤 分享功能 P1 分享给微信好友/朋友圈
💬 评论打分 P2 对内容评论评分
🔔 消息通知 P3 新内容推送、会员优惠

六、技术优化

功能 优先级 说明
⚡ 加载优化 P1 骨架屏、缓存优化
📡 断点续传 P2 大文件下载断点续传
🔄 数据同步 P2 多端数据实时同步

第二期页面规划

新增页面:

pages/
├── search/          # 搜索页面
│   └── index.vue
├── favorites/        # 收藏页面
│   └── index.vue
└── settings/         # 设置页面
    └── index.vue

修改页面:

pages/
├── index/           # 首页增加分类、推荐
├── player/          # 播放器增加定时、速度、音质
├── history/        # 增加搜索、收藏入口
└── mine/           # 增加设置、收藏入口

第二期实施顺序

第一阶段(P1 - 核心体验)

  1. 播放记录 + 续播
  2. 收藏功能
  3. 定时关闭
  4. 播放速度记忆
  5. 分享功能

第二阶段(P2 - 丰富功能)

  1. 全局搜索
  2. 内容分类

  3. 音质选择

  4. 离线缓存

第三阶段(P3 - 完善优化)

  1. 评论打分
  2. 消息通知
  3. 个性化主题

Agent Extensions

Skill

  • skill-creator: 用于创建项目开发规范skill,确保代码风格统一
  • self-improvement: 开发过程中记录错误和改进点,持续优化代码质量

Integration

  • 阿里云ECS: 部署后端服务
  • 阿里云OSS: 音频文件存储与CDN加速

SubAgent

  • code-explorer: 探索生成的代码结构,确保模块划分合理