Tianyi's Blog Tianyi's Blog
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)

Tianyi

一直向前,永不停止
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)
  • ToDay逛
  • 博客推荐
  • 导航页
  • 有趣的GitHub
    • 工具箱-IT
      • 开源的在线工具箱程序
    • 文件传输工具
      • CapsWriter-Offline 电脑端离线语音输入工具
      • 更多
  • 为什么写博客
  • 快速访问页
tianyi
2023-10-23
目录

有趣的GitHub

# 工具箱-IT

# 开源的在线工具箱程序

  • RuanCang (opens new window):专业软件免费下载。

官网:https://ruancang.net/

ToolsIT Tools 地址1:https://github.com/CorentinTh/it-tools 地址2:https://it-tools.tech/

傲星工具箱 地址1:https://github.com/aoaostar/toolbox 地址2:https://tool.aoaostar.com/

ITDOG 地址:https://www.itdog.cn/

# 文件传输工具

闪电藤 (https://lightningvine.zishu.life/)

局域网文件传输工具,基于 LocalSend 开发,无需联网,不限文件大小,不限设备数量,免登陆,全平台支持。

性能监控、测试等:

  • 图吧:https://www.tbtool.cn/ (opens new window)
  • 游戏加加:https://gamepp.com/download.html

# CapsWriter-Offline 电脑端离线语音输入工具

更新了 CapsWriter-Offline ,加入了无限时长的语音输入、文件字幕转录功能。2024年1月10日

运行后,只要按下键盘上的 大写锁定键,就会开始录音,当你松开 大写锁定键 时,就会识别你的录音,并将识别结果立刻输入。

  1. 项目开源地址 (opens new window)
  2. GitHub Releases Page (opens new window)
1. 闪退怎么办:首先,确保电脑安装了C++运行时库;其次,确保电脑设置 隐私 麦克风 允许桌面应用访问你的麦克风
2. 游戏里用不了:首先,确保以管理员身份启动;其次,可以尝试把 config.py 中的 paste = True 改为 paste = False 
3. 转字幕不成功:可以尝试到 Github 更新 util/srt_from_txt.py 文件
4. 老旧电脑运行太慢:尝试把 config.py 中的 num_threads = 6 改为 num_threads = 1 或 num_threads = 2
5. 关于内存占用:Windows 服务端启动后,常驻内存部分约为 300MB
6. 识别结果总是「对,嗯,没有」:检查麦克风是否正常
7. 按键没反应:杀软阻止了,检查杀软,尤其是 360
8. 能不能自启动:在资源管理器地址栏中输入 shell:start 回车,将快捷方式放进去
9. 能不能隐藏前台:不能。但你可以把它放到一个虚拟桌面里,这样也不碍眼
10. 能不能支持中英以外的其它语言:两年内无望
1
2
3
4
5
6
7
8
9
10

# 更多

Windows 隐藏黑窗口启动,见 #49,将下述内容保存为 vbs 运行:

CreateObject("Wscript.Shell").Run "start_server.exe",0,True CreateObject("Wscript.Shell").Run "start_client.exe",0,True

  1. 不保存录音
  2. 多音字
config.py
from collections.abc import Iterable
from pathlib import Path


# 服务端配置
class ServerConfig:
    addr = '0.0.0.0'
    port = '6016'

    format_num = True  # 输出时是否将中文数字转为阿拉伯数字
    format_punc = True  # 输出时是否启用标点符号引擎
    format_spell = True  # 输出时是否调整中英之间的空格


# 客户端配置
class ClientConfig:
    addr = '127.0.0.1'          # Server 地址
    port = '6016'               # Server 端口

    shortcut     = 'caps lock'  # 控制录音的快捷键,默认是 CapsLock
    hold_mode    = True         # 长按模式,按下录音,松开停止,像对讲机一样用。
                                # 改为 False,则关闭长按模式,也就是单击模式
                                #       即:单击录音,再次单击停止
                                #       且:长按会执行原本的单击功能
    suppress     = False        # 是否阻塞按键事件(让其它程序收不到这个按键消息)
    restore_key  = True         # 录音完成,松开按键后,是否自动再按一遍,以恢复 CapsLock 或 Shift 等按键之前的状态
    threshold    = 0.2          # 按下快捷键后,触发语音识别的时间阈值
    paste        = True         # 是否以写入剪切板然后模拟 Ctrl-V 粘贴的方式输出结果
    restore_clip = True         # 模拟粘贴后是否恢复剪贴板

    save_audio = False           # 是否保存录音文件
    audio_name_len = 20         # 将录音识别结果的前多少个字存储到录音文件名中,建议不要超过200

    trash_punc = ',。,.'        # 识别结果要消除的末尾标点

    hot_zh = True               # 是否启用中文热词替换,中文热词存储在 hot_zh.txt 文件里
    多音字 = True                  # True 表示多音字匹配
    声调  = True                 # False 表示忽略声调区别,这样「黄章」就能匹配「慌张」

    hot_en   = True             # 是否启用英文热词替换,英文热词存储在 hot_en.txt 文件里
    hot_rule = True             # 是否启用自定义规则替换,自定义规则存储在 hot_rule.txt 文件里
    hot_kwd  = True             # 是否启用关键词日记功能,自定义关键词存储在 keyword.txt 文件里

    mic_seg_duration = 15           # 麦克风听写时分段长度:15秒
    mic_seg_overlap = 2             # 麦克风听写时分段重叠:2秒

    file_seg_duration = 25           # 转录文件时分段长度
    file_seg_overlap = 2             # 转录文件时分段重叠


class ModelPaths:
    model_dir = Path() / 'models'
    paraformer_path = Path() / 'models' / 'paraformer-offline-zh' / 'model.int8.onnx'
    tokens_path = Path() / 'models' / 'paraformer-offline-zh' / 'tokens.txt'
    punc_model_dir = Path() / 'models' / 'punc_ct-transformer_cn-en'


class ParaformerArgs:
    paraformer = f'{ModelPaths.paraformer_path}'
    tokens = f'{ModelPaths.tokens_path}'
    num_threads = 6
    sample_rate = 16000
    feature_dim = 80
    decoding_method = 'greedy_search'
    debug = False
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
完善页面 (opens new window)
导航页
为什么写博客

← 导航页 为什么写博客→

最近更新
01
JDK
02-23
02
BadTasteCode && 优化
09-11
03
Gradle 实践操作指南及最佳实践
09-11
更多文章>
Theme by Vdoing | Copyright © 2021-2025 Tandy | 粤ICP备2023113440号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式