批量重命名波形音频文件及其时间戳信息

问题描述

我有大约 60 个音频文件,其名称中带有部分时间戳。这些名称是由录音系统自动创建的,如下所示

201106_0099.wav
201106_0100.wav
201106_0101.wav
.
.
.
201106_0163.wav

文件位于以日期(yymmdd)、开头和结尾的小时、分钟和秒(HHMMSS)命名的文件夹中,就像

Audios_201106_063044_190708

每个音频文件正好有 11 分 38 秒。

在终端中使用 stat 命令和 zsh 我得到,对于第一个文件,我得到关于记录开始时间的信息:

my_name@Air-of-My_Name Audios_201106_063044_190708 % stat 201106_0099.wav
16777221 1381621 -rw-rw-r-- 1 my_name staff 0 67032620 "Mar  4 21:11:14 2021" "Nov  6 06:30:44 2020" "Mar  4 12:06:13 2021" "Nov  6 06:30:44 2020" 4096 130928 0 201106_0099.wav

使用 ffmpeg,我可以获得有关录制持续时间的信息:


my_name@Air-of-My_Name Audios_201106_063044_190708 % ffmpeg -i 201106_0099.wav
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.29)
  Guessed Channel Layout for Input Stream #0.0 : mono
Input #0,wav,from '201106_0099.wav':
  Duration: 00:11:38.26,bitrate: 768 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001),48000 Hz,mono,s16,768 kb/s

几乎与我从 SoX 获得的信息相同


my_name@Air-of-My_Name Audios_201106_063044_190708 % soxi 201106_0099.wav     

Input File     : '201106_0099.wav'
Channels       : 1
Sample Rate    : 48000
Precision      : 16-bit
Duration       : 00:11:38.26 = 33516288 samples ~ 52369.2 CDDA sectors
File Size      : 67.0M
Bit Rate       : 768k
Sample Encoding: 16-bit Signed Integer PCM

我想用完整的时间戳批量重命名它们,就像

0099_yyyymmdd-HHMMSS.wav

使用 unix、SoX 甚至 Python,什么是解决我的问题的好方法,也许是“瑞士军刀”?感谢期待。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)