Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LocalAudio

一个优雅的音频工具应用,支持文本转语音(TTS)和语音识别(ASR)功能。

Platform Swift SwiftUI

✨ 特性

📝 文本转语音(TTS)

  • 🎯 高质量语音:自动过滤并使用系统增强/高级语音
  • 🎚️ 自定义控制:调节语速、音调、音量
  • 💾 音频保存:将语音导出为高质量音频文件
  • 📤 文件分享:支持导出到文件应用或分享

🎤 语音识别(ASR)

  • 📁 文件识别:支持导入音频文件进行识别
  • 🎙️ 实时识别:实时语音转文字
  • ▶️ 音频预览:识别前可播放音频文件
  • 📋 结果编辑:识别结果可复制和编辑

📚 历史记录

  • 💾 自动保存:所有 TTS 和 ASR 记录自动存储
  • 🔍 快速查询:按类型、时间筛选历史记录
  • 🗑️ 便捷管理:支持删除单条或清空所有记录

🎨 界面设计

  • 🌈 统一主题:优雅的紫色主题(#7A70DD)
  • 📱 原生体验:完全使用 SwiftUI 构建
  • 无障碍支持:完整的 VoiceOver 支持

📱 平台支持

  • iOS 17.0+

🛠️ 技术栈

  • 框架:SwiftUI
  • 数据持久化:SwiftData
  • 云同步:CloudKit(可选)
  • 音频处理:AVFoundation
  • 语音合成:AVSpeechSynthesizer
  • 语音识别:SFSpeechRecognizer

🚀 快速开始

环境要求

  • Xcode 15.0+
  • iOS 17.0+
  • Apple Developer Account(用于真机测试)

构建项目

# 克隆项目
git clone [your-repo-url]
cd LocalAudio

# 用 Xcode 打开
open LocalAudio.xcodeproj

# 或使用命令行构建
xcodebuild -scheme LocalAudio -configuration Debug build

运行项目

iOS 模拟器:

xcodebuild -scheme LocalAudio -destination 'platform=iOS Simulator,name=iPhone 15' build

📖 使用说明

文本转语音(TTS)

  1. 在文本框中输入要转换的文字
  2. 选择语音(默认使用中文高质量语音)
  3. 调整语速、音调、音量(可选)
  4. 点击「预览」试听效果
  5. 点击「保存」将音频保存到本地
  6. 点击「导出到文件」分享音频文件

语音识别(ASR)

文件识别模式:

  1. 点击「选择音频文件」导入音频
  2. 点击「播放音频」预览(可选)
  3. 系统自动识别并显示文字结果

实时识别模式:

  1. 点击麦克风按钮开始录音
  2. 说话时实时显示识别结果
  3. 再次点击停止识别

历史记录

  • 查看记录:在「历史」标签查看所有记录
  • 筛选记录:切换「全部」/「TTS」/「ASR」查看不同类型
  • 删除记录:左滑删除单条,或点击「清空」删除所有

🎨 主题定制

主题色统一管理在 Color+Extensions.swift 中:

// 修改主题色
Color.Theme.primary = Color(hex: "7A70DD")  // 主色调

全局应用:

ContentView()
    .tint(.themePrimary)  // 应用主题色

📁 项目结构

LocalAudio/
├── LocalAudioApp.swift          # 应用入口
├── ContentView.swift            # 主视图
├── Models/                      # 数据模型
│   ├── TTSRecord.swift         # TTS 记录
│   └── ASRRecord.swift         # ASR 记录
├── Views/                       # 视图层
│   ├── iOS/                    # iOS 专用视图
│   │   ├── iOSMainView.swift
│   │   ├── iOSTTSView.swift
│   │   ├── iOSASRView.swift
│   │   ├── iOSHistoryView.swift
│   └── Shared/                 # 共享组件
│       └── HistoryRowView.swift
├── ViewModels/                  # 视图模型
│   ├── TTSViewModel.swift
│   └── ASRViewModel.swift
├── Services/                    # 服务层
│   ├── TTSService.swift        # TTS 服务
│   ├── ASRService.swift        # ASR 服务
│   ├── AudioFileManager.swift  # 文件管理
│   └── PermissionManager.swift # 权限管理
└── Extensions/                  # 扩展
    ├── Color+Extensions.swift  # 颜色扩展
    └── View+Extensions.swift   # 视图扩展

⚙️ 配置说明

权限配置

应用需要以下权限(已在 Info.plist 中配置):

  • 麦克风权限:用于实时语音识别
  • 语音识别权限:用于 ASR 功能

CloudKit 配置

如需启用 iCloud 同步:

  1. 在 Xcode 中打开 Signing & Capabilities
  2. 确保 CloudKit 已启用
  3. 配置 Container(已预设)

🐛 已知问题

iOS 系统限制

  1. 音频保存质量:iOS 限制导致 TTS 保存需使用录音方式,建议在安静环境使用
  2. 语音质量标记:部分系统即使下载了增强语音,仍可能标记为默认质量(已通过智能识别解决)
  3. 键盘约束警告:iOS 系统键盘的内部布局警告,不影响功能

解决方案

  • 获取高质量语音:设置 → 辅助功能 → 朗读内容 → 语音 → 下载增强语音
  • 麦克风权限:设置 → 隐私与安全性 → 麦克风 → 启用应用权限

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

👨‍💻 作者

Created with ❤️ by Claude & liyanbin

📮 联系方式

如有问题或建议,欢迎通过以下方式联系:

  • 提交 Issue
  • 发送邮件

享受使用 LocalAudio! 🎉

About

一个优雅的音频工具应用,支持文本转语音(TTS)和语音识别(ASR)功能。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages