macOS下将微信收藏的语音条文件.silk转为mp3的方法

在macOS系统中,微信收藏的语音条文件通常以.silk格式存储。由于.silk是一种专有格式,直接播放或处理这些文件可能会有困难。本文将介绍如何将.silk格式的语音文件转换为更通用的.mp3格式。

1. 工具准备

首先,你需要准备以下工具:

  • FFmpeg: 一个强大的多媒体处理工具,支持多种音视频格式的转换。
  • silk-v3-decoder: 一个用于解码.silk格式的工具。

2. 安装FFmpeg

你可以使用Homebrew来安装FFmpeg:

brew install ffmpeg

3. 下载并配置silk-v3-decoder

你可以从GitHub上下载silk-v3-decoder项目:

我在这儿将它直接编译成一个小工具 decoder_mac ,如果你不需要,可以忽略make这一步

macOS-arm64下我编译好的,可以直接下载拿去用,就可以跳过这个编译过程! decoder_mac.zip

git clone https://github.com/kn007/silk-v3-decoder.git
cd silk-v3-decoder/silk
make

4. silk文件的目录

这儿只说macOS下的,windows下的我并不清楚~
~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9
然后在这个目录下会有类似 975c384fc42bf8f6556b3bfb4496c6d7 这样的目录文件夹(每个不同的微信这个目录名不同),然后进入目录Favorites - Data,这个目录下就全部是收藏夹的信息了~~实在是不知道哪个是你的对不对,搜索吧~~~,直接在当前文件夹位置搜索silk即可
search.png

5. 自动化脚本

目录结构

silk //源文件目录
mp3 //输出的目录
decoder_mac //我编译的在mac下的工具
convert_silk_to_mp3.sh //一脚脚本

为了简化上述步骤,你可以编写一个Shell脚本来自动化整个转换过程。以下是一个示例脚本:

#!/bin/bash

# 定义目录变量
BASE_DIR=$(dirname "$0") # 当前脚本所在目录
SILK_DIR="$BASE_DIR/silk" # silk 文件目录
MP3_DIR="$BASE_DIR/mp3"   # mp3 文件输出目录

# 确保 silk 目录存在
if [ ! -d "$SILK_DIR" ]; then
    echo "错误:silk 目录不存在!请创建 silk 目录并放入 .silk 文件。"
    exit 1
fi

# 确保 mp3 目录存在
if [ ! -d "$MP3_DIR" ]; then
    mkdir -p "$MP3_DIR"
fi

# 遍历 silk 目录下所有 .silk 文件
for silk_file in "$SILK_DIR"/*.silk; do
    if [ -f "$silk_file" ]; then
        # 获取文件名,不含路径和后缀
        base_name=$(basename "$silk_file" .silk)
        
        # 定义中间文件和输出文件路径
        pcm_file="$SILK_DIR/$base_name.pcm"
        mp3_file="$MP3_DIR/$base_name.mp3"

        echo "正在处理文件: $silk_file"

        # 调用 decoder_mac 解码为 pcm
        "$BASE_DIR/decoder_mac" "$silk_file" "$pcm_file"
        if [ $? -ne 0 ]; then
            echo "解码失败:$silk_file"
            continue
        fi

        # 使用 ffmpeg 转换 pcm 为 mp3
        ffmpeg -y -f s16le -ar 24000 -ac 1 -i "$pcm_file" "$mp3_file"
        if [ $? -ne 0 ]; then
            echo "转换失败:$pcm_file"
            continue
        fi

        # 删除中间的 pcm 文件
        rm -f "$pcm_file"

        echo "转换完成: $mp3_file"
    else
        echo "未找到 .silk 文件!"
    fi
done

echo "所有文件处理完成!"

将上述脚本保存为convert_silk_to_mp3.sh,并赋予执行权限:

chmod +x convert_silk_to_mp3.sh

然后你可以使用以下命令来转换文件:

./convert_silk_to_mp3.sh

标签: macOS

相关文章

macOS下对现有 DMG 文件进行空间扩容

在macOS下对现有的DMG文件进行空间扩容,可以通过使用hdiutil命令来实现。具体步骤如下:打开终端应用。使用hdiutil resize命令来调整DMG文件的大小。例如,如果你想将一个名...

我的macOS工具箱 常用软件整理

开发工具Java、Go、PHP、前端、iOS等,我基本上就用这五个,最近最出的cursor很火,但是用了一段时间后,还是没有IDEA全家桶来的爽...数据库Mysql常用的是Sequel Ace...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件