【语音转文本新体验】Windows部署Whisper Web结合内网穿透轻松远程转录——“cpolar内网穿透”

news2025/1/12 18:20:47

文章目录

    • 前言
    • 1.本地部署Whisper Web
      • 1.1 安装git
      • 1.2 安装Node.js
      • 1.3 运行项目
    • 2. Whisper Web使用介绍
    • 3. 安装Cpolar内网穿透
    • 4. 配置公网地址
    • 5. 公网访问测试
    • 6. 配置固定公网地址

前言

OpenAI开源的 Whisper 语音转文本模型效果都说还不错,今天就给大家推荐 GitHub 上一个开源项目 Whisper Web,允许你可直接在浏览器中运行使用 Whisper。

基于 ML 进行语音识别,并可通过 WebGPU 进行运行加速,无需后端服务器,直接开箱即用。另外,识别到的文本支持导出 TXT 和 JSON 两种文件格式。

而结合cpolar内网穿透工具使用,还能轻松实现远程访问本地Windows系统部署的Whisper Web进行语音转文本操作,无需公网IP,也不用设置路由器那么麻烦。

1.本地部署Whisper Web

接下来教大家如何在Windows系统本地安装Whisper Web

项目地址:https://github.com/xenova/whisper-web

1.1 安装git

首先需要从github上克隆Whisper Web(如果没有安装git的话,进入git官网进行下载windows版本 https://git-scm.com/downloads)

image-20240506142150939

打开终端,从github下载项目到本地,执行下面的命令:

git clone https://github.com/xenova/whisper-web.git

image-20240618144638825

创建新目录

cd whisper-web

1.2 安装Node.js

然后在项目的根目录下,执行下面的命令:

npm install

如果安装报错,可以检查是否安装Node.js,如未安装可以点击链接下载:

https://nodejs.org/en/download/prebuilt-installer

image-20240618150652378

本例中使用的是下载安装包进行安装,安装后重启终端执行上边npm安装命令即可。

image-20240618150827252

1.3 运行项目

在项目的根目录下,运行Whisper Web,可以看到运行成功,出现http://localhost:5173

npm run dev

image-20240618151254520

此时,我们在浏览器中输入上边的地址,即可打开Whisper Web页面:

image-20240618151407016

2. Whisper Web使用介绍

在Whisper Web界面,我们可以使用粘贴音频地址,上传音频文件,和使用手机录入语音等方式进行语音转文本的操作。

这里以上传音频文件为例,在上传了一段音频文件后,点击音频进度条下方的设置按钮,进行模型切换和输出为其他语言的选择。

24d3764fa1847145ffe3d5b57a8e6cd

设置完毕后,点击下方的transcribe Audio按钮即可自动进行音频转文本:

image-20240618165648974

55a7eb796afc48fcd756cc2b4dd9772

转换结束后,我们可以将文本导出为TXT或者JSON格式到指定文件夹。

fa30178d10efd4e40f6cac6c42b3d73

3. 安装Cpolar内网穿透

目前我们在本机部署了Whisper Web,但如果没有公网IP的话,只能在本地局域网环境使用,有一定局限性。如果想在异地通过其他设备使用的话,可以结合Cpolar内网穿透实现远程访问,免去了本地重新部署过程,只需要cpolar生成的公网地址直接就可以链接到Whisper Web中。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

点击进入cpolar官网,点击免费使用注册一个账号,并下载最新版本的Cpolar

img

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

image-20240319175308664

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

img

4. 配置公网地址

接下来配置一下本地 Whisper Web 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个 Whisper Web 的公网http地址隧道:

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:5173
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

image-20240618170627866

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,分别是http和https。

image-20240618170724707

使用任意一个上面Cpolar生成的公网地址,在电脑或任意设备在浏览器进行登录访问,即可成功看到 Whisper Web 界面,这样一个可以远程访问的公网地址就创建好了,使用了Cpolar的公网域名,无需自己购买云服务器,即可在公网访问本地部署的服务了!

5. 公网访问测试

我们用刚才cpolar生成的公网地址,打开一个新的浏览器复制粘贴,可以看到进入到了Whisper Web项目的管理界面。

image-20240618171040818

小结

由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果你有长期远程访问本地部署服务的需求,或者想把域名变成固定,好记的二级子域名,并且不想每次都重新创建隧道来访问你在本地部署的服务,我们可以选择创建一个固定的http地址来解决这个问题。

6. 配置固定公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

image-20240618171534993

保留成功后复制保留成功的二级子域名的名称:Whisper123(大家可以自定义)

image-20240618171630004

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

image-20240618171703608

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240618171745930

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

image-20240618171817884

最后,我们使用固定的公网地址在任何浏览器打开访问,可以看到成功访问 Whisper Web,这样一个固定且永久不变的公网地址就设置好了。

1718702394261

以上就是如何在Windows系统电脑本地部署语音转文本服务Whisper Web,并结合cpolar内网穿透工具实现远程访问使用的全部流程,另外由于该服务无需账号即可在浏览器直接访问,出于安全考虑,建议大家远程访问时不要轻易与他人分享地址,感谢您的观看,有任何问题欢迎留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2227169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解HTTPS协议原理

目录 加密 对称加密 非对称加密 中间人攻击 证书 验证证书合法性 HTTPS工作原理 常见问题 HTTPS即安全超文本传输协议,是互联网上进行安全通信的一种重要协议。它是在HTTP的基础上增加了安全性的要求,通过SSL或TLS协议对数据进行加密&#xff0c…

省、市、县夜间灯光数据大全(Excel+shp数据)(1992-2022年)

夜间灯光数据,作为一种遥感数据,能够为我们揭示夜晚地球的灯光和火光分布情况。这种数据不仅能够反映人类活动的空间分布,还能作为经济发展、社会进步和环境变化的一个量化指标。通过分析夜间灯光的亮度和分布,我们可以对一个地区…

Spring三级缓存解决循环依赖?构造方法的循环依赖问题解决(原理、详细过程、面试题)

目录 1.什么是循环依赖 2.Spring三级缓存介绍 3.二级缓存可以解决循环依赖吗? 3.1 二级缓存解决循环依赖过程详解 4. 为什么还需要三级缓存呢?/Spring三级缓存的作用? 4.1三级缓存解决循环依赖过程详解 4.2 为什么二级缓存就不能解决代…

如何在算家云搭建LongWriter(长文创作)

一、 LongWriter 简介 在自然语言处理领域,随着对长文本处理需求的不断增加,能够高效生成长文本的语言模型变得至关重要。LongWriter 的推出正是为了打破传统语言模型在生成超长文本时的限制。LongWriter-glm4-9b 是基于glm-4-9b进行训练的,…

centos7 zabbix监控nginx的pv和uv和status_code

zabbix监控nginx的pv: pv)cat /var/log/nginx/access.log|awk {print $1}|wc -l;;zabbix-get验证: [rootbogon ~]# zabbix_get -s 192.168.253.231 -k pv_uv[pv] 100zabbix监控nginx的uv uv)cat /var/log/nginx/access.log|awk {print $1}|uniq -c | w…

【Oracle实验】字段为空的,无法通过排除判断

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.场景描述 需求:查询不是某个机构的数据。 同事SQL:where substr(bank_code,1,9) not in(014009001); 看SQL似乎没什么问题,分析…

【SpringCloud】07-分布式事务与Seata

1. 分布式事务 2. Seata 3. 安装seata 配置数据库 CREATE DATABASE IF NOT EXISTS seata /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTIONN */; USE seata;------------------------------- The script used when storeM…

C++ | Leetcode C++题解之第517题超级洗衣机

题目&#xff1a; 题解&#xff1a; class Solution { public:int findMinMoves(vector<int> &machines) {int tot accumulate(machines.begin(), machines.end(), 0);int n machines.size();if (tot % n) {return -1;}int avg tot / n;int ans 0, sum 0;for (…

为什么架构设计禁止IP直连?

什么是IP直连&#xff1f; IP直连指应用程序直接在代码中硬编码IP地址&#xff0c;比如&#xff0c;连接mysql数据库的数据库链接&#xff0c;如下的定义方式&#xff0c;就属于IP直连。 这种写法在开发环境中很常见&#xff0c;但是&#xff0c;在正式生产环境中&#xff0c;…

算法的学习笔记—滑动窗口的最大值(牛客JZ59)

&#x1f600;前言 滑动窗口问题是常见的算法题型&#xff0c;主要考察如何在限定窗口内找到特定值&#xff0c;比如最大值、最小值等。在这篇文章中&#xff0c;我们将深入分析“滑动窗口的最大值”问题的求解方法&#xff0c;并提供一种实现思路&#xff0c;以帮助大家更好地…

惊人,合肥银泰的 LV 柜姐事件引发热议

安徽合肥银泰中心发生的这起“LV柜姐事件”引发了广泛关注。以下是该事件的详细情况&#xff1a;1. 事件起因&#xff1a;- 一名已婚男士到合肥银泰中心的LV专柜购物&#xff0c;因其年轻帅气且出手阔绰&#xff0c;LV柜姐添加了他的联系方式。之后&#xff0c;柜姐在明知男方有…

Python量化交易(五):量化择时策略

引言 大家好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年10月学习赛的Python量化交易学习总结文档。在现代金融市场中&#xff0c;量化择时策略已成为投资者追求超额收益的重要工具。本文将系统梳理量化…

电气安全隐患不容忽视

在现代生活中&#xff0c;电力如同血液般滋养着城市的每一个角落&#xff0c;然而&#xff0c;当这股能量失控时&#xff0c;它也能瞬间化身为吞噬生命的火焰。根据国家消防局的权威数据&#xff0c;电气火灾占所有火灾的28.4%&#xff0c;而其中6.5%的源头直指短路——这一看似…

单细胞数据分析(三):单细胞聚类分析

文章目录 介绍目的加载R包数据链接导入数据可视化聚类选择聚类分辨率值输出结果系统信息介绍 单细胞聚类分析是一种用于解析单细胞RNA测序(scRNA-seq)数据的方法,旨在将成千上万个单细胞根据它们的基因表达模式分组到不同的类别或“簇”中。每个簇代表了具有相似基因表达特…

auto占位符(C++11~C++17)

文章目录 1. 定义1.1 注意事项 2. 推导规则3. 返回类型推导(C14)4. lambda表达式中使用auto类型推导5. 非类型模板形参占位符&#xff08;C17&#xff09; 1. 定义 在C11以前&#xff0c;auto关键字是用来声明自动变量的。从C11起auto被用来&#xff1a;声明变量时根据初始化表…

推荐收藏!一款超好用的网盘资源搜索工具

抖知书老师推荐&#xff1a; 盘搜问世以来&#xff0c;以其简洁、实用的设计&#xff0c;迅速成为网民心中的网盘资源搜索利器。对于那些日常生活离不开网盘的用户来说&#xff0c;盘搜的存在让他们的资源查找变得更加便捷和高效。从影视资源到课程资料再到个人文件&#xff0…

opencv - py_imgproc - py_filtering filtering 过滤-卷积平滑

文章目录 平滑图像目标2D 卷积&#xff08;图像过滤&#xff09;图像模糊&#xff08;图像平滑&#xff09;1. 平均2. 高斯模糊3. 中值模糊4. 双边滤波 其他资源 平滑图像 目标 学习&#xff1a; 使用各种低通滤波器模糊图像将定制滤波器应用于图像&#xff08;2D 卷积&…

MT1401-MT1410 码题集 (c 语言详解)

目录 MT1401归并排序 MT1402堆排序 MT1403后3位排序 MT1404小大大小排序 MT1405小大大小排序II MT1406数字重排 MT1407插入 MT1408插入 MT1409旋转数组 MT1410逆时针旋转数组 MT1401归并排序 c 语言实现代码 #include <stdio.h>// merge two subarrays void merge(int a…

大数据日志处理框架ELK方案

介绍应用场景大数据ELK日志框架安装部署 一&#xff0c;介绍 大数据日志处理框架ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;是一套完整的日志集中处理方案&#xff0c;以下是对其的详细介绍&#xff1a; 一、Elasticsearch&#xff08;ES&#xff09; 基本…

PHP海外矿物矿机理财投资源码-金融理财投资源码

PHP海外矿物矿机理财投资源码/金融理财投资源码 海外矿物矿机理财投资源码 测试不错,可以做其他产品理财,功能都没啥太大问题