自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 Python工具箱系列(六十五)

本文介绍了语音识别的技术实现流程,并引用了北京大学饶毅教授引发热议的毕业致辞作为测试案例。通过Python代码演示了从视频提取音频、分割音频片段、使用PaddleSpeech和百度API进行语音识别的完整过程。实际测试结果显示,两种识别方法的准确率都不理想(12处错误),表明当前AI语音识别技术仍无法替代人工校对,尤其在制作电影字幕等场景中效果更差。文章最后列出了实现所需的Python库安装命令,突显了语音识别技术在实际应用中的局限性。

2025-08-15 15:37:31 273

原创 Python工具箱系列(六十四)

本文介绍了基于PaddleSpeech的语音识别方案。PaddleSpeech是百度开源的语音算法工具箱,支持语音识别、合成、翻译等功能,并荣获NAACL2022最佳展示奖。文章详细说明了在Ubuntu系统上的安装步骤,包括基础环境配置、Python环境设置及关键依赖库安装。重点介绍了如何进行音频预处理(16kHz单声道转换)和语音识别API调用方法,并提供了代码示例展示语音识别、翻译和字幕生成功能。最后指出Paddlespeech存在50秒处理时长限制,为后续文章讨论长语音分割处理埋下伏笔。

2025-08-15 15:19:31 358

原创 Python工具箱系列(六十三)

摘要:语音识别技术从20世纪50年代发展至今,已能支持多语种和大词汇量识别。现代系统主要采用隐马尔可夫模型和神经网络技术,国内以迅飞、百度等为代表。Python的SpeechRecognition库支持多种API,其中CMUSphinx可离线使用但需单独配置中文模型。虽然识别率不如Google API,但为无法联网的场景提供了解决方案。文章详细介绍了相关技术原理、安装方法和代码示例,帮助开发者实现语音转文本功能。

2025-08-15 15:18:27 460

原创 Python工具箱系列(六十二)

本文介绍了使用Python处理录音文件的常用方法,主要包括音量调节、音频剪切、静音处理等功能。通过pydub和librosa库实现以下操作:1)添加静音片段;2)按时间或静音段切割音频;3)多文件串联合并;4)音量增强/衰减。代码展示了具体的实现函数,并配有可视化波形对比。这些功能可以解决会议录音中常见的音量小、存在静音片段等问题,便于后续的语音处理和文字转换。安装只需执行简单的pip命令即可配置所需库环境。

2025-08-15 15:17:45 181

原创 Python工具箱系列(六十一)

本文介绍了利用Python实现文字转语音和人声分离的两种实用方法。针对知识记忆需求,作者使用pyttsx3库将文本转为MP3音频,通过重复播放强化记忆,并提供了具体代码实现。对于音频处理,推荐使用spleeter库进行人声和伴奏的分离,说明其在GPU/CPU环境下的性能差异及安装建议,并以实例演示了2音轨分离效果。这两种方法分别解决了文本转语音和音频提取的需求,具有离线操作、简单高效的特点,适合不同场景下的自动化处理需求。

2025-08-15 15:16:57 285

原创 Python工具箱系列(六十)

有时只有MTV文件,但是很想作为MP3收藏,就需要将音频从视频中提取出来。pydub库仍然是当仁不让的选择。

2025-08-15 15:15:45 146

原创 Python工具箱系列(五十九)

本文只是从python工具箱的角度来看,如何在python代码中播放音频文件,主要是mp3文件。

2025-08-15 15:13:32 322

原创 Python工具箱系列(五十八)

本文只是从python工具箱的角度来看,如何在python代码中播放音频文件,主要是mp3文件。笔者试验了多个第三方库,发现能用的底层基本是都是pygame这个游戏库,演示代码如下所示。playmp3_sleep函数则简单一些,不使用完成的循环架构,直接从mp3文件中拿到音乐的时长,开始播放后,使用sleep进行等待。playmp3没有使用pygame,而直接使用pydub库进行播放,写法简洁明快,但运行后能够看到,底层仍然是调用pygame库​​​​。在上面的代码中,使用了三种播放MP3的方法。

2024-12-23 14:48:54 300

原创 Python工具箱系列(五十七)

在上面的代码中,我们加载了在load_pascalvoc_model上训练的用于分割对象的xception模型以及Mask RCNN模型。众所周知图像是由若干有意义的像素组成的,图像分割作为计算机视觉的基础,对具有现有目标和较精确边界的图像进行分割,实现在图像像素级别上的分类任务。代码中,test_semantic函数进行语义分割的演示。其中horseandman.png如下图所示,是人、马、狗组合在一起的风景图,人类是可以理解的。经过人工智能训练后的代码,进行语义分割后,形成的图像如下所示。

2024-10-30 15:18:55 415 1

原创 Python工具箱系列(五十六)

抠图是基本需求,最常见的应用场景就是证件照,每次去拍照,都要用个纯色的幕布,而且要求衣服不能太浅。抠图工具非常多,例如PhotoShop就是抠图利器,可以很神奇地把图片里的元素单独提取出来,和其他的背景合并。训练过程非常耗资源,但有了模型就可以快速应用,目前不少大平台也开放出了自己的训练模型,如百度的paddlehub项目。利用opencv的交互能力,人工简单的勾勒要抠图的主要部分,随后就会生成当前的抠图效果。从上图可以看出,交互式抠图的效果不错,不过还是直接使用paddlehub来的方便。

2024-10-30 14:29:59 303

原创 Python工具箱系列(五十五)

从识别效果来看还是不错的。但是对于视频文件中的字幕识别就有些不太好了,原因在于背景过于凌乱。在Ubuntu bionic的安装过程如下。下面使用百度的paddlehub进行测试。能够看出,识别的可信度还是非常高的。paddlehub的安装过程如下。Google的tesseract项目,它能识别100多种语言。使用上述代码识别的结果是:自 眉 鸦 王 有 仓 外 孙 卯。基于机器学习的多个项目,例如百度的paddlehub。能够准确识别,随后对下图的中文进行识别。我们使用的python代码如下。

2024-10-30 14:27:02 410

原创 Python工具箱系列(五十四)

二维码(Quick Response Code)几乎已经渗透到我们日常生活的每一个角落,它是 1994 年发明的一种矩阵条形码,可以用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。具有一定的校验功能等。二维码的结构充分保证了它的有效性,所以二维码才能够大行其道,成为应用的主流。

2024-07-09 11:08:50 260

原创 Python工具箱系列(五十三)

事实上,可以从本例出发,将公司的LOGO放在再小一些,旋转后复制多次,就可以形成更复杂的水印效果。水印与散列很类似,是一个单向的过程,水印极难去除,即使网上号称的去码神器其实效果真的一般,而且一些基于AI的也只是“合理”的猜想,不是真正的还原。在文字水印时,必须指定中文字体的位置。图片水印其实是2个图片的融合。水印是一种常见的图片处理需求。当既需要展示,又需要保护知识产权时,就需要使用文字或者图片来打水印。下面的代码展示了文字水印与图片水印的过程。此时文字文印的效果如下图所示。

2024-06-17 16:31:43 249

原创 Python工具箱系列(五十二)

打开华为手机的图库,你会发现已经自动进行人脸识别,相片的归类与聚合等工作,甚至于还可以进行一步根据场景来搜索。事实上,当拿出手机进行拍照的这一刻,很多信息已经记录在案,这就是EXIF信息。下述代码完整演示了这个过程。这里我们需要注意的是,并非所有的照片都能够进行解析,必须是携带exif信息的原始图片。当然像一些社交平台也会专门针对exif进行处理,比如微信,你发在朋友圈的图片会自动压缩,所以是不会暴露信息的。exifgps中,不断的进行判断,是因为图片不一定存在exif,也不一定存在gps的定位信息。

2024-04-28 15:57:36 412 1

原创 Python工具箱系列(五十一)

对图片进行九宫格切割,并且放到微信朋友圈曾经风靡一时。对于python来说,这个也非常简单。运行后会将源图片直接切割成为9个图片文件。将它们上传到微信后,就可以组成九宫格图片了,其效果如下图所示。从效果图中可以看出,如果切割点在头部附近会有一些失真的感觉。所以九宫格这种形式还是适合于二次元图片。

2024-03-29 17:01:40 413

原创 Python工具箱系列(五十)

以下python代码演示了如何将一幅美女图进行多种加工处理,并且汇集在一起,形成一个类似于照片墙的相关操作。在这个照片墙上,每种加工的名称都输出到图片的左上侧。最后一个图是剪切图,小于照片墙预留的空间,所以显得奇怪一些。运行后的效果如下图所示。

2024-03-05 09:08:24 494

原创 Python工具箱系列(四十九)

现实世界中,图片是经常需要处理的二进制文件类型。

2024-01-31 09:27:02 564

原创 Python工具箱系列(四十八)

笔者经常要组织大型文档的汇总(例如标书),此时文档中插入的图片各式各样,缩写时也无从知道图片在整个文档中的顺序,所以对所有图片加题注就是一件非常费时的工作。如果人工调整,非常枯燥费力,此时python就可以大显神威,完成大量的自动化的工作,最后再辅以少量的人工即可。以下代码显示了对docx中的图片与表格进行调整的技巧。其中-f选项表示处理文档中的图片,-t选项表示处理文档中的表格。当大型docx文档中的图片数以千百计时,上述代码能够节省大量的时间精力,值得花些时间调整。上述代码的用例如下。

2024-01-18 10:59:26 622

原创 Python工具箱系列(四十七)

这份标准引发了全球政府的关注,推动了文档标准化的进程。由于存在多人编辑的可能性,经常一个微小更改,导致整个DOCX的版面出现混乱的现象,此时python就大有用武之地了。微软最近几年,积极投身开源运动,不仅购买了github震惊世界,还在自家操作操作系统上实现了WSL,与Linux实现了一家亲。之所以微软如此大手笔,原因之一就是微软的Office贡献了大把的现金,简直就是印钞机。python win32com的能力远超python-docx,但操作方法与思路类似于VBA,完全不是python的风格。

2024-01-05 11:30:17 422

原创 Python工具箱系列(四十六)

PDF(Portable Document Format)是一种便携文档格式,它基于PostScripty这种脚本语言。

2023-11-24 10:30:17 329

原创 Python工具箱系列(四十五)

mmap是python内置标准库,提供将文件映射到内存的机制。

2023-11-06 16:26:48 187

原创 Python工具箱系列(四十四)

7z是一种主流高效的压缩格式,它拥有极高的压缩比。

2023-10-23 13:55:20 282

原创 Python工具箱系列(四十三)

tar命令是Unix/Linux平台用的最多的命令之一。

2023-09-27 15:15:57 148

原创 Python工具箱系列(四十二)

rar是广受好评,使用广泛的压缩格式,开发者为尤金·罗谢尔(俄语:Евгений Лазаревич Рошал,拉丁转写:Yevgeny Lazarevich Roshal),RAR的全名是“Roshal ARchive”,即“罗谢尔的归档”之意。尤其是winrar一度成为windows上的必备软件。

2023-09-11 15:54:25 226

原创 Python工具箱系列(四十一)

前文的代码示例了使用gzip对单个文件进行压缩。本文示例使用更通用的zipfile来批量压缩文件。zipfile也是python内置的库,使用起来非常方便。

2023-08-28 17:02:02 1368

原创 Python工具箱系列(四十)

这是python提供的压缩模块,便于用户对数据、文件进行压缩。功能类似于 GNU 应用程序gzip和gunzip。以下代码压缩一段字节流。

2023-08-22 15:00:13 206

原创 Python工具箱系列(三十九)

现实世界中,大量存在着对数据压缩的需求。为此,python内置了zlib压缩库,可以方便的对任意对象进行压缩。

2023-07-31 11:35:17 148

原创 Python工具箱系列(三十八)

上文介绍将类的属性值保存到二进制文件的基本操作。在实际中,还有可能保存文本信息。例如,传感器可能还会有自己所在区域的信息。此时,对于二进制文件的读写提出了挑战。如何才能够在读取时,知道所读的字节是整数、浮点数而不是字符呢?

2023-07-13 10:37:36 131

原创 Python工具箱系列(三十七)

python比较擅长与文本相关的操作。但现实世界中,对于非文本消息的处理也很普遍。例如:◆通过有线、无线传递传感器获得的测量数据。◆卫星通过电磁波发送测量数据。◆数据中心的数万台服务器发送当前CPU的占用率信息、内存占用量等众多指标数据。

2023-06-26 10:28:53 3461

原创 Python工具箱系列(三十六)

Docker提供了基于镜像的运行环境,可以将操作系统、应用程序以及相关依赖打包,为使用者提供完整的使用体验,因此一经推出大获好评,迅速成为主流的软件开发技术之一。

2023-06-20 16:57:58 116

原创 Python工具箱系列(三十四)

SQLAlchemy是著名的ORM(Object Relational Mapping-对象关系映射)框架。其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。对许多语言(例如JAVA/PYTHON)来说就是定义一个对象,并且这个对象对应着一张数据库的表。而这个对象的实例,就对应着表中的一条记录。

2023-06-12 10:53:27 110

原创 Python工具箱系列(三十三)

TimeScaleDB已经将数据按30分钟来聚合分析。当然,改成任意时间也是可以的,例如,可以改成5秒分析一次也可以,生成结果的时间也非常快。

2023-05-29 11:20:05 208

原创 Python工具箱系列(三十二)

Elasticsearch是一个基于Lucene的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful 的API接口。

2023-05-26 10:25:29 104

原创 Python工具箱系列(三十一)

Neo4j是一个高性能的开源的,使用Java语言实现的NoSQL图数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

2023-05-15 15:01:55 255 1

原创 Python工具箱系列(三十)

MySQL的口号是“世界上最流行的开源关系型数据库”,而PostgreSQL的Slogan则是“世界上最先进的开源关系型数据库(PostgreSQL: The World's Most Advanced Open Source Relational Database)”,一看这就是一对老冤家了。

2023-05-08 09:46:33 201

原创 Python工具箱系列(二十九)

ongoDB号称文档数据库,是目前发展迅速的NoSQL数据库。它由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

2023-03-27 15:40:42 120

原创 Python工具箱系列(二十八)

Access也是微软Office套餐中的经典产品。虽然在许多人眼里,Access已经是上古时代的产品,但实际上它一直深受好评,并且稳定发展。之所以在许多IT人士眼里,Access不值一提的主要原因恰恰也是它深受非专业人士喜欢的原因:专供非IT人士自用的数据库。

2023-03-23 17:13:23 89

原创 Python工具箱系列(二十七)

Excel是微软出品的办公神器,大部分读者相信或多或少都用过。其自带的函数丰富,可以进行复杂的数据运算、分析以及可视化的输出。到目前为止没有出现可以望其项背的竞品,大部分竞品不是在模仿的路上,就是在失败的路上。

2023-03-20 11:09:10 92

原创 Python工具箱系列(二十六)

ClickHouse(Click Stream,Data WareHouse)是俄罗斯的 Yandex于2016年开源的用于在线分析处理查询(OLAP:Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。特别值得称道的是Clickhouse没有走hadoop生态,采用 Local attached storage 作为存储,而hadoop目前已经发展的臃肿不堪了。

2023-02-24 10:04:52 196

原创 Python工具箱系列(二十五)

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2023-02-24 09:40:27 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除