SoundCloud音乐下载终极指南:scdl一条命令搞定单曲、歌单与收藏归档
【免费下载链接】scdlSoundcloud Music Downloader项目地址: https://gitcode.com/gh_mirrors/sc/scdl
scdl(SoundCloud Music Downloader)是一款免费开源、跨平台的命令行音乐下载工具,只需一条命令,就能把SoundCloud上的单曲、歌单、用户主页音频批量保存到本地,并自动补齐封面、标题、艺术家等完整元数据,让你的离线曲库整整齐齐、随时可听。
还在网页上逐首点保存?这些场景你一定经历过
经常在SoundCloud上淘歌的人,大概都体会过下面这些麻烦:
- 喜欢的DJ一晚更新几十首混音,手动一首首点下载,手都点酸了;
- 歌单里躺着上百首曲子,想全部离线收藏,网页却只支持单曲下载;
- 下回来的文件乱七八糟,文件名像乱码,没封面、没歌手、没专辑信息;
- 想追更某位音乐人的新作,却要每天手动刷页面对比有没有更新。
如果你也有类似的困扰,那么 scdl 就是为你准备的答案。它把"找链接、下音频、写标签、整理目录"这一整套流程压缩成一条命令,剩下的交给程序自动完成。
scdl 是什么:一个住在命令行里的 SoundCloud 下载管家
scdl 是用 Python 编写的开源项目,本质上是围绕 yt-dlp 封装的一层"傻瓜式"外壳:它自动识别你粘贴的链接类型,自动切换单曲、歌单、用户等不同下载策略,再调用 mutagen 为音频写入 ID3 标签。它有三个非常实在的特点:
- 跨平台:Windows、macOS、Linux 都能跑,命令行为完全一致;
- 零图形界面依赖:装好就能用,天然适合脚本化和定时任务;
- 自动补全元数据:下载完成后自动写入歌曲标题、艺术家、专辑名和封面图。
项目核心命令入口在 scdl/scdl.py,下载后的标签处理逻辑分布在 scdl/patches/ 目录下,想深挖原理的同学可以直接翻源码。
三步完成环境搭建:比你想象中简单
scdl 对环境的要求非常克制,只需要两样东西:
| 依赖 | 作用 | 备注 |
|---|---|---|
| Python 3.10+ | 运行程序本身 | 官方推荐 3.10 及以上版本 |
| FFmpeg | 音频流处理与转码 | 无损下载、格式转换时必需 |
第一步:获取项目代码
git clone https://gitcode.com/gh_mirrors/sc/scdl第二步:安装
用 pip 一条命令即可完成全局安装:
pip install scdl装好后在任意终端敲scdl --version,能打印出版本号就说明一切就绪。
第三步:确认 FFmpeg 可用
FFmpeg 是音频处理的"发动机",按你操作系统的常规方式安装即可,装完顺手验证一下:
ffmpeg -version从一首歌到一整个歌单:scdl 批量下载的日常场景
scdl 最贴心的地方在于链接自适应:不管你贴的是单曲、歌单还是用户主页,它都能自动判断类型并执行对应的下载任务,无需额外声明。
下载单曲
scdl -l https://soundcloud.com/jumpstreetpsy/low-extender一条命令,那首歌就会被保存到当前目录,文件名默认由歌曲ID、歌手和标题组成。
下载整个歌单
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship下载歌单时,scdl 会自动创建以歌单命名的子文件夹,并把每首歌按序号排列,离线听歌的体验和在线几乎无差别。
批量获取一位音乐人的全部作品
这是最实用的场景之一,只需要在链接后面跟一个字母参数:
| 参数 | 含义 | 适用场景 |
|---|---|---|
-a | 下载用户全部作品(含转发) | 完整备份一位音乐人 |
-t | 仅下载用户自己上传的曲目 | 只要原创作品 |
-f | 下载用户收藏(喜欢)的歌 | 一键搬走整个收藏夹 |
-p | 下载用户的所有歌单 | 批量转移歌单库 |
-r | 下载用户的所有转发 | 跟踪转发动态 |
比如,把某位音乐人的全部作品连同转发一起归档:
scdl -l https://soundcloud.com/quanta-uk -a想把自己收藏夹里的好歌全部离线化,把参数换成-f即可。更妙的是,配合认证令牌还能直接操作自己的账号:
scdl me -f懒得翻链接?直接用关键词搜
不知道具体链接时,可以用搜索参数快速定位:
scdl -s "psytrance mix"scdl 会取搜索结果的第一条作为下载目标,适合快速试听和临时下载。
进阶玩法:让下载变成自动化的音乐库同步
对曲库量大的用户来说,scdl 最有价值的其实是它的增量同步能力——它能让你的本地音乐库和线上歌单保持对齐,只下载新增内容,还能自动清理已下架的曲目。
只下载新增曲目
首次下载时生成一个"下载档案",之后每次执行都会对照档案,自动跳过已经下载过的歌:
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship --download-archive archive.txt -c其中的-c表示遇到已存在的文件时继续执行而不中断,配合档案文件使用效果最佳。
全量同步歌单
想让本地与线上彻底一致,用--sync更省心:
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship --sync archive.txt它会对比档案与线上歌单:新出现的歌曲自动补下,已经下架的从本地移除,你的本地歌单永远和线上保持同步,追更再也不用手动盯。
控制下载节奏
- 想从歌单第 N 首开始?加
-o 5跳过前 4 首; - 只想收小体积文件?用
--max-size 10m跳过大于 10MB 的曲目; - 想过滤低码率内容?
--min-size可以帮你筛掉小文件。
无损音质下载与元数据整理:不只是把歌"存"下来
对音乐爱好者来说,下载只是第一步,文件质量和管理体验同样重要,scdl 在这两方面都给了不少实在的选项。
追求更好的音质
--flac:把原始无损文件转换为 FLAC 格式(仅当原文件为无损时有效);--opus:优先选择 Opus 流而非 MP3 流;--onlymp3:只下载 MP3 格式,兼容老设备;--original-art:下载原始分辨率封面,而不是 500×500 的压缩图。
让文件"自带名片"
下载完成后,scdl 会自动写入 ID3 标签(标题、艺术家、专辑、封面),大多数播放器打开就能看到完整信息。还有几个小开关值得一试:
--extract-artist:从标题中提取艺术家,而不是一律使用用户名;--add-description:把歌曲描述保存为独立的 txt 文件,方便了解创作背景;--no-album-tag:避免同一专辑下所有歌曲共享同一张封面的显示问题。
用配置文件固定你的"下载习惯"
如果你有稳定的偏好(比如固定下载目录、自定义命名规则),没必要每次都敲一堆参数。scdl 会在~/.config/scdl/scdl.cfg生成配置文件(项目内的示例见 scdl/scdl.cfg),常见的可配置项包括:
| 配置项 | 作用 |
|---|---|
path | 默认下载目录 |
name_format | 文件命名模板,如[%(id)s] %(uploader)s - %(title)s.%(ext)s |
playlist_name_format | 歌单内曲目的命名模板 |
client_id/auth_token | 预填认证信息,免去每次手动指定 |
需要临时覆盖配置时,命令行参数永远优先,比如用--path /music/soundcloud临时换个下载目录。
几个实用小提示
- 拿不准参数含义,随时输入
scdl --help查看完整说明; - 下载异常时加
--debug能看到详细日志,方便定位问题; - 想要 yt-dlp 的更多高级能力?用
--yt-dlp-args把自定义参数透传过去,相当于白捡了整个生态; - 下载中途断网不要慌,配合
-c重新执行即可接着下; - 希望歌单里某首失败就整体中止?
--strict-playlist可以按需开启严格模式。
现在就动手:构建你的专属离线曲库
从环境搭建到批量归档,scdl 把 SoundCloud 音乐下载这件事变得异常简单——单曲、歌单、收藏、用户主页全覆盖,元数据自动整理,还支持增量同步与多种音质偏好。无论你是音乐爱好者、混音DJ,还是想批量收集素材的创作者,它都能成为你的得力助手。
还等什么?克隆项目、安装依赖、粘贴第一条链接,几分钟后你就能拥有一个整整齐齐的本地音乐库:
git clone https://gitcode.com/gh_mirrors/sc/scdl pip install scdl scdl -l https://soundcloud.com/你的目标链接Enjoy your music! 🎧
【免费下载链接】scdlSoundcloud Music Downloader项目地址: https://gitcode.com/gh_mirrors/sc/scdl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考