|-原 利用缓存技术 节省python脚本执行时间
FULL_AUDIO_CACHED_DIR = r"D:\Temp\audio_cache"
def get_full_audio_cached(audio_file):
"""
带缓存的音频加载,避免每次重新解码。
缓存 key 基于音频文件路径的 md5,缓存目录为 FULL_AUDIO_CACHED_DIR。
"""
os.makedirs(FULL_AUDIO_CACHED_DIR, exist_ok=True)
cache_key = hashlib.md5(audio_file.encode("utf-8")).hexdigest()
cache_path = os.path.join(FULL_AUDIO_CACHED_DIR, f"{cache_key}.npy")
# 缓存命中且源文件未更新
if os.path.exists(cache_path):
if os.path.getmtime(audio_file) <= os.path.getmtime(cache_path):
print(f" [缓存命中] 加载: {cache_path}")
t0 = time.time()
# wav = np.load(cache_path, mmap_mode="r")
wav = np.load(cache_path) # ← 改这里,去掉 mmap_mode="r" 除了在硬盘上有缓存文件,在内存还copy了一份 20260903
duration = len(wav) / 16000.0
print(f" 加载耗时: {time.time()-t0:.3f}s, 时长: {duration:.1f}s")
return wav, duration
# 缓存未命中或源文件已更新
print(f" [缓存未命中] 解码音频: {audio_file}")
t0 = time.time()
wav = whisperx.load_audio(audio_file)
duration = len(wav) / 16000.0
print(f" 解码耗时: {time.time()-t0:.1f}s, 时长: {duration:.1f}s")
# 写缓存
print(f" 写入缓存: {cache_path}")
t_cache = time.time()
np.save(cache_path, wav)
print(f" 缓存写入完成, 耗时: {time.time()-t_cache:.2f}s")
return wav, duration
20260903 1820 ...
浏览更多内容请先登录。
立即注册
更新于:2026-09-03 18:20:51
相关内容
AI和Python 学习整理
AudioSeparationGUI 对输入的音频,自动根据说话人进行分类 20250817
SoloSpeech 项目安装和运行测试 20250817
python 多项目部署 优先考虑用Anaconda
espnet 声音分离
ClearerVoice-Studio 安装测试遇到的问题,安装pysptk一直失败
uvr5 bs roformer 爆显存以及关于huggingface的国内镜像hf-mirror.com
用Kimi编程
Studio One 调试插件Techivation AI-Rack 一键智能混音
在hf-mirror.com模型镜像站用代码下载模型遇到报错 speaker-diarization模型不...
用腾讯元宝编程
Conda国内镜像源
数字对象标识符 (DOI)
在创建conda环境时,如果不指定Python版本,conda将不会默认安装Python。
whisperx 的使用 音频处理
Win10系统 Trae的使用 关于powershell报错: 因为在此系统上禁止运行脚本
warp的使用
AI编程工具比较
FastApi
python 报错整理2
给出一份「Python 中常见 import 名称 与 pip install 名称不一致」的速查表
Windows用Conda创建环境报错 CondaToSNonInteractiveError: Terms of Se...
快速验证顺序是否被改
Python 学习整理2
fastapi-speaker-extractor whisperx 项目报错 ValueError: The chosen ...
python报错 UnicodeEncodeError: 'gbk' codec can't encode character '\u...
python whisperx 报错 in load_align_model raise ValueError(f'The ch...
pyannote/embedding 模型是真难引入模型
Trae 或者是我自己 莫名奇妙创建了个文件,影响了项目代码的运行。
WhisperX 无法加载模型
HUGGINGFACE_HUB_CACHE 设置错误导致的问题
Trae的bug太多了,怪不得免费
通义之旅
通义之旅2
目标说话人声音提取模型训练的思路
python报错 can't convert cuda:0 device type tensor to numpy. Use Tenso...
Expected all tensors to be on the same device, but found at least two ...
腾讯元宝推荐的项目结构(音频处理项目)
音频处理项目fse
各种python 相关命令
python 报错 SyntaxError: 'return' outside function
python常用命令
腾讯编程助手
python一些扩展兼容安装的处理方案
python 和 conda
启动powershell,conda 自动激活base
python and shell
为什么使用副 shell 脚本生成 Python 文件
推荐内容