python - 如何将波形切片导出到每个样本与原始文件相同的位
问题描述
我正在通过一个包含新文件名、长度和版本的字典循环浏览一个大型波形文件。循环将各个切片导出为文件:
mix.export(key, format='wav')
但是,它将原始 24 位文件转换为 32 位切片。我一直在使用专业工具来将文件恢复到 24,因为我无法弄清楚 ffmpeg 设置或将切片放入子进程中。
我尝试了这个主题的几种变体:
mix.export(key, format='wav', codec='pcm_s24le')
还有这个:
mix.export(k, format='wav', parameters=['ffmpeg', '-i', '-acodec', 'pcm_s24le', '-ar', '48000'])
我似乎无法让各个切片在以下子流程调用中工作。key
是键值对中的文件名。这在 32 位导出中效果很好,但不确定如何在切片的临时文件(例如/var/folders/vc/q7jggn7900l099w45463lgx40000gn/T/tmpw_6mxyg8
需要调用)时使其工作。
subprocess.call(['ffmpeg', '-i', key,
'-acodec', 'pcm_s24le', '-ar', '48000', 'output.wav'])
希望与原始输入格式完全相同的切片:
mix_file = AudioSegment.from_wav(file_name)
解决方案
推荐阅读
- c++ - 如何使用 qmlRegisterType 在 QML 中指定 c++ 类型?
- machine-learning - 具有不平衡数据集的分类问题的性能度量
- unity3d - 动态控制 Unity Cinemachine vCams Blends:如何?
- apostrophe-cms - 是否可以根据其他字段值更改字段行为?
- excel - 将 cell.value 从一个范围传递到另一个子
- opencv - houghlinesp 和阈值处理
- r - 如何编写 n 个步骤,其中每个步骤都是从上一步创建的数据框?
- python - 当您的环境缺少模块时,如何快速运行 GitHub Code?
- vue.js - this.$route 在使用 this.$router.push() 时是否自动添加到参数中
- python - 烧瓶将CSV导入熊猫df