目录

    • 引出
    • 简便操作
    • 脚本
      • 脚本说明
      • 运行脚本
      • 如何获取脚本
  • 关注
  • 版权说明

引出

统计录音时长,是大家经常用到的一个功能,统计的方法有很多,这里小编只介绍两种,一种是在win10系统中的资源管理器中可直接实现,另外一种当然就是本文的主题,通过Praat脚本实现。

简便操作

首先介绍第一种,直接利用windows的资源管理器,打开需要统计时长的目录之后,选择菜单里“查看”下面的,“详细信息窗格”按钮,这时候你会发现在右侧,出现了详细信息窗格


操作很简单,只需要将需要统计的wav都选中,点一下详细窗格里的“显示详细信息”, 稍等时间之后,在右侧这个窗格里就会显示出这些wav的总时长。如这里的500个wav总时长是29分钟12秒。这里单位是按小时:分钟:秒的形式。

脚本

下面来介绍第二种方案,使用Praat脚本操作,第一种方法统计目录里音频的时长的确是方便的,但是如果统计标注过的TextGrid,尤其是如果有以下几个需求:

  • 统计我们标注过的非空的内容的时长;
  • 统计我们标注过的所有的某一个发音比如a的时长;
  • 统计我们标注过的包括某一个单词的时长;

​这些统计条件要求我们有标注的数据,通过标注的TextGrid来定位时间点,从而达到统计对应条件的音频时长。​奥秘就在这里,Praat为我们提供了丰富的查询检索条件,通过打开一个TextGrid,如图所示步骤,点击到Get total duration of intervals where...

得到下图这些查询条件,这些条件包括等于不等于包括不包括以...结束不以...结束以...开始不以...开始等等丰富的条件。

脚本说明

这里说明一下举的例子是统计这些标注文件中不为空的所有时长,即相当于统计非静音的时长。我们利用上面的条件,是is not equal to,因为标注中静音的位置都是空的,所以代码里是,其它一些例子可以相应的跟上图的命令做相应的修改。

duraTotal = Get total duration of intervals where: 1, "is not equal to", ""

运行脚本

打开Praat之后,选择PraatOpen Praat Script...,打开这个脚本,然后在脚本窗口选择RunRun,或者直接使用快捷键Ctrl+R,在弹出来的对话框里,设置以下几个地方,本文例子的目录在wavsTextGrids目录:

  1. 设置wavs文件夹名称,这里是wavs/,也可以置空;
  2. 设置TextGrid文件夹名称,这里是TextGrids/,可以将wavs目录TextGrids目录任意一项置空,这样就只统计不为空的目录;
  3. 设置保存结果路径,这里是duration_result.txt

设置完毕,点击OK,运行脚本,结果可以到duration_result.txt查看。这里的统计单位是秒。结果中会有每个文件的时长,最后的Total是目录里所有文件的时长。

baozhai.wav,35.5553125
Total wavs: 35.5553125baozhai.TextGrid,28.16666713270619
Total TextGrids: 28.16666713270619

如何获取脚本

https://github.com/feelins/Praat_Scripts
本站所有Praat脚本都可以在上述github的项目目录里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows在自己的电脑上通过git clone将代码下载到本机,这样的好处是可以跟主站及时更新代码。
不想费如此脑筋,可以通过点击如下图Code位置所示,下载整站的代码,可直接使用。

本文的代码是07-compute_total_duration/Get_Duration_From_Sound_Files.praat,点进去之后,还有附带的示例文件,同学可练习使用。脚本里有我的邮箱,有任何问题都可以来信咨询。

关注

关于对本站脚本的使用咨询,以及功能修改,增加等,都可以扫QQ咨询群,私信群主。

版权说明

1、版权归本公众号“极地语音工作室”,原名“语音处理小站”所有;

2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;

3、转载或者引用本文内容请注明来源及原作者;

4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。

Praat脚本-007 | 计算目录里音频或者TextGrid总时长相关推荐

  1. Android获取mp3音频文件播放总时长

    Android获取mp3音频文件播放总时长 一般是需要文件的绝对路径,需要读取文件,转成媒体类解析,最好获取播放时长,然后关闭资源. /** * 获取音频文件的总时长大小 * * @param fil ...

  2. sql计算上班总时长——以每天的第一次上下班打卡时间为准

    本文交代了一种求上班总时长的特殊的业务场景,并造了一个玩具数据 ,分别用MySQL和Hive SQL给出了其计算逻辑. 一.业务背景及口径说明 指标 上班总时长 = SUM(下班时间-上班时间) ,但 ...

  3. 计算两个时间之间的工作时长

    计算两个时间之间的工作时长(小时)排除周末 package com.test;import org.apache.commons.lang3.time.DateUtils;import java.ma ...

  4. JS获取音频的总时长,解决Audio元素duration为NaN || Infinity 问题

    当我们在加载一个线上mp3地址或者获取audio的duration的时候,会发现有拿到duration是Infinity的情况,这时如果我们动态的展示录音时间时候就会有问题.首先明确一下这是chrom ...

  5. Qt 之 WAV文件属性计算(比特率、文件大小、文件时长)

    简述 在 Qt 之 WAV文件解析 中给出了WAV文件属性的计算,具体包括文件大小.音频时长.比特率等属性,这里我们再次验证一下这些属性值的计算 . 在计算之前,我们要知道一下wav文件中的三个参数 ...

  6. PHP获取音频文件MP3的时长

    最近在开发中有一个需求需要直接获取音频的时长 可以获取MP3的时长 1.此次主要是在thinkphp中搭配适用来获取MP3时长,如下所示: 此处类并非适用composer下载故此在extend中直接建 ...

  7. Praat脚本-000 | 实用的Praat脚本总索引

    该项目包括一些Praat常用脚本,并结合简单实例说明如何使用这些脚本,每一个独立的目录里面有示例文件以及结果文件,适用于已经对Praat基本操作有些了解,对时长,基频,共振峰等基本声学参数有所了解的初 ...

  8. mysql计算两个日期间的工作时长(参数传入每天上班时间,并剔除周末)

    SQL方法创建 # 查询时间段内的工作时间函数(剔除周末与非工作时间) # 参数解释 # _st: 开始时间 # _ed: 结束时间 # _hour1: 工作时间开始小时 # _hour2: 工作时间 ...

  9. 统计文件夹下音频文件时长

    统计音频文件时长 功能 代码 主要分析 提取文件的音频时长 读取文件夹下的所有文件的绝对路径 写这个主要是为了能更好的安排自己的学习时间,学习视频的时长很难直观的看总和时间,导致安排的时间没有很好的规 ...

最新文章

  1. R绘制排序的条形图(Ordered Bar Chart)
  2. C++ 创建对象时带括号和不带括号的区别
  3. 分布式配置中心阿波罗的搭建与客户端的应用
  4. python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐
  5. linux p7zip密码,linux下7zip使用方法
  6. 计组之中央处理器:1、CPU的功能和基本结构
  7. mysql删除root链接_删除mysql中root用户恢复方法
  8. 获取URL参数JS函数
  9. erp管理软件是什么
  10. 林期苏曼属性标签编辑_标签制作软件如何制作商品标签模板
  11. 内核特征码搜索 获取未导出函数
  12. 数据结构与算法——慕课作业——第一章 概论 + 第二章 线性表
  13. 基于51单片机的温湿度检测及调节系统
  14. nslookup命令反解ip_桌面运维常用命令
  15. linux下双网卡绑定,Linux下双网卡绑定bond0
  16. 软件性能测试方案怎么编写?权威的性能测试报告如何申请?
  17. 【Mo 人工智能技术博客】基于耦合网络的推荐系统
  18. Spotfire 数据分析学习之一
  19. Qt数据库应用17-通用数据库请求
  20. [Practical.Vim(2012.9)].Drew.Neil.Tip19学习摘要

热门文章

  1. 2021年山东省安全员C证最新解析及山东省安全员C证实操考试视频
  2. 魔兽怀旧服api文档位置
  3. Swing 入门介绍
  4. QQ好友自定义头像不更新的解决办法(转)
  5. 历史上著名的软件质量事故
  6. 结束语:从爬虫小白到高手的必经之路
  7. SiC MOSFET的短路特性及保护
  8. 容器技术---(一)Docker
  9. android 模仿微信读书,Flutter 模仿微信读书实现案例
  10. 对于CNN卷积神经网络的前向传播和反向传播的理解