
简介
CSDN 博客专家,专注独立开发,如果你对独立开发感兴趣,可以关注我。
擅长的技术栈
可提供的服务
独立开发者社群,独立开发训练营
录音转写和文字朗读进入同一个应用以后,页面需要处理的事情会发生变化。用户可能刚开始识别就返回首页,也可能在等待引擎创建时再次点击按钮。声音服务各自完成自己的工作,界面却只有一处处理状态和结果区域。如果每个按钮独立更新这些位置,旧操作的完成消息就可能覆盖正在执行的新操作。会议笔记应用还需要分清声音从哪里来、文字要去哪里。麦克风识别接收正在发生的声音,文件转写读取已经存在的音频,文字播报则接收一段明确

应用直接朗读一段文字时,合成引擎可以接管播放。用户点击开始以后,页面等待开始与完成回调,就能更新按钮和提示。如果应用还要保存这段声音、稍后重新播放,或者检查生成音频的长度,只有播放状态就不够了。应用需要拿到真正的音频字节,并且知道这些字节应该按照什么格式解释。音频数据回调会陆续返回多块内容。一块数据到达,并不代表整段文字已经合成结束;几块数据的到达顺序,也可能受到异步通信影响。如果页面一收到字节就

一篇会议笔记需要连续听几分钟时,单独放一个播报按钮已经难以满足操作需要。用户可能希望暂停片刻、继续原来的内容,或者直接进入另一篇文章。如果应用自行拼装这些控制,就需要同时维护标题、文章列表、播放位置、面板显示与按钮状态,页面稍有切换,当前显示的文章也可能与正在播放的内容错开。场景化语音服务提供了文字朗读控件,应用可以把已有文章交给控件,由它组织朗读面板和播放交互。应用仍然拥有文章内容,并且需要为每

会议笔记已经整理成文字,用户离开屏幕以后,可能仍然希望听一遍已经确认的事项。应用可以提供一个播报按钮,把当前内容交给语音合成服务。但是,按钮点击成功与整段内容播放结束之间,还隔着引擎初始化、音色选择、合成和音频输出。页面如果在第一个完成回调出现时就恢复空闲,用户可能再次启动播报,让新的内容与尚未结束的声音互相影响。文本转语音服务负责把文字转换为声音,应用仍然需要选择音色、提交请求并管理页面状态。对

会议录音中出现应用名称时,转写页面可能得到一个读音相近的普通词。句子仍然通顺,用户却需要重新播放录音,才能确认讨论的是哪个产品。技术交流还会夹杂英文名称,识别结果中的大小写、空格和单词都有可能变化。如果应用直接把这些文字保存为会议笔记,后面的搜索也会受到影响,因为用户输入的产品名可能与转写文字对不上。给识别引擎传入热词,可以把业务中经常出现的名称加入识别配置。不过,配置进入接口以后,应用仍然需要比

会议声音超过一分钟以后,应用需要持续接收多段文字,用户也很难一直盯着页面确认任务有没有结束。说话人停顿几秒,可能只是切换话题;一段文字已经定稿,也可能还有后面的声音需要处理。如果页面沿用短录音的一次输入、一次结果的想法,就容易提前恢复按钮,或把已经返回的文字误当作整场录音的全部内容。长语音识别需要同时处理声音持续输入和识别结果分段返回。应用可以逐步显示已经确定的文字,但输入位置、当前子句和整个会话

已有会议声音保存在文件里时,应用可以反复使用同一份输入核对转写结果,也能避免每次说话的语速、距离和环境噪声改变测试条件。不过,手机能够播放一个文件,并不能保证识别引擎可以直接接收里面的所有字节。播放接口通常会读取容器、解码音频,再交给播放器;语音流输入则要求应用提供规定格式的原始采样数据。把整个文件直接送进去,会把这些处理职责混在一起。文件转写还需要处理时间。几秒钟的声音虽然可以很快读进内存,识别

Core Speech Kit 提供中文离线语音识别。应用负责申请录音权限、创建引擎、维护会话和展示文字,系统可以在实时录音模式下采集麦克风声音。

账号接入涉及小艺 Claw、华为账号服务器和业务服务,三者需要按实际凭据的传递顺序连接。

文字整理沿用已有规则,旧记录的检索和读取则由会议应用的只读 Agent 负责。









