适配 HarmonyOS 5.0.0 或以上版本:
“写笔记太慢?说出来就能生成整理好的文字。”
本篇将带你构建一个实用型 AI 应用——语音笔记 App,整合语音识别、文件存储与自动分类能力,核心功能包括:
✅ 语音录入 → 实时转文字
✅ 自动保存为笔记文件(JSON/TXT)
✅ 支持关键词识别与智能分类
✅ 可扩展为搜索、TTS 播报、标签聚合等功能
✅ 模块概览(HarmonyOS 5+)
能力模块 | 模块名 | 是否支持 |
---|---|---|
语音识别(ASR) | @ohos.ai.asr | ✅ 是 |
文件写入 / 读取 | @ohos.file.fs | ✅ 是 |
本地存储(分类/索引) | JSON 文件 / SQLite / 存储服务 | ✅ 可选 |
🎯 应用结构示意
[语音输入] → [ASR 实时识别] → [文字结果]
↘
[关键词分类] → [写入文件]
📦 Step1:初始化语音识别模块
import asr from '@ohos.ai.asr'
let asrClient: asr.ASRClient
let noteText: string = ''
async function initASR() {
asrClient = await asr.createASRClient()
asrClient.on('recognitionResult', res => {
noteText += res.text
})
asrClient.on('error', err => {
console.error('识别错误:', err)
})
}
📦 Step2:开始 / 停止识别控制
async function startNote() {
noteText = ''
await asrClient.start({
language: 'zh',
audioFormat: asr.AudioFormat.PCM_16K
})
}
async function stopNote() {
await asrClient.stop()
return noteText
}
📦 Step3:关键词识别 + 自动分类(可扩展为 NLP)
function classifyNote(text: string): string {
const mapping = {
学习: '学习',
工作: '工作',
生活: '生活',
购物: '清单',
计划: '日程'
}
for (const key in mapping) {
if (text.includes(key)) return mapping[key]
}
return '未分类'
}
📦 Step4:写入本地文件(JSON 格式)
import fs from '@ohos.file.fs'
async function saveNoteToFile(content: string) {
const category = classifyNote(content)
const filename = `/data/user/notes/${category}_${Date.now()}.json`
const noteData = {
content,
time: new Date().toISOString(),
category
}
await fs.writeText(filename, JSON.stringify(noteData))
}
📦 Step5:简易组件 UI 示例
@Entry
@Component
struct VoiceNoteApp {
@State isRecording: boolean = false
@State resultText: string = ''
async toggle() {
if (!asrClient) await initASR()
if (!this.isRecording) {
await startNote()
} else {
const text = await stopNote()
this.resultText = text
await saveNoteToFile(text)
}
this.isRecording = !this.isRecording
}
build() {
Column({ space: 20 }) {
Button(this.isRecording ? '停止录音' : '开始录音')
.onClick(() => this.toggle())
Text('识别结果:').fontSize(18)
Text(this.resultText).fontSize(16).lineHeight(24)
}
.padding(20)
}
}
✅ 拓展功能建议
功能模块 | 建议做法 |
---|---|
笔记搜索 / 列表展示 | 本地读取 JSON 文件并分页渲染 |
TTS 播报 | 配合前文 TTS 模块实现文字转语音朗读 |
多标签聚合 | 增加关键词标签列表 + 按标签分类展示 |
离线语音识别模型接入 | 可接入自定义命令型语音模型作为识别前置 |
上传同步 / 云笔记系统 | 集成文件上传接口或云函数 API |
🧩 小结
你已完成构建一个本地 AI 驱动的语音笔记 App:
-
语音实时识别 + 文字回显
-
内容智能分类 + 文件保存
-
无需网络 + 可复用扩展能力强
-
可用于学生记忆、会议纪要、生活记录等场景
这是语音能力产品化落地的典范,也为后续“AI 助手/秘书/录音整理”等系统打下基础。
📘 下一篇预告
第11篇:拍照 + 识图 + 播报——构建视障辅助识别系统
我们将融合图像识别 + 语音合成模块,构建一个帮用户“看见并听见”的辅助工具:拍照后识别图片内容,并自动播报给用户听。