# Linux（debian 12）下有什么工具能方便的将 目录及子目录 下所有的 Wav 文件和 Ape 文件转换为 Flac 格式的么？

**URL:** <https://meta.appinn.net/t/topic/53741>\
**Category:** 问题求助\
**Created:** [2024 年3 月 11 日 08:31 UTC](https://meta.appinn.net/t/topic/53741 "2024-03-11T08:31:22Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

作者： ![818ba4071bc8](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/8/a88e4f/32.png) [@818ba4071bc8](https://meta.appinn.net/u/818ba4071bc8)\
发布日期： [2024 年3 月 11 日 08:31 UTC](https://meta.appinn.net/t/topic/53741/1 "2024-03-11T08:31:22Z")

</div>

linux（debian 12）下有什么工具能方便的将 目录及子目录 下所有的 Wav 文件和 Ape 文件转换为 Flac 格式的么？

一直以来我都是开Windows虚拟机用 aimp 转换格式，想寻找一个linux的工具，减少开虚拟机的需求

---

<div class="post-metadata">

作者： ![LOTUS1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/l/ea666f/32.png) [@LOTUS1](https://meta.appinn.net/u/LOTUS1)\
发布日期： [2024 年3 月 11 日 08:34 UTC](https://meta.appinn.net/t/topic/53741/2 "2024-03-11T08:34:00Z")

</div>

叫gpt写个python文件调用ffmpeg吧

---

<div class="post-metadata">

作者： ![goddaneel](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/goddaneel/32/57849_2.png) [@goddaneel](https://meta.appinn.net/u/goddaneel)\
发布日期： [2024 年3 月 11 日 08:49 UTC](https://meta.appinn.net/t/topic/53741/4 "2024-03-11T08:49:30Z")

</div>

ffmpeg写个循环就行。  
我自用的转mp3函数如下，可供参考。  
子目录的话可以用find命令，另外ffmpeg转wav和ape的命令有所不同，要比这个简单。

```sh
ffmpegmp3 () 
{ 
    ( set -eu;
    _1_="${1:?}"; #需要转换的格式
    cd "${2:-.}"; #操作目录，默认当前目录
    pwd;
    for loopfor in *.${_1_};
    do
        [[-r "${loopfor}"]] && { 
            mkdir -pv "./_ffmpeg_mp3"
        };
        ffmpeg -i "${loopfor}" -ab 640k "./_ffmpeg_mp3/${loopfor%.*}.mp3";
    done
}

```

---

<div class="post-metadata">

作者： ![818ba4071bc8](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/8/a88e4f/32.png) [@818ba4071bc8](https://meta.appinn.net/u/818ba4071bc8)\
发布日期： [2024 年3 月 11 日 09:22 UTC](https://meta.appinn.net/t/topic/53741/5 "2024-03-11T09:22:11Z")

</div>

我去试一下

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2024 年3 月 11 日 10:01 UTC](https://meta.appinn.net/t/topic/53741/6 "2024-03-11T10:01:57Z")

</div>

写了个 shell 脚本，您可以试一试，不知道行不行（手头没有电脑，凭经验在手机上写的）

```bash
#!/bin/sh

for FILE in `find . -name ".wav"`
do
    ffmpeg -i $FILE ${FILE::-3}flac
done

for FILE in `find . -name ".ape"`
do
    ffmpeg -i $FILE ${FILE::-3}flac
done

```

---

<div class="post-metadata">

作者： ![818ba4071bc8](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/8/a88e4f/32.png) [@818ba4071bc8](https://meta.appinn.net/u/818ba4071bc8)\
发布日期： [2024 年3 月 11 日 10:47 UTC](https://meta.appinn.net/t/topic/53741/7 "2024-03-11T10:47:39Z")

</div>

我发现我漏写了一个需求，因为 wav 和 ape 格式的音乐基本都是整轨的，所以还需要先借助 cue 文件将 wav 和 ape 文件进行分轨，然后才行进行格式转换 :rofl:

---

<div class="post-metadata">

作者： ![AdminAppinn](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/a/b77776/32.png) [@AdminAppinn](https://meta.appinn.net/u/AdminAppinn)\
发布日期： [2024 年3 月 11 日 16:26 UTC](https://meta.appinn.net/t/topic/53741/8 "2024-03-11T16:26:42Z")

</div>

用wine, 别用虚拟机?

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2024 年3 月 12 日 00:06 UTC](https://meta.appinn.net/t/topic/53741/9 "2024-03-12T00:06:24Z")

</div>

Linux 上可以用 shntool 进行分轨，您可以看看这篇文章的第 3 节：

> **[音乐文件 Cue 切割方法](https://xishansnow.github.io/posts/9a60fb94)**
>
> 音乐文件 Cue 切割方法

---

<div class="post-metadata">

作者： ![Haiku](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/edb3f5/32.png) [@Haiku](https://meta.appinn.net/u/Haiku)\
发布日期： [2024 年3 月 12 日 14:24 UTC](https://meta.appinn.net/t/topic/53741/10 "2024-03-12T14:24:17Z")

</div>

使用 flacon, 带gui界面。

---

<div class="post-metadata">

作者： ![VictoryRoad](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/victoryroad/32/58964_2.png) [@VictoryRoad](https://meta.appinn.net/u/VictoryRoad)\
发布日期： [2024 年3 月 12 日 14:27 UTC](https://meta.appinn.net/t/topic/53741/11 "2024-03-12T14:27:09Z")

</div>

补个官网链接：

[https://flacon.github.io/](https://flacon.github.io/)

---

<div class="post-metadata">

作者： ![818ba4071bc8](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/8/a88e4f/32.png) [@818ba4071bc8](https://meta.appinn.net/u/818ba4071bc8)\
发布日期： [2024 年3 月 12 日 16:38 UTC](https://meta.appinn.net/t/topic/53741/12 "2024-03-12T16:38:51Z")

</div>

试了一下

1. 使用 ffmpeg 不知道为啥，老出错，放弃
2. 使用 shntool 倒是可以完成分轨和格式转换，但转换好的 flac 文件，音乐标签全都丢失了
3. 使用 flacon 顺利完成分轨和格式转换，也保留了所有的音乐标签，基本完美

在此多谢各位大佬的支援，若有其他更优秀的工具，也望追加支援
