Femoon/tts-azure-web

TTS Azure Web 是一个 Azure 文本转语音(TTS)网页应用,可以在本地或者云端使用你的 Azure Key 一键部署。TTS Azure Web is an Azure Text-to-Speech (TTS) web application. It allows you to run it locally or deploy it with a single click using your Azure Key.

TTS Azure Web – 快速概览

是什么 – 一个轻量级、可自托管的 Web UI,可调用 Microsoft Azure 的文本转语音服务。您可以输入或粘贴文本,通过图形界面或原始 SSML 标记调整语音参数(语言、风格、速度、音量等),并下载生成的音频文件。

为何重要 – Azure 的神经网络 TTS 是一个高质量的商业语音合成引擎。该项目消除了认证、调用 API 和构建 UI 所需的样板代码,使开发者或爱好者可以本地实验 Azure TTS,或通过一键式 Vercel 部署快速上线。


核心功能(README 中描述)

  • 语音自定义 – 选择语音、语言、风格和角色。
  • 音频控制 – 调整速度、语调和音量。
  • 双模式编辑器 –
    • 普通模式:使用 UI 滑块和下拉菜单。
    • SSML 模式:直接编辑语音合成标记语言以实现精细控制。
  • 导入/导出 SSML – 保存配置并稍后重新加载。
  • 音频导出 – 下载生成的语音为音频文件。
  • 状态持久化 – 通过 Zustand 与持久化中间件将偏好设置保存在 localStorage 中。
  • 国际化 – 支持英文和简体中文界面,自动检测区域设置。
  • 响应式设计 – 在桌面和移动设备上均能正常工作。

技术栈(来自 README)

层级 技术
前端框架 Next.js 15(App Router)
UI 库 HeroUI(NextUI v2) + Tailwind CSS v4 + Framer Motion
语言 TypeScript(React 19)
状态管理 Zustand 与持久化中间件
国际化 Next.js 内置 i18n
语音后端 Microsoft Azure Cognitive Services Speech SDK
打包 / 部署 Docker、Vercel 或普通 Node/Yarn

快速开始(README 步骤摘要)

  1. 获取 Azure 凭证 – 在 Azure 中创建语音服务,并记下 SPEECH_KEY 和 SPEECH_REGION。
  2. 在项目根目录创建 .env.local:
    SPEECH_KEY=your_azure_key
    SPEECH_REGION=your_azure_region
    # 可选
    NEXT_PUBLIC_MAX_INPUT_LENGTH=4000
    NEXT_TELEMETRY_DISABLED=1
    
  3. 安装依赖 – 项目使用 Yarn Classic:
    npm i -g yarn   # 如果尚未安装
    yarn
    
  4. 本地运行 – 开发服务器(仅限 localhost):
    yarn dev
    # 或在局域网中暴露
    yarn lan-dev
    
    打开 http://localhost:3000。
  5. 构建并运行 – 用于生产就绪的本地运行:
    yarn build
    yarn start
    

部署选项

  • Vercel(一键部署) – 点击 README 中的“Deploy with Vercel”按钮;将 SPEECH_KEY 和 SPEECH_REGION 作为环境变量提供。
  • Docker – 构建并运行容器:
    docker build -t tts-azure-web .
    docker run -p 3000:3000 -e SPEECH_KEY=... -e SPEECH_REGION=... tts-azure-web
    
  • 本地生产环境 – 设置环境变量文件后,使用 Yarn 的构建/启动命令。

典型使用场景

  • 语音功能 UI 组件的快速原型设计。
  • 内容创作 – 为视频、播客或电子学习生成旁白或配音。
  • SSML 测试 – 无需编写代码即可实验 Azure 的 SSML 功能。
  • 教育演示 – 在课堂或工作坊中展示云语音合成的工作原理。

项目健康与维护

  • 代码检查与 CI – ESLint(零警告策略)、Prettier、Husky 提交前钩子、Commitlint 和 Dependabot 安全补丁。
  • Node 版本 – 需要 Node 22+;Yarn 1.22.22。
  • 许可证 – MIT,允许个人或商业用途。

更多信息


TL;DR: TTS Azure Web 是一个开箱即用的 Next.js 应用,将 Azure 的神经网络 TTS API 包装在简洁的 UI 中,支持简单滑块和完整 SSML 编辑,并可通过 Vercel、Docker 或本地 Node 一键部署。

相关

  • 项目
  • 项目
  • 项目