超好用的PC端语音转文字工具CapsWriter-Offline结合内网穿透实现远程使用
文章目录
- 前言
- 1. 软件与模型下载
- 2. 本地使用测试
- 3. 异地远程使用
- 3.1 内网穿透工具下载安装
- 3.2 配置公网地址
- 3.3 修改config文件
- 3.4 异地远程访问服务端
 
- 4. 配置固定公网地址
- 4.1 修改config文件
 
- 5. 固定tcp公网地址远程访问服务端
 
前言
本文主要介绍如何在Windows系统电脑端使用这款超好用的PC端语音转文字工具CapsWriter-Offline,并结合cpolar内网穿透轻松实现使用客户端异地远程访问本地服务端使用语音转文字功能。
如今,语音转文字技术已经与我们日常生活和工作息息相关了,比如整理会议录音纪要,日常使用聊天软件时通过说话来输出文字等等。现在电脑端的语音转文字软件很多,今天要分享的这款CapsWriter-Offline在github已经收获了2K多星,它的特点是完全离线,支持无限时长,连标点符号的准确率都非常高。
虽然它使用的模型有些大,但它还具有服务端、客户端分离的特性,客户端可以通过连接到局域网内其它机器上正在运行的服务端使用。这种情况下,我们可以使用内网穿透工具轻松实现在其他电脑上通过很小的客户端异地远程连接本地运行的服务端进行语音转文字工作。

1. 软件与模型下载
本例演示环境为Windows11,另外需要准备一个麦克风。
首先,我们需要下载CapsWriter-Offline的64位版本,可以使用服务端、客户端。然后需要下载models.zip模型文件。
下载地址:Releases · HaujetZhao/CapsWriter-Offline (github.com)

将软件和模型下载好后进行解压,然后将解压好的模型文件夹models复制到解压好的CapsWriter-Offline的文件夹中并替换原有的同名文件夹。

2. 本地使用测试
现在我们首先双击打开服务端(start_server),会弹出窗口对模型进行加载,加载完成后会提示开始服务:

这时我们在双击打开客户端(start_client),会弹出窗口连接服务端并检测音频输入设备:

显示连接成功即可开始使用了。
软件在Windows系统中默认使用大小写切换键caps lock进行语音输入(可以在配置文件中进行修改),一直按住说话,松手即可识别语音并在聊天软件对话窗口等界面进行输出:

可以看到对语音的识别非常准确,连标点符号也是。
除了支持无限时长语音的转写,作者在更新后,软件现在还支持文件转录字幕。即在客户端可以转写音视频文件为 srt 字幕了,只需将音视频文件拖动到客户端 exe 上打开即可。大家感兴趣的话,可以自行尝试。
3. 异地远程使用
此时,我们已经可以在本地的Windows系统电脑中使用CapsWriter-Offline进行语音转文字了,但也仅能在本地局域网中的设备上使用,如果想在异地也能远程使用在本地部署的工具应该怎么办呢?
很简单,只要在本地电脑上安装一个cpolar内网穿透工具就能轻松实现公网环境远程访问内网部署的服务了,无需公网IP,也不用设置路由器那么麻烦,接下来就介绍一下如何安装cpolar内网穿透!
3.1 内网穿透工具下载安装
安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。

3.2 配置公网地址
接下来配置一下修改CapsWriter-Offline客户端文件需要用到的公网地址,
登录后,点击左侧仪表盘的隧道管理——创建隧道,
创建一个 CapsWriter-Offline 的公网TCP地址隧道
- 隧道名称:可自定义命名,本例中使用123
- 协议:选择tcp
- 本地地址:6016
- 端口类型:选择随机临时TCP端口
- 地区:选择China VIP
点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,可以看到生成了tcp公网地址,复制即可。

3.3 修改config文件
现在我们可以在异地使用另一台Windows系统电脑,下载好CapsWriter-Offline软件(无需下载模型文件)。
进入CapsWriter-Offline文件夹,使用vscode打开config文件对客户端配置进行修改:

我们需要对客户端配置中的地址和端口进行修改,使用刚才cpolar生成的公网地址7.tcp.vip.cpolar.cn替换127.0.0.1,使用公网地址后的端口10906替换6016,保存文件即可。


3.4 异地远程访问服务端
在本地电脑服务端(start_server)运行的前提下,现在使用这台异地电脑双击打开客户端(start_client),可以看到通过使用cpolar生成的公网地址异地也能远程访问本地服务端,使用它进行语音转文字啦!

小结
如果我们需要经常异地远程访问本地配置的服务,由于刚才创建的是随机的公网地址,24小时会发生变化。可以把地址设置成固定的TCP地址,不仅能够享受更多功能和更快的带宽,而且不用每次都重新创建隧道来访问,下面演示一下如何创建一个固定的tcp公网地址来解决这个问题。
4. 配置固定公网地址
我们接下来为CapsWriter-Offline配置固定的TCP公网地址,该地址不会变化,方便查看且无需每天重复修改访问地址。
配置固定TCP地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网,点击左侧的预留,选择保留的TCP地址,地区选择China VIP,填写一个备注(自己能记住就行)点击保留

保留成功后复制这个tcp地址:

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:123,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 端口类型:选择固定TCP端口
- 预留的TCP地址:填写刚才保留成功的tcp地址:3.tcp.vip.cpolar.cn:12635
点击更新(注意,点击一次更新即可,不需要重复提交)

4.1 修改config文件
然后我们需要再次对客户端配置中的地址和端口进行修改,使用刚才配置的固定tcp公网地址3.tcp.vip.cpolar.cn替换7.tcp.vip.cpolar.cn,使用固定公网地址后的端口12635替换10906,保存文件即可。

5. 固定tcp公网地址远程访问服务端
同样在本地电脑服务端(start_server)运行的前提下,现在使用这台异地电脑双击打开客户端(start_client),现在就可以通过使用cpolar配置的固定tcp公网地址远程访问本地服务端使用它进行语音转文字啦!不用每天修改公网地址,也能获得更快的访问速度。

 以上就是如何在Windows系统电脑本地使用PC端语音转文字工具CapsWriter-Offline,并结合cpolar内网穿透工具实现远程访问与使用的全部流程,如果你也有远程访问本地部署的服务或远程连接测试的需求,可以体验一下cpolar的简单与快捷。感谢您的观看,有任何问题欢迎留言交流。
相关文章:
 
超好用的PC端语音转文字工具CapsWriter-Offline结合内网穿透实现远程使用
文章目录 前言1. 软件与模型下载2. 本地使用测试3. 异地远程使用3.1 内网穿透工具下载安装3.2 配置公网地址3.3 修改config文件3.4 异地远程访问服务端 4. 配置固定公网地址4.1 修改config文件 5. 固定tcp公网地址远程访问服务端 前言 本文主要介绍如何在Windows系统电脑端使用…...
 
1、https的全过程
目录 一、概述二、SSL过程如何获取会话秘钥1、首先认识几个概念:2、没有CA机构的SSL过程:3、没有CA机构下的安全问题4、有CA机构下的SSL过程 一、概述 https是非对称加密和对称加密的过程,首先建立https链接需要经过两轮握手: T…...
 
抢鲜体验 PolarDB PG 15 开源版
unsetunsetPolarDB 商业版unsetunset 8 月,PolarDB PostgreSQL 版兼容 PostgreSQL 15 版本(商业版)正式发布上线。 当前版本主要增强优化了以下方面: 改进排序功能:改进内存和磁盘排序算法。 增强SQL功能:支…...
UEFI——使用标准C库
一、C标准库 C标准库是ANSL C标准为C语言定义的标准库。C标准库包含15个头文件:assert.h ctype.h error.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h。标准库函数与C语言的紧密结合给我们开发程序带…...
 
[全网首发]怎么让国行版iPhone使用苹果Apple Intelligence
全文共分为两个部分:第一让苹果手机接入AI,第二是让苹果手机接入ChatGPT 4o功能。 一、国行版iPhone开通 Apple Intelligence教程 打破限制:让国行版苹果手机也能接入AI 此次发布会上,虽然国行 iPhone16 系列不支持 GPT-4o&…...
 
C语言-综合案例:通讯录
传送门:C语言-第九章-加餐:文件位置指示器与二进制读写 目录 第一节:思路整理 第二节:代码编写 2-1.通讯录初始化 2-2.功能选择 2-3.增加 和 扩容 2-4.查看 2-5.查找 2-6.删除 2-7.修改 2-8.退出 第三节:测试 下期…...
XWiki中添加 html 二次编辑失效
如果直接在 XWiki 中添加 html, 例如 修改颜色, 新窗口打开主页面等功能, 首次保存是生效的. 如果再次编辑, 则失效, 原因是被转换成了 Markdown 的代码, 而 Markdown 不支持. 解决这个问题可以使用 HTML 宏. 在 XWiki 中使用 Markdown 1.2 语法时,默认 Markdown …...
 
外贸|基于Java+vue的智慧外贸平台系统(源码+数据库+文档)
外贸|智慧外贸平台|外贸服务系统 目录 基于Javavue的智慧外贸平台系统 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&…...
 
Elasticsearch:无状态世界中的数据安全
作者:来自 Elastic Henning Andersen 在最近的博客文章中,我们宣布了支持 Elastic Cloud Serverless 产品的无状态架构。通过将持久性保证和复制卸载到对象存储(例如 Amazon S3),我们获得了许多优势和简化。 从历史上…...
 
动手学习RAG:迟交互模型colbert微调实践 bge-m3
动手学习RAG: 向量模型动手学习RAG: BGE向量模型微调实践]()动手学习RAG: BCEmbedding 向量模型 微调实践]()BCE ranking 微调实践]()GTE向量与排序模型 微调实践]()模型微调中的模型序列长度]()相似度与温度系数 本文我们来进行ColBERT模型的实践,按惯例ÿ…...
 
springboot 整合quartz定时任务
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pom的配置1.加注解 二、使用方法1.工程图2.创建工具类 三、controller 实现 前言 提示:这里可以添加本文要记录的大概内容: 提示&a…...
 
erlang学习: Mnesia Erlang数据库3
Mnesia数据库删除实现和事务处理 -module(test_mnesia). -include_lib("stdlib/include/qlc.hrl").-record(shop, {item, quantity, cost}). %% API -export([insert/3, select/0, select/1, delete/1, transaction/1,start/0, do_this_once/0]). start() ->mnes…...
 
善于善行——贵金属回收
在当今社会,贵金属回收已成为一项日益重要的产业。随 着科技的不断进步和人们对资源可持续利用的认识逐渐提高,贵金属回收的现状也备受关注。 目前,贵金属回收市场呈现出蓬勃发展的态势。一方面,贵金属如金、银、铂、钯等在众多领…...
 
用CSS 方式设置 table 样式
在现代Web开发中,使用CSS来设置table的样式是一种常见且强大的方法,它能让你的表格数据既美观又易于阅读。下面我将通过一个示例来展示如何使用现代CSS技巧来美化表格。 效果图 HTML 结构 首先,我们定义一个基本的HTML表格结构:…...
Elasticsearch7.x 集群迁移文档
一、集群样例信息 集群名称:escluster-ali-test 1、源集群:(source_cluster) 节点IP节点名称节点角色是否为master节点10.200.112.149es2.gj1.china-job.cndata,master是10.200.112.151es1.gj1.china-job.cndata,master否10.200.112.153es…...
 
高空抛物检测算法的应用场景解析
高空抛物事件频发,对公众安全构成严重威胁。无论是居民区还是商业中心,从高层建筑中丢弃物品都可能导致人员伤亡和财产损失。传统的监控手段多以事后追溯为主,无法在事发时及时预警和干预。为应对这一难题,视觉分析技术的发展为高…...
Leetcode 无重复字符的最长子串
算法思想: 滑动窗口:通过 start 和 end 来维护一个滑动窗口,start 指向当前窗口的起点,end 是当前窗口的末尾。滑动窗口中的字符都是无重复的。哈希表 charIndexMap:用于存储每个字符及其最近一次出现的位置。更新起始…...
 
用命令行的方式启动.netcore webapi
用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为: dotnet 项目启动文件.dll --urls"ht…...
 
Spring6详细学习笔记(IOC+AOP)
一、Spring系统架构介绍 1.1、定义 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。Spring官网 Spring是一款主流的Java EE 轻量级开源框架,目的是用于简化Java企业级引用的开发难度和开发周期。从简单性、可测试性和松耦…...
@RequestMapping 基于哪个库进行通信
RequestMapping 是 Spring Framework 中用于处理 HTTP 请求的注解,主要用于定义控制器方法的请求映射。它并不直接基于某个特定的通信库,而是依赖于 Spring MVC 框架的核心功能。 1. Spring MVC RequestMapping 是 Spring MVC 的一部分,Spr…...
 
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
 
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
 
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
 
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
 
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
 
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
