WAV 转 flac 格式

news/2025/10/12 9:58:36/文章来源:https://www.cnblogs.com/aclq/p/19136297

WAV 转 flac 格式

刘姐的歌版权掉了
image
之前网盘里有 WAV 文件,只好再搞下了
image

文件转换

https://www.freeconvert.com/zh/wav-to-flac

歌词封面(MusicTag)

image

wav ===> flac 格式后,文件体积变小

WAV 是最原始的音频数据格式,比如:

  • 每一秒的波形采样(44100次 × 每次16位 × 声道数)

而 FLAC 使用类似 ZIP 的算法来 “无损压缩”

  • 它分析音频信号中的冗余数据(比如连续的相似波形)
  • 然后用数学模型编码起来
  • 播放时再100%还原出原始数据(与 WAV 完全相同)

💡 所以 FLAC 体积更小,但质量没有任何损失。

🎧 最终版:智能 WAV → FLAC 批量转换器

import os
import platform
from pydub import AudioSegment
from tqdm import tqdm# === 🗂️ 配置区(请根据需要修改) ===
input_folder = r"D:\Music\wav_files"     # 👉 WAV 文件夹路径
output_folder = r"D:\Music\flac_output"  # 👉 FLAC 输出路径
delete_original_wav = False              # 👉 转换后是否删除原始 WAV 文件(True/False)# === 🚀 主逻辑 ===
def convert_wav_to_flac():os.makedirs(output_folder, exist_ok=True)wav_files = [f for f in os.listdir(input_folder) if f.lower().endswith(".wav")]if not wav_files:print("⚠️ 没有找到任何 WAV 文件。请检查输入路径。")returnprint(f"🎵 共找到 {len(wav_files)} 个 WAV 文件,开始转换...\n")for filename in tqdm(wav_files, desc="转换进度", ncols=80):wav_path = os.path.join(input_folder, filename)flac_name = os.path.splitext(filename)[0] + ".flac"flac_path = os.path.join(output_folder, flac_name)try:sound = AudioSegment.from_wav(wav_path)sound.export(flac_path, format="flac")if delete_original_wav:os.remove(wav_path)except Exception as e:print(f"\n❌ 转换 {filename} 出错: {e}")print("\n✅ 所有文件转换完成!")# 自动打开输出文件夹open_folder(output_folder)# === 💻 自动打开文件夹(兼容 Windows / Mac / Linux) ===
def open_folder(path):system_name = platform.system()try:if system_name == "Windows":os.startfile(path)elif system_name == "Darwin":  # macOSos.system(f"open '{path}'")else:  # Linuxos.system(f"xdg-open '{path}'")print(f"📂 已自动打开输出文件夹:{path}")except Exception as e:print(f"⚠️ 打开文件夹失败:{e}")if __name__ == "__main__":convert_wav_to_flac()

🧩 使用说明

  1. 安装依赖(仅需一次):
pip install pydub tqdm ffmpeg-python

并确保系统安装了 ffmpeg(否则无法转换)。

  1. 修改顶部三行配置:
  • input_folder → 放 WAV 文件的文件夹
  • output_folder → 输出 FLAC 的位置
  • delete_original_wav = True 如果你想在转换完成后自动删除原始 WAV 文件
  1. 运行脚本:
python wav_to_flac.py

转换完成后会:

  • 自动显示进度条 ✅
  • 自动打开输出文件夹 ✅
  • (可选)自动删除 WAV ✅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EtherCAT芯片没有倍福授权的风险

使用未获得倍福授权的EtherCAT芯片可能面临多维度风险,尤其在技术合规性、市场准入和长期业务稳定性方面。以下是具体分析: 一、法律与专利风险 1.专利侵权责任 EtherCAT 技术的核心专利虽已到期,但EtherCAT技术协会…

为何是「对话式」智能体?因为人类本能丨对话式智能体专场,Convo AIRTE2025

在文字诞生之前,人类通过对话交换情感和思想——充满温度与实时反馈。今天,AI 与实时互动技术正引领一场「对话式社会」复兴,让沟通回归本能。从智能终端、儿童 AI 导师到智能客服,语音交互技术正让「对话式智能体…

2014-2024高考真题考点分布详细分析(另附完整高考真题下载) - 详解

2014-2024高考真题考点分布详细分析(另附完整高考真题下载) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &qu…

详细介绍:MySQL专用服务器自动调优指南

详细介绍:MySQL专用服务器自动调优指南2025-10-12 09:50 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

P4147 玉蟾宫(最大子矩形)

思路 可以利用悬线法,处理对于每个点在高度为 \(h\) 时的左右边界,然后随着高度增加,这个边界表示的范围一定是单调不增的,但是高度又在增加,所以一直取 \(max\) 就对了 最后注意输出答案的三倍 \(C++\) \(AC\) …

【实录】应用 Verdaccio 从零搭建私有 npm 仓库(含完整步骤及避坑指南)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤

CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤​它是 ​CentOS 7 系统里的一个 ​基础库文件包​(名字叫 bzip2-libs),主要作用是为其他需要压缩/解压功能的软件(比如 bzip2命令行工具或其他依赖它…

2025 年 10 月西安房屋鉴定公司最新推荐排行榜:覆盖房屋安全评估、结构检测、承载力鉴定、危房鉴定领域,助您选专业机构

随着房地产行业不断发展,房屋安全成为民众与企业关注的重点,房屋鉴定作为保障房屋安全的核心环节,其重要性愈发凸显。但当前行业内存在诸多问题,部分机构资质不全、技术团队专业度不足、仪器设备落后,还有些服务流…

完整教程:HAProxy 完整指南:简介、负载均衡原理与安装配置

完整教程:HAProxy 完整指南:简介、负载均衡原理与安装配置pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

单片机学习日记 - 详解

单片机学习日记 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &quo…

金铲铲明星学生2触发条件

金铲铲明星学生2触发条件需要2个不同学院棋子吃果实,都吃到明星学生果实,上场后,触发明星学生2。 1:2:3:-

GESP C++5级 2025年6月编程2题解:最大公因数 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

阿里发布「夸克 AI 眼镜」:融合阿里购物、地图、支付生态;苹果拟收购计算机视觉初创 Prompt AI丨日报

这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「有看点的…

在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名AI聊天框架需求探索

本文基于某知名开源AI聊天框架的文档和用户反馈,深入分析其核心功能特性及应用场景,并挖掘用户提出的潜在新需求,为项目未来发展提供参考方向。a.内容描述核心功能定位:该项目是一个开源AI聊天机器人框架,集成了多…

数论学习之路

完成今日份数论大学习 (是/否)如果不太影响理解与运用的证明 或是我不会的证明 就都不计喽 关于数论分块我就不想写了感觉比较基础线性筛 先来说线性筛 一篇推荐的博客 可 \(O(n)\) 预处理积性函数 常见用法:\(f(1)=1…

CSharp: Aspose.Cells 8.3.0 web excel Viewer

GroupDocsXslViewerGroupDocs.ViewerSupported formatsWord: DOCX, DOC, ODT, RTF, TXT.PowerPoint: PPTX, PPT, ODP.Excel: XLSX, XLS, ODS, Numbers, CSV.Fixed Page Layout: PDF, XPS.Graphics: CDR, DCM, AI, PSD.…

详细介绍:C# WinForms的入门级画板实现

详细介绍:C# WinForms的入门级画板实现2025-10-12 09:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

【springboot的分页功能TableDataInfo,有时候需要艰难的分页实现,怎么办呢?】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

生成式AI实现多模态信息检索技术突破

本文介绍了一种基于生成式AI的多模态信息检索框架GENIUS,通过语义量化和查询增强技术,直接生成数据ID代码而非传统向量比对,显著提升了检索效率。该方法在多项测试中性能提升22%-56%,解决了大规模数据集下的检索效…

在运维工作中,如何过滤某个目录在那边什么路径下面?

在 Linux 中,如果你想要查找某个特定目录位于哪个路径下(即查找目录的位置),可以使用以下几种常用的命令来“过滤”或搜索该目录。以下是几种最实用的方法:✅ 1. 使用 find 命令(最常用、最强大) find /path/to…