【问题标题】:How to convert MP3 to WAV in Python如何在 Python 中将 MP3 转换为 WAV
【发布时间】:2011-03-04 05:40:25
【问题描述】:

如果我有 MP3 文件,如何将其转换为 WAV 文件? (最好使用纯python方式)

【问题讨论】:

  • 解压缩 MP3 不适合在 Python 中实现。
  • 据我所知,没有人尝试用 Python 编写 MP3 解码器。生成的解码器会非常慢,无论如何在项目中没有任何意义;更自然的事情是制作一个包装 C 库的 Python 模块。重复使用已经编写和调试过的 C 代码,不要试图重新发明轮子。我也喜欢 Python,但有些项目不适合 Python,MP3 解码器就是其中之一。

标签: python mp3


【解决方案1】:

我维护了一个开源库 pydub,它可以帮助您解决这个问题。

from pydub import AudioSegment
sound = AudioSegment.from_mp3("/path/to/file.mp3")
sound.export("/output/path/file.wav", format="wav")

一个警告:它使用 ffmpeg 来处理音频格式转换(除了 wav 文件,python 本身可以处理)。

注意:您可能不应该在 GAE 上进行此转换:/ 即使它确实支持 ffmpeg。不过 EC2 很适合这项工作

【讨论】:

  • 你不知道这让我的项目变得多么棒。谢谢! :)
  • 这不是将 wav 转换为 mp3 吗?问题要求 mp3 播放。
  • @someone-or-other 哎呀,你是对的,虽然这只是改变代码中提到的格式的问题(我现在已经修复了)
  • 这会报错第三行应该是 sound.export("/output/path/file.wav", format="wav")
  • @NikhilWagh 出现该错误的最常见原因是找不到 ffmpeg 可执行文件
【解决方案2】:

这对我有用:

import subprocess
subprocess.call(['ffmpeg', '-i', 'audio.mp3',
                   'audio.wav'])

【讨论】:

  • pydub(@Jiaaro 的回答)正在后台执行此操作。
  • 不管我怎么做,它都会给我“FileNotFoundError: [WinError 2] 系统找不到指定的文件”
【解决方案3】:

我认为我是回答这个问题的合适人选,因为我是一个努力为这个问题找到答案的学生。我正在为 Windows 用户提供答案,但我认为这也可能适用于 MAC OS。但适合windows。

让我们分步骤讨论答案:

首先检查 pydub 和 ffmpeg 包。如果您的计算机没有这些软件包,请在命令提示符下安装 pydub

                    pip install pydub

接下来是 ffmpeg 包,它将图像转换为不同的格式。为此,您应该手动安装此软件包。让我告诉你为什么我们什么时候可以使用 pip 来安装包。首先 pip 安装包,但它不会存储系统的路径。所以计算机无法识别这个包路径。为此,我建议您手动安装,但如何....别担心会给你步骤。

第 1 步:

#当前链接

您已将其粘贴到 Google 中的第一个链接

https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip

#供未来的学生使用

但是现在人们会质疑这个链接将来可能会起作用。因为这个简单的答案是

https://www.gyan.dev/ffmpeg/builds/

在谷歌中输入此内容后,转到发布和下载 zip 文件夹,始终不要下载 7.zip。但只有当我的第一个链接将来无法使用时,才会有学生搜索答案。

第 2 步:从第一步第一个链接下载 zip 文件后。现在在C盘创建一个文件夹。为此,只需单击我的 PC,然后单击 OS(C:),创建一个新文件夹。将下载的 zip 文件复制粘贴到此文件夹。在这个新文件夹中提取 zip 文件。现在进入文件夹并从属性中复制此文件夹中“bin”的路径。

第 3 步:这是最后一步,也是您设置路径的重要一步。在笔记本电脑的搜索栏中搜索“编辑系统环境变量”。然后单击底部的“环境变量”以获取路径。这里它们是屏幕系统变量和用户变量中的两部分。现在您必须在系统变量中搜索路径“Path”,以便用于整个系统。双击系统变量中的“路径”。将出现一个窗口,您必须在其中选择“新建”。这里复制粘贴bin文件夹的路径。然后单击全部确定并关闭所有选项卡。

第 4 步:检查 ffmpeg 是否正确安装。现在在命令提示符下键入 ffmpeg,您将获得路径列表及其功能。这表明您已完成安装。

第 5 步:下载 mp3 文件。如果您已经下载了 python,则打开 IDLE 提示符。在 File 中单击 new 会出现一个记事本。这里要记住的一点是复制粘贴存储 python 代码的 mp3 文件。示例如果我想将 python 文件保存在 Desktop 中,则 mp3 文件应存储在桌面中。我想你有一个想法。现在复制粘贴我正在使用的代码

                import subprocess
                subprocess.call(['ffmpeg', '-i', 'ind.mp3','ind1.wav'])

然后点击运行模块

您将获得转化。

谢谢

这个答案可能会对你有所帮助。如果您想要将语音转换为文本代码和方法的代码和方法,您可以发给我。我希望这个 10 分钟的答案可以为您节省几个小时。

https://www.youtube.com/watch?v=vBb_eYThfRQ

使用此视频进行路径配置或步骤 3 以供参考,但将路径复制到系统变量而不是用户,因为整个系统都可以使用此包。如果我的语言不好,请不要介意,我认为这是可以理解的。

【讨论】:

    【解决方案4】:

    安装模块pydub。这是 Python 的音频处理模块。该模块可以打开多种多媒体音视频格式。您可以使用pip 安装此模块。

    pip install pydub
    

    如果您还没有安装 ffmpeg,请安装它。您可以使用您的包管理器来执行此操作。

    对于 Ubuntu / Debian Linux:

    apt-get install ffmpeg
    

    准备就绪后,执行以下代码:

    from os import path
    from pydub import AudioSegment
    
    # files                                                                         
    src = "transcript.mp3"
    dst = "test.wav"
    
    # convert wav to mp3                                                            
    sound = AudioSegment.from_mp3(src)
    sound.export(dst, format="wav")
    

    查看link了解详情。

    【讨论】:

      猜你喜欢
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 2017-07-06
      • 2017-08-23
      • 1970-01-01
      • 2021-08-26
      • 2014-10-17
      相关资源
      最近更新 更多