H1DDENADM1N / CapsWriter-Offline

Windows端 离线语音输入、中译英、字幕转录;在线多译多、云剪贴板
93 stars 2 forks source link

没有声音 #8

Closed Lanmaolz closed 7 months ago

Lanmaolz commented 7 months ago

我使用了你发布的最新版,但按大小写录不进声音,他并没有起反应,我听了音频文件也是没有声音. 我测试了麦克风但麦克风并没有异常. 我还换成了原项目进行测试发现并没有异常. 请问你对新版本又做出了什么修改?导致他录不进声音

H1DDENADM1N commented 7 months ago

可能是 支持 减小音频文件体积 这项更改导致的。我在原版的ffmpeg指令基础上增加了分贝滤波滤镜

'-af', 'silenceremove=start_periods=1:start_duration=0.1:start_threshold=-55dB:detection=peak',

如果您的音频信号本身就很安静,-55dB 这个阈值可能会误判。

这条命令行的具体含义如下:

    -af:这是FFmpeg的音频过滤器选项,用于指定要应用的音频过滤器。
    silenceremove=start_periods=1:start_duration=0.1:start_threshold=-55dB:detection=peak:这是指定要应用的音频过滤器的参数。它告诉FFmpeg移除音频文件中的静默部分。
        start_periods=1:表示在检测到静默之前至少需要有一个非静默周期。
        start_duration=0.1:表示静默的持续时间必须至少为0.1秒。
        start_threshold=-55dB:表示静默的音量阈值,即低于-55dB的声音被视为静默。
        detection=peak:表示使用峰值检测方法来检测静默。

简单来说,这个命令行参数告诉FFmpeg在处理音频时,移除所有持续时间至少为0.1秒且音量低于-55dB的静默部分。

请尝试:

提高静默检测的阈值,例如 -55dB 提高到 -60dB 或 -70dB,以避免误删正常的音频信号;

或者,删除这条指令;

重启客户端,测试是否能正常录到声音

Lanmaolz commented 7 months ago

解决了有声音的问题,但是我又发现一个新问题,就是这语音转录有很大延时啊我按大小写开始,一秒钟左右,它才开始录,我看了配置文件里面标注的是0.3,明明没有问题

H1DDENADM1N commented 7 months ago

https://github.com/HaujetZhao/CapsWriter-Offline/issues/97

修改 config.py

only_enable_microphones_when_pressed_record_shortcut = True  # 只在按下录音快捷键时启用麦克风
                                                                # 建议启用,有些蓝牙耳机录音时无法播放
                                                                # 而且启用后,切换默认麦克风也不用重启客户端
                                                                # 比如从蓝牙耳机换回笔记本电脑默认麦克风
                                                                # 缺点就是输入的时候可能会慢些
                                                                # 毕竟要先建立与麦克风的连接

将此项改为 False

Lanmaolz commented 7 months ago

ok ok 解决了,你做的非常好,这个项目对我现在的电脑环境改善很大,原作者那版已经非常棒了,你的强化使他更加的强大