Intro2musictech
公众号“无痛入门音乐科技”开源代码
Install / Use
/learn @beiciliang/Intro2musictechREADME
intro2musictech
公众号 「无痛入门音乐科技」 开源代码和相关资料链接
欢迎微信扫码关注或直接搜索 intro2musictech
<img src="attachment/qrcode.jpg" width="180">♬ 公众号文章同步更新 ipynb 代码 · 一边阅读一边执行 · 快速入门无痛 skr ♫
</div>Quick Start
git clone https://github.com/beiciliang/intro2musictech.git
cd intro2musictech
uv sync # 自动安装 Python 和所有依赖
uv run jupyter notebook # 启动 Jupyter Notebook
uv run marimo edit MIR-CC.py # 启动 marimo 交互式笔记本
编程零基础?展开下方 从零设置编程环境 查看详细指南。
文章目录
所有文章链接到微信公众号原文,也可通过 https://beiciliang.github.io/intro2musictech/ 浏览。
| 日期 | 文章 | 代码 | |:----:|------|------| | 2018.07.27 | 「README」无痛入门音乐科技门槛须知 | — | | 2018.07.28 | 「SETUP」从零设置编程环境 | 下方指南 · 00-Hello.ipynb | | 2018.08.03 | 「NIME-01」那些为身障人士设计的乐器 | — | | 2018.08.05 | 「MIR-01」要把音乐画出来,总共分几步? | MIR-01.ipynb | | 2018.08.11 | 「NIME-02」日常物件在没有成精的前提下如何发声儿? | The Bela Blog | | 2018.08.18 | 「MIR-02_1」音频特征小全之概览 | MIR-02_1.ipynb | | 2018.08.22 | 「INFO」音乐科技相关科研组列表 | INFO-ResearchGroups.md | | 2018.08.27 | 「NIME-03」为什么说钢琴是乐器之王?复杂! | 知乎问题 | | 2018.09.13 | 「MIR-02_2」音频特征小全之时域特征 | MIR-02_2.ipynb | | 2018.10.14 | 「MIR-02_3」音频特征小全之频域特征 | MIR-02_3.ipynb | | 2018.11.24 | 「MIR-02_4」音频特征小全之乐音特征 | MIR-02_4.ipynb | | 2018.11.30 | 「INFO」音乐科技相关会议期刊列表 | — | | 2018.12.17 | 「INFO」2018年度那些亮眼的音乐科技成就 | — | | 2019.02.18 | 「INFO」C4DM在ICASSP 2019的收录成果 | — | | 2019.08.19 | 「INFO」在C4DM读博是怎样一番体验? | — | | 2019.11.13 | 「MIR-02_4」音频特征小全之提取工具 | — | | 2020.01.12 | 「INFO」2019年度那些亮眼的音乐科技成就 | — | | 2020.03.07 | 「MIR-03」听歌识曲: 音乐宇宙里的占星师 | 知乎系列文章 | | 2020.03.14 | 「MIR-04」音乐推荐: 努力懂你的预言家 | — | | 2020.03.20 | 「MIR-05_0」震惊! AI发现这些歌竟然... | — | | 2020.04.30 | 「INFO」《音频音乐技术》正式出版 | — | | 2020.05.16 | 「说得好听」EP7-音乐推荐算法的小秘密 | 小宇宙播客 | | 2020.10.08 | 「MIR-05_1」音乐流派自动识别的前世今生 | — | | 2021.03.06 | 「INFO」2020年度那些亮眼的音乐科技成就 | — | | 2021.06.04 | 「MIR-05_2」当音乐标签化身为音频Embedding时能解决什么? | arXiv论文 | | 2021.08.06 | 「INFO」三分钟认识音乐科技 | YouTube视频 | | 2021.09.04 | 「MIR-06」打破砂锅问到底,不同python库做音频预处理的区别在哪里? | — | | 2022.10.17 | 「INFO」从数据角度聊聊音乐版权版税 | — | | 2023.03.26 | 「INFO」分享我的MIR研发技术栈 | B站视频 | | 2026.02.14 | 「MIR-CC」2026年,用Claude Code就可以无痛入门音乐科技 | MIR-CC.py · 在线预览 | | 2026.02.14 | 「INFO」连接音乐音频与自然语言(2024 ISMIR Tutorial) | 英文原版 · 中文版 | | 2026.02.15 | 「TECH」过年好!分享一个可速度分析AI论文的技能指令: /ai-paper-reader | — |
从零设置编程环境
<details> <summary><b>展开查看完整指南</b>(适用于编程零基础的读者)</summary>如果你已经清楚如何
git clone本项目,并能用 uv 安装 pyproject.toml 中的依赖之后,不报错地加载 00-Hello.ipynb 并运行其中代码,恭喜你,编程环境配置成功!
目录
1. 命令行
在计算机还没有酷炫的交互界面甚至连鼠标都没有的年代,人们通过命令行来操作程序,如果你学会了在命令行下如何操作,表面上能看起来像个黑客,实际上能大大加快操作速度。
假如你是 MacOS 或 Linux 用户,博主希望你懂得如何使用终端(Terminal);假如你是 Windows 用户,则希望你懂得如何使用命令窗口(Command Prompt)或 PowerShell。以下内容以在 MacOS 上操作为例!
打开命令行界面后,应该会看到一个白色或黑色的窗口,正等待着你的命令:
HOSTNAME:~ USER$
其中 HOSTNAME 的部分指主机名,冒号后的 ~ 表示当前路径在根目录下,USER 是用户名,最后 $ 提示终端在等待你输入命令。本文将主要用到 ls cd pwd git uv 这些命令。
ls — 列出当前路径下的所有文件:
HOSTNAME:~ USER$ ls
输入后回车,窗口中会返回所有文件和文件夹的名字。
cd — 进入某个文件夹,假设一个叫 Downloads 的文件夹在上述返回的名字列表中:
HOSTNAME:~ USER$ cd Downloads
pwd — 回车后"当前路径"已经由 ~ 变成这个文件夹的位置,输入 pwd 可以再确认:
HOSTNAME:Downloads USER$ pwd
/Users/USER/Downloads
cd .. — 返回上一级目录:
HOSTNAME:Downloads USER$ cd ..
这些就是最最基本的命令行了!下面的部分会继续讲解其他命令行的用法,需要时刻注意路径是否正确,指令之间是否有空格分隔等等。
2. Git 用法
Git 即版本控制,是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。程序员们用它才能最快发现到底是谁在什么时候删了一行不该删的代码。
公众号涉及的代码都是由博主先在自己的电脑上通过 git 进行本地版本控制,再托管到 GitHub 这个可以让读者们看到的地方。如果有错误的地方,其他人也可以发起 pull request 来纠正,博主再 git merge 把别人的修改意见融到自己的代码中。
git clone https://github.com/beiciliang/intro2musictech.git
克隆完成后若在当前路径下输入 ls,返回的名单中将包含 intro2musictech。
因为公众号的代码会随新文章的发布而增加更多内容,博主建议读者发现有新文章发布后通过 git pull 来同步更新。
Tips
- 如果实在觉得各种 git 指令太晦涩,可通过 GitHub Desktop 软件进行版本控制
- 如果想更深入了解 git 和 GitHub,英文好的读者可直接参考官方帮助文档,中文资料可参考这里
3. 用 uv 设置环境
现在通过 ls 查看一下 intro2musictech 文件夹里都有哪些东东:
HOSTNAME:~ USER$ ls intro2musictech
其中 attachment 文件夹里包含一些音乐素材和图片,以 .ipynb 为后缀的文件都是 Jupyter Notebook,重点是 pyproject.toml 中声明的 Python 库,成功安装这些才能确保今后所有 .ipynb 中的 Python 代码能跑起来。
不过首先需要解决的大事儿是,如何安装 Python?
我们借助 uv,它是一个非常快的 Python 包管理器,能帮你自动安装 Python 并管理依赖。
安装 uv:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安装 Python 和所有依赖:
cd intro2musictech
uv sync
