首页 >后端开发 >Python教程 >日记抄写员:通过听写来写日记

日记抄写员:通过听写来写日记

DDD
DDD原创
2024-11-29 10:00:17107浏览

Journal Transcriber: Write journal by dictating it

你好

亲爱的读者们,今天我要谈谈我写的一篇日记剧本。 ?

保存我的思想的问题

我要解决的问题是我想保存我的想法。

我读自己写的东西没有问题,但我不喜欢等待。我可以口述,但我不想保存或听我的声音。

每当我遇到这样的情况时,我就会进入工程模式,如果这是我可以在工作几个小时内解决的问题,我就会去做。

初步研究

首先,我研究了一个易于使用的语音转文本库,然后找到了 Vosk。它有一个巨大的模型库。我选择了两个小的,因为我想在编码时使用该应用程序。他们给出了一些不错的结果。

Python 解决方案

然后,借助多种 AI 模型的魔力,我找到了 Python 解决方案。它将我的麦克风和系统声音传输到 Vosk 模型,该模型提供在包含当前日期的文件中使用时间戳编写的转录。

从原型到日常可用性

可以达到目的,但是日常使用不太方便。我的座右铭之一是:如果它不简单、不即时,我就不会使用它。因此,我将脚本打包到 Python 模块中,并编写了一个 *.desktop 文件,将其注册为常规 Linux 应用程序(在我的示例中为 Pop!_OS)。
只需快速添加一个键盘快捷键即可看到它的奇迹!
使用notify-send 的通知可以让您了解应用程序的当前状态。

消除控制台混乱

令我恼火的一件事是当应用程序在控制台中运行时,因为它弄乱了我的工作空间。为了避免这种情况,我需要一种简单的方法来启动和停止应用程序,而不依赖于终端。我的解决方案是实现一个锁定文件系统。

当应用程序启动时,它会创建一个包含其进程 ID (PID) 的锁定文件。如果锁已经存在,脚本将使用它发送 KeyboardInterrupt 信号来停止正在运行的实例并退出。这样,第一个调用会启动应用程序并开始转录,而第二个调用则会停止它。

以创造性的方式解决问题

我希望这篇文章能够激发人们以一种独特、有创意且有些精致的方式解决自己的问题的愿望。

欢迎查看我的其他类似文章:
自动从屏幕截图中提取文本

也请随时查看代码:
在 Github 上

今天过得愉快吗?

以上是日记抄写员:通过听写来写日记的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn