Qwen3-ASR-0.6B快速上手:Chrome插件直连本地ASR服务实现网页语音转写
Qwen3-ASR-0.6B快速上手Chrome插件直连本地ASR服务实现网页语音转写1. 语音识别新选择Qwen3-ASR-0.6B简介语音识别技术正在改变我们与设备交互的方式而Qwen3-ASR-0.6B为这一领域带来了全新的选择。这个轻量级但功能强大的模型支持52种语言和方言的识别包括30种语言和22种中文方言甚至能识别不同国家和地区的英语口音。最令人印象深刻的是这个仅有0.6B参数的模型在精度和效率之间找到了完美平衡。在并发数为128时吞吐量可以达到惊人的2000倍这意味着它能够高效处理大量语音数据而不会占用过多计算资源。模型采用一体化设计既能处理流式推理实时识别也能进行离线推理处理已录制的音频还能转录长音频文件。无论你是需要实时语音转文字还是批量处理录音文件这个模型都能胜任。2. 环境准备与快速部署2.1 系统要求与依赖安装在开始之前确保你的系统满足以下基本要求Python 3.8或更高版本至少4GB可用内存推荐8GB稳定的网络连接用于下载模型安装必要的依赖包pip install transformers qwen3-asr gradio torch如果你的系统有GPU建议安装CUDA版本的PyTorch以获得更好的性能pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu1182.2 模型快速部署部署Qwen3-ASR-0.6B非常简单只需要几行代码就能启动一个完整的语音识别服务from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor import torch # 加载模型和处理器 model_id Qwen/Qwen3-ASR-0.6B model AutoModelForSpeechSeq2Seq.from_pretrained( model_id, torch_dtypetorch.float16, device_mapauto ) processor AutoProcessor.from_pretrained(model_id)这段代码会自动下载模型权重并配置好推理环境。首次运行时会下载约2.4GB的模型文件请确保有足够的磁盘空间和稳定的网络连接。3. 创建Gradio语音识别界面3.1 构建Web界面Gradio让我们能够快速创建一个用户友好的语音识别界面import gradio as gr from transformers import pipeline import numpy as np # 创建语音识别管道 asr_pipeline pipeline( automatic-speech-recognition, modelmodel, tokenizerprocessor.tokenizer, feature_extractorprocessor.feature_extractor, device0 if torch.cuda.is_available() else -1 ) def transcribe_audio(audio): # 处理上传的音频文件 if audio is None: return 请录制或上传音频文件 # 进行语音识别 result asr_pipeline(audio) return result[text] # 创建Gradio界面 interface gr.Interface( fntranscribe_audio, inputsgr.Audio(sources[microphone, upload], typefilepath), outputstext, titleQwen3-ASR-0.6B 语音识别, description录制语音或上传音频文件进行实时转写 ) # 启动服务 interface.launch(server_name0.0.0.0, server_port7860)3.2 界面功能说明启动后的Gradio界面提供两种输入方式实时录音点击麦克风图标直接录制语音文件上传上传已有的音频文件支持mp3、wav等常见格式识别完成后转写文本会立即显示在结果区域。界面设计简洁直观即使没有技术背景的用户也能轻松使用。4. Chrome插件开发连接本地ASR服务4.1 插件基础结构创建一个Chrome扩展来捕获网页中的音频并发送到本地ASR服务创建manifest.json文件{ manifest_version: 3, name: 网页语音转写助手, version: 1.0, description: 使用Qwen3-ASR-0.6B实现网页语音转写, permissions: [activeTab, scripting], action: { default_popup: popup.html, default_icon: { 16: icon16.png, 48: icon48.png, 128: icon128.png } }, content_scripts: [ { matches: [all_urls], js: [contentScript.js] } ] }4.2 实现音频捕获功能创建contentScript.js文件处理网页音频class AudioRecorder { constructor() { this.mediaRecorder null; this.audioChunks []; this.isRecording false; } // 开始录制 async startRecording() { try { const stream await navigator.mediaDevices.getUserMedia({ audio: { channelCount: 1, sampleRate: 16000, sampleSize: 16 } }); this.mediaRecorder new MediaRecorder(stream); this.audioChunks []; this.mediaRecorder.ondataavailable (event) { this.audioChunks.push(event.data); }; this.mediaRecorder.start(); this.isRecording true; } catch (error) { console.error(录音权限获取失败:, error); } } // 停止录制并发送到ASR服务 async stopRecording() { return new Promise((resolve) { this.mediaRecorder.onstop async () { const audioBlob new Blob(this.audioChunks, { type: audio/wav }); // 发送到本地ASR服务 const text await this.sendToASRService(audioBlob); resolve(text); }; this.mediaRecorder.stop(); this.isRecording false; }); } // 发送音频到本地ASR服务 async sendToASRService(audioBlob) { const formData new FormData(); formData.append(audio, audioBlob, recording.wav); try { const response await fetch(http://localhost:7860/api/transcribe, { method: POST, body: formData }); const result await response.json(); return result.text; } catch (error) { console.error(ASR服务调用失败:, error); return 识别失败请检查服务是否启动; } } } // 创建全局录音器实例 window.audioRecorder new AudioRecorder();4.3 添加弹出界面创建popup.html提供用户控制界面!DOCTYPE html html head style body { width: 300px; padding: 15px; } .btn { padding: 10px 15px; margin: 5px; border: none; border-radius: 5px; cursor: pointer; } .record-btn { background: #ff4757; color: white; } .stop-btn { background: #2ed573; color: white; } #result { margin-top: 10px; padding: 10px; border: 1px solid #ddd; } /style /head body h3网页语音转写/h3 button idrecordBtn classbtn record-btn开始录音/button button idstopBtn classbtn stop-btn disabled停止并转写/button div idresult准备就绪.../div script srcpopup.js/script /body /html创建popup.js处理用户交互document.getElementById(recordBtn).addEventListener(click, async () { try { await chrome.tabs.query({ active: true, currentWindow: true }, (tabs) { chrome.scripting.executeScript({ target: { tabId: tabs[0].id }, function: startRecording }); }); document.getElementById(recordBtn).disabled true; document.getElementById(stopBtn).disabled false; document.getElementById(result).textContent 录音中...; } catch (error) { console.error(录音启动失败:, error); } }); document.getElementById(stopBtn).addEventListener(click, async () { try { const tabs await chrome.tabs.query({ active: true, currentWindow: true }); const result await chrome.scripting.executeScript({ target: { tabId: tabs[0].id }, function: stopRecording }); document.getElementById(result).textContent result[0].result || 无识别结果; document.getElementById(recordBtn).disabled false; document.getElementById(stopBtn).disabled true; } catch (error) { console.error(录音停止失败:, error); } }); // 注入到页面的函数 function startRecording() { if (window.audioRecorder) { window.audioRecorder.startRecording(); } } async function stopRecording() { if (window.audioRecorder window.audioRecorder.isRecording) { return await window.audioRecorder.stopRecording(); } return 未检测到录音; }5. 完整工作流程与使用技巧5.1 系统启动流程要让整个系统正常工作需要按照以下顺序启动启动ASR服务首先运行Python脚本启动Gradio服务加载Chrome插件在Chrome中加载未打包的扩展程序开始使用在任意网页点击插件图标开始录音转写确保ASR服务在http://localhost:7860正常运行这是Chrome插件连接的目标地址。5.2 优化识别效果为了提高语音识别的准确性可以注意以下几点清晰的录音环境尽量在安静的环境下录音减少背景噪音适当的麦克风距离保持麦克风与嘴部15-20厘米的距离正常的语速以正常 conversational 语速说话不要过快或过慢浏览器权限确保浏览器有麦克风使用权限5.3 处理常见问题在使用过程中可能会遇到的一些问题及解决方法服务连接失败检查ASR服务是否正常启动端口7860是否被占用录音权限问题确保浏览器有麦克风使用权限检查系统音频设置识别结果不准确尝试重新录音确保录音环境安静语速正常6. 实际应用场景这个语音转写系统可以在多种场景下发挥作用在线会议记录在视频会议期间实时记录讨论内容学习笔记制作录制讲座或课程内容自动转写成文字笔记内容创作辅助语音输入代替打字提高内容创作效率无障碍访问为听力障碍用户提供语音转文字功能系统的优势在于完全本地运行保护隐私的同时提供高质量的语音识别服务。7. 总结通过Qwen3-ASR-0.6B模型、Gradio Web界面和Chrome插件的组合我们实现了一个完整的网页语音转写解决方案。这个方案有以下几个显著优点隐私保护所有语音处理都在本地完成不会上传到云端多语言支持支持52种语言和方言满足多样化需求易于使用简单的界面设计用户无需技术背景即可使用实时性能流式处理能力支持实时语音转写无论是个人使用还是集成到更大的应用中这个方案都提供了一个强大而灵活的语音识别基础。随着模型的不断优化和硬件的提升本地语音识别的效果将会越来越好为更多应用场景提供可能。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关新闻

万物识别镜像在Ubuntu20.04环境下的深度学习开发全流程

万物识别镜像在Ubuntu20.04环境下的深度学习开发全流程

万物识别镜像在Ubuntu20.04环境下的深度学习开发全流程 1. 引言 如果你正在寻找一个能够识别几乎所有日常物体的视觉AI模型,阿里开源的"万物识别-中文-通用领域"镜像绝对值得一试。这个模型不需要预设类别标签,就能直接用中文告诉你图片里有…

2026/5/17 5:06:11 阅读更多 →
GPEN实际业务应用:智能相册App的自动修复模块设计

GPEN实际业务应用:智能相册App的自动修复模块设计

GPEN实际业务应用:智能相册App的自动修复模块设计 1. 项目背景与需求 在智能手机普及的今天,每个人手机里都存着成百上千张照片。但翻看老照片时,经常会遇到各种问题:多年前的低像素自拍、光线不足的模糊合影、AI生成的人物脸部…

2026/5/17 5:06:11 阅读更多 →
论文写不动?AI论文写作软件 千笔写作工具 VS 知文AI,专科生专属神器!

论文写不动?AI论文写作软件 千笔写作工具 VS 知文AI,专科生专属神器!

随着人工智能技术的迅猛迭代与普及,AI辅助写作工具已逐步渗透到高校学术写作场景中,成为专科生、本科生、研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生,开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时…

2026/5/17 5:06:10 阅读更多 →

最新新闻

oyunfor土区礼品卡购买教程及踩坑记录

oyunfor土区礼品卡购买教程及踩坑记录

前置条件🔮我用的美丽国 chorme浏览器(edge没成功) 可安装翻译插件 招商银行万事达(研究生优选) 网络连接设置 属性里取消勾选ipv6协议(买好再改回来)1.注册账号需🔮 用的QQ邮箱,Gmail邮箱收不到验证码 其他信息正常填写,号码862.…

2026/7/5 15:10:30 阅读更多 →
教师资格证认定

教师资格证认定

前言 认定是获取教师资格证的第三个环节,也是最后一个环节。认定通过之后,即可取得教师资格证。 认定时间和认定条件 认定时间 每年的教师资格认定工作有上半年和下半年两个批次。不同于笔试和面试,教师资格证认定的时间并非全国统一。认定的…

2026/7/5 15:10:29 阅读更多 →
NTP算法实现客户端与服务器时间同步

NTP算法实现客户端与服务器时间同步

基于四时间戳(T1~T4)的NTP级时间同步机制:通过分离 Client→Server 与 Server→Client 传输时间计算延迟时间,通过记录请求发送(T1)、服务端接收(T2)/回复(T3)、客户端接收(T4)四个时间戳,利用对称消除公式 Offset (T…

2026/7/5 15:10:29 阅读更多 →
新e选烤火罩异味[主里料] GB 18401—2010 6.7 判定符合检测标准与测试条件

新e选烤火罩异味[主里料] GB 18401—2010 6.7 判定符合检测标准与测试条件

国标要求:纺织品无异味;恒温密闭环境专业嗅辨。实测结果内里衬料无任何化工、塑胶、胶水异味,嗅辨合格。家用实用优势部分烤火罩外层做除味处理,但内里廉价衬布残留浓烈胶水味,高温烘烤后异味从内部散发。新e选烤火罩里…

2026/7/5 15:08:29 阅读更多 →
STM32与EEPROM数据存储可靠性设计与优化实践

STM32与EEPROM数据存储可靠性设计与优化实践

1. 项目背景与核心需求在嵌入式系统开发中,数据存储的可靠性往往决定了整个系统的稳定性。我最近为一个工业传感器网络项目设计数据存储方案时,深刻体会到选择合适存储器件的重要性。这个网络需要持续记录环境参数,并在断电后仍能保存关键数据…

2026/7/5 15:06:29 阅读更多 →
如何用ConvertToUTF8解决Sublime Text中文乱码:3步快速上手指南

如何用ConvertToUTF8解决Sublime Text中文乱码:3步快速上手指南

如何用ConvertToUTF8解决Sublime Text中文乱码:3步快速上手指南 【免费下载链接】ConvertToUTF8 A Sublime Text 2 & 3 plugin for editing and saving files encoded in GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS, etc. 项目地址: https://gitcode.com/gh_mirro…

2026/7/5 15:02:28 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻