chrome语音文本互转
随着浏览器技术发展,chrome越来越强大。可以实现越来越多的系统级功能,例如:文件操作、剪切板、支付、NFC、通知、WASM、XR(VR、AR)、串口、蓝牙、语音合成、AI等(可参考FUGU项目)
在以前想要实现语音文本互转功能,基本都是接入第三方服务(例如讯飞、百度等)。这种方式优点是,提供各种定制化的服务,能够满足大部分需求。缺点是:需要高额的费用。如果没有个性化的需求,现在完全可以借助浏览器自带的API来实现,优点是接入简单,无需花钱。缺点就是:功能有限,满足不了个性化需求。
文本转语音
// 检查浏览器是否支持Speech Synthesis if ('speechSynthesis' in window) { const text = '你好,欢迎使用文字转语音功能!'; // 要合成的文本 const utterance = new SpeechSynthesisUtterance(text); // 创建一个语音合成实例 // 设置语言和其他属性 utterance.lang = 'zh-CN'; // 设置语言为中文 utterance.rate = 1; // 语速(0.1到10) utterance.pitch = 1; // 音调(0到2) // 开始合成并播放 speechSynthesis.speak(utterance); } else { console.error('该浏览器不支持Speech Synthesis API'); } |
语音转文本
// 检查浏览器是否支持 const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; if (SpeechRecognition) { const recognition = new SpeechRecognition(); recognition.lang = 'zh-CN'; // 设置语言为中文 recognition.interimResults = false; // 是否返回中间结果 // 识别成功的回调 recognition.onresult = (event) => { const transcript = event.results[0][0].transcript; // 获取识别结果 console.log('识别结果:', transcript); }; // 识别错误的回调 recognition.onerror = (event) => { console.error('识别错误:', event.error); }; // 开始识别 recognition.start(); } else { console.error('该浏览器不支持Web Speech API'); } |