python3123_使用sox和python,基于时间戳列表对音频区域进行静音处理

我有一个音频文件。

我有一堆[开始,结束]时间戳段。在

我想要实现的目标:

假设音频长度为6:00分钟。

我有段是:[[0.0,4.0],[8.0,12.0],[16.0,20.0],[24.0,28.0]]

在我把这两个传递给sox+python之后,输出应该是6分钟长的音频,但是只有在片段经过的时间内有音频。在

也就是说,我想把time stamps和原始音频传递给SOX+python

这样就生成了一个音频,除了那些与传递的片段相对应的部分之外,所有内容都被静音

我无法达到上述目标,但有点接近相反的结果,经过几天的谷歌搜索,我得到了这样的结果:

更新、更简洁的代码+示例:

sox命令,像这样进行填充和修剪SOX__SILENCE = 'sox "{inputaudio}" -c 1 "{outputaudio}" {padding}{trimming}'

随机测试段:

^{pr2}$

生成填充和修剪的小python脚本。在

填充:def get_pad_pattern_from_timestamps(my_segments):

padding = 'pad'

for segment in my_segments:

duration = str(segment[1] - segment[0])

padding = padding + ' ' + duration + '@' + str(segment[0])

return padding

print get_pad_pattern_from_timestamps(A)

print get_pad_pattern_from_timestamps(b)

print get_pad_pattern_from_timestamps(z)

print get_pad_pattern_from_timestamps(q)

来自^的输出:pad 16.0@0.0

pad 1.0@1.0

pad 6.7@1.6 20.5@13.2 3.0@35.0 9.0@42.0 3.5@70.2 9.2@90.0 8.1@123.0

pad 4.0@0.0 4.0@8.0 4.0@16.0 4.0@24.0 4.0@32.0 4.0@40.0

修剪:def get_trimm_pattern_from_timestamps(my_segments):

trimming = ''

for segment in my_segments:

duration = str(segment[1] - segment[0])

trimming = trimming + ' trim 0 ' + str(segment[0]) + ' 0 ' + duration + ' ' + duration

return trimming

print get_trimm_pattern_from_timestamps(A)

print get_trimm_pattern_from_timestamps(b)

print("\n")

print get_trimm_pattern_from_timestamps(z)

print("\n")

print get_trimm_pattern_from_timestamps(q)

print("\n")

修剪输出:trim 0 0.0 0 16.0 16.0

trim 0 1.0 0 1.0 1.0

trim 0 1.6 0 6.7 6.7 trim 0 13.2 0 20.5 20.5 trim 0 35.0 0 3.0 3.0 trim 0 42.0 0 9.0 9.0 trim 0 70.2 0 3.5 3.5 trim 0 90.0 0 9.2 9.2 trim 0 123.0 0 8.1 8.1

trim 0 0.0 0 4.0 4.0 trim 0 8.0 0 4.0 4.0 trim 0 16.0 0 4.0 4.0 trim 0 24.0 0 4.0 4.0 trim 0 32.0 0 4.0 4.0 trim 0 40.0 0 4.0 4.0

使用来自终端的about输出运行SOX:Padding:

sox dinners.mp3 -c 1 testlongpad.mp3 pad 4.0@0.0 4.0@8.0 4.0@16.0 4.0@24.0

Trimming:

sox dinners.mp3 -c 1 testrim.mp3 trim 0 0.0 0 16.0 16.0

Padd and trimm:

sox dinners.mp3 -c 1 testlongpadtrim.mp3 pad 4.0@0.0 4.0@8.0 4.0@16.0 4.0@24.0 trim 0 0.0 0 4.0 4.0 trim 0 8.0 0 4.0 4.0 trim 0 16.0 0 4.0 4.0 trim 0 24.0 0 4.0 4.0

如果S是我的片段,那么NS就是其他一切。在^方法中,我传递NS,而NS正在从音频中删除。在

我想要实现的仍然是相同的,但方式不同,即我想传递S,这样只保留与{}对应的音频部分。在

附言:我的问题非常具体,我是新的音频处理和不确定如何继续。请不要把问题说得太宽泛或是什么。

我很乐意提供更多的细节来澄清。

最后,这不是一个硬件问题。这是个人项目。在

样本段[[开始,结束],,]]:[[1.6, 8.3], [13.2, 33.7], [35.0,38.0], [42.0,51.0], [70.2,73.7], [90.0,99.2], [123.0,131.1]]

因此,当这些时间戳通过音频传递给sox/python时,音频中的所有内容(除了提供的片段中的那些部分)都应该被消除。在

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

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

相关文章

ajax post 传参数加引号和不加引号的区别

1.前言 用ajax技术,type:post,data:参数列表。参数列表就是一个JSON数据,但key可以加引号,也可以不加引号,那总有区别的。 2.区别 var d2 "two"; var d4 "four"; var idAr…

工业机器人专业展板图片_南充职业技术学院工业机器人专业线下课程开展情况...

2020年5月18日,南充职业技术学院线下课程已全面展开,下面是工业机器人技术专业的开课情况。历时4个多月的假期,即将开课。在开课前两天,我司专业教师到学院检查维护机器人设备,以保障学生们能够正常使用工业机器人相关…

vmware挂载san存储_细述企业级存储NAS和SAN差异

常见服务器磁盘类型SAS:容量小,300G,600G,价格贵SATA:容量大,4T,不支持热插拔,价格低假SAS:容量大,支持热插拔,价格低,(就是SAS接口的…

蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)

声明:这篇文章转载beautifulzzzz笔记,网址:http://www.cnblogs.com/zjutlitao/,其中比较多的受益于xubin341719的蓝牙系列文章,同时还有其他网上作者的资料。由于有些文章只做参考或统计不足,如涉及版权请在…

初中英语多词性单词怎么办_高考英语阅读理解生僻单词太多怎么办?十大招数帮到你...

英语阅读理解生僻单词太多怎么办?今天,胡老师告诉你猜词十大招数,帮助同学们英语考试拿高分。01 构词法阅读中常常会遇到一些由熟悉的单词派生或合成的新词。掌握构词法对猜测词义很有帮助。如:unforeseeable.这个词,可…

springboot jwt token前后端分离_基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目...

一、前言最近整合Spring BootSpring SecurityJWTVue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们功能很简单,单点登录,前后端动态权限配置,前端权限精确到 按钮 级别,后端权限精确到 url …

三维数组设置索引_python3三维数据结构 —— panel

注意:现状问题:新版的pandas库已经移除了数据结构panel解决办法:使用MultiIndex的DataFrame结构替代下一篇文章介绍 MultiIndex----------------------------------------------------------------------------------------------简介&#x…

springboot 微服务_使用 Docker 部署 Spring Boot微服务

Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 Spring Boot 项目,然后给项目添加 Docker 支持,最后对项目进行部署。一个简单 Sp…

佛说十善业道经略谈

5戒分别是杀盗淫妄酒。10善业分别是身业有3:杀盗淫,口业有4 :2舌、绮语、恶口、妄语, 意业有3:贪嗔痴 。 这部经的提是一部人法立题的经。佛是人 ,十善业是法。 佛在这里是专指释迦牟尼佛,这里面…

weblogic修改banner_WeblogicScanV1.3

WeblogicScanWeblogic一键漏洞检测工具,V1.3软件作者:Tide_RabbitMask免责声明:Pia!(o ‵-′)ノ”(ノ﹏本工具仅用于安全测试,请勿用于非法使用,要乖哦~V 1.3功能介绍:提供一键poc检测&#xff…

deque python_3 . python Collections -- Deque Object

语法:classcollections.deque([iterable[,maxlen]])返回从左到右初始化的新deque对象(使用append())和来自iterable(可迭代的)的数据。 如果未指定iterable(迭代),则新的deque为空。Deques是堆栈和队列的概括(名称发音为“deck”,是“双端队列…

Jzoj5237 最长公共子序列

给你序列A和B&#xff0c;求出他们LCS的方案数&#xff0c;|A|,|B|<5000 dp套dp经典题目&#xff0c;我们考虑先求出LCS&#xff0c;令f[i][j]表示处理到序列A的第i位&#xff0c;B序列的第j位时的LCS长度 那么转移很显然&#xff0c;现在考虑如何统计答案 我们设g[i][j]为当…

sqllyog可以连接oracle_03-SQLServer中链接服务器用法--连接Oracle

一、前言1、使用SQLServer连接Oracle的方式有2种(对应2个不同的数据源程序)(1)创建本地的数据源ODBC&#xff0c;是在Net Configuration Assistant里配置&#xff0c;对应的SQLServer里的程序是Microsoft OLE DB Provider for ODBC Drivers&#xff1b;(2)第二种创建方式是不通…

sql 除以_刷完这些SQL练习题,简单查询就熟能生巧了

练习题&#xff1a;SQLZOO表&#xff1a;&#xff08;图片未显示全部列&#xff09;&#xff08;1&#xff09;SELECT basics&#xff1a;&#xff08;简单查询&#xff09;SELECT basics/zh​sqlzoo.net①The example uses a WHERE clause to show the population of France. …

智能机器人建房子后房价走势_人工智能未来10年将颠覆房地产行业,你还敢买房吗?...

原标题&#xff1a;人工智能未来10年将颠覆房地产行业&#xff0c;你还敢买房吗&#xff1f;近日&#xff0c;随着人工智能的消息持续刷屏&#xff0c;很多网友都对此产生了非常浓厚的兴趣。不止是因为大家对新兴产业的新鲜感和神秘感&#xff0c;随之而来的是网友们的相关疑问…

python博客源码下载_Python生成并下载文件后端代码实例

txt文件生成并下载txt文件&#xff1a;app.route(/download, methods[GET])def download():content "long text"response make_response(content)response.headers["Content-Disposition"] "attachment;filenamemyfilename.txt"return respon…

Tomcat 总体结构

http://threezj.com/2016/06/25/Tomcat%20%E6%9E%B6%E6%9E%84%E6%8E%A2%E7%B4%A2/ Tomcat 架构探索 發表於 2016-06-25 | 前言 花了一个礼拜的时间阅读了 how tomcat works&#xff0c;本文基于此书&#xff0c;整理了一下Tomcat 5的基本架构&#xff0c;其实也没什么多复杂…

flutter 生成文档_Flutter文件操作

path_provider获取应用存储路径path_provider是flutter提供的一个获取应用存储路径的插件&#xff0c;它封装了统一的api来获取Android和ios两个平台的应用存储路径&#xff0c;提供的api如下&#xff1a;getTemporaryDirectory()&#xff1a;获取应用临时文件夹&#xff0c;该…

java难学还是pythonnanxue_关于python:为什么numpy中的“ NaN”比“ -np.inf”更小?

在涉及np.min或np.argmin的任何比较中&#xff0c;认为NaN小于-np.inf的原因是什么&#xff1f;import numpy as npIn [73]: m np.array([np.nan, 1., 0., -np.inf])In [74]: n np.array([-np.inf, 1., 0., np.nan])# Huh??In [75]: np.min(m)Out[75]: nanIn [76]: np.min(…

Centos7 Yum安装 PHP5.5,5.6,7.0

默认的版本太低了&#xff0c;手动安装有一些麻烦&#xff0c;想采用Yum安装的可以使用下面的方案&#xff1a; 1.检查当前安装的PHP包yum list installed | grep php如果有安装的PHP包&#xff0c;先删除他们yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x…