You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在midi-ddsp模型代码中导出音频?运行进度停滞求助

解决midi-ddsp运行中的两个问题

1. 导出数组格式的合成音频

synthesized_audio_changed是Tensor或numpy数组格式的音频数据,可通过以下方法导出为WAV文件:

方法:使用scipy保存WAV

先安装scipy(如果未安装):

pip install scipy

然后添加代码保存音频:

from scipy.io.wavfile import write
import numpy as np

# midi-ddsp默认采样率为16000Hz
sample_rate = 16000

# 转换为numpy数组(如果是Tensor格式)
audio_data = synthesized_audio_changed.numpy() if isinstance(synthesized_audio_changed, tf.Tensor) else synthesized_audio_changed

# 将[-1, 1]范围的float32数组转换为WAV兼容的int16格式
audio_int16 = (audio_data * 32767).astype(np.int16)

# 保存到指定路径
write('adjusted_audio.wav', sample_rate, audio_int16)

2. 解决进度停滞问题

midi-ddsp并非仅支持Colab环境,本地可正常运行,进度条停滞可从以下方向排查:

  • 首次运行的初始化耗时:第一次加载预训练模型或执行推理时,TensorFlow会编译计算图、下载预训练权重,这个过程可能需要数分钟,看似停滞实则在后台运行,耐心等待即可。
  • 硬件加速问题:如果用CPU运行,处理2712个步骤会非常缓慢,建议切换到GPU加速(确保安装GPU版TensorFlow,显卡驱动配置正确)。
  • 进度条显示异常:本地终端可能不支持tqdm的交互式进度条,导致显示停滞但进程正常运行。可尝试在代码中显式设置进度条参数,或查看终端是否有其他日志输出确认进程状态。
  • 路径与文件有效性:确认midi_file的绝对路径正确,且目标MIDI文件存在,路径错误可能导致隐性阻塞。
  • TensorFlow版本兼容:midi-ddsp依赖TensorFlow 2.x系列(推荐2.8~2.10版本),版本不匹配可能引发运行异常。执行pip show tensorflow检查版本,必要时调整。
  • 进程组配置:在加载模型前显式初始化进程组,避免分布式环境配置问题:
# 放在load_pretrained_model()之前
get_process_group()

如果等待后仍无进展,建议查看终端的报错日志,可能有隐性错误被进度条遮挡。

内容的提问来源于stack exchange,提问作者M.pillow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:23:09