'''
1、播放时长以ms为单位,用python脚本生成,C代码中也应该这样子写。
2、输入的参数:
1、每个语音的命名
2、语音的序号
3、脚本输出的内容:
1、地址号 (地址从1开始,下个地址等于上个地址号+播放时长,最后地址号需要四舍五入,并且只保留整数)
2、播放时长(播放时长,单位为ms)
3、生成C语言代码,文件名字保存为voice.h
'''
import wave
import os.path
import xlsxwriter #用来写xlsx文件
import openpyxl #用来读xlsx文件
from openpyxl import load_workbook
import math
#
i = int()
# 音频存放文件夹相对路径
filedir = os.getcwd()
# 获取目录下所有文件
files = os.listdir(filedir)
# 获取目录下所有的WAV文件
wav_files = list()
wav_files_time = list()
for i in files:
if os.path.splitext(i)[1] == '.WAV':
wav_files.append(i)
# 文件名按照数字大小排序
wav_files.sort(key = lambda x:int(x[:-4]))
# 获取音频时长
for file in wav_files:
wav_path = filedir+'/'+file
with wave.open(wav_path,'rb') as f:
frames = f.getnframes()
rate = f.getframerate()
wav_length = frames / float(rate)
wav_files_time.append(wav_length)
#wav_length = round(frames / float(rate), 1)
print(file,"音频长度:",wav_length,"秒")
# excel文件操作
# 获取excel文件名
excel_name = os.getcwd() + '\\null.xlsx'
# 默认读写的方式打开xlsx文件
wb = load_workbook(excel_name)
# 通过Sheet名获取Sheet
第一次用Pythong写比较实用的东西,写了个自动生成C代码Python脚本
最新推荐文章于 2023-03-09 11:47:27 发布