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');
}

posted @ 2024-11-04 14:06  zt123123  阅读(4)  评论(0编辑  收藏  举报