Skip to content

beiciliang/intro2musictech

Repository files navigation

intro2musictech

公众号 「无痛入门音乐科技」 开源代码和相关资料链接

欢迎微信扫码关注或直接搜索 intro2musictech

♬ 公众号文章同步更新 ipynb 代码 · 一边阅读一边执行 · 快速入门无痛 skr ♫

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 交互式笔记本

编程零基础?展开下方 从零设置编程环境 查看详细指南。

文章目录

日期 文章 代码
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

从零设置编程环境

展开查看完整指南(适用于编程零基础的读者)

如果你已经清楚如何 git clone 本项目,并能用 uv 安装 pyproject.toml 中的依赖之后,不报错地加载 00-Hello.ipynb 并运行其中代码,恭喜你,编程环境配置成功!

目录

  1. 命令行基础操作
  2. Git 用法
  3. 用 uv 设置环境
  4. 用 Jupyter Notebook 运行 Python
  5. 如何退出
  6. 后续工作

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 把别人的修改意见融到自己的代码中。

  1. 首先需要将 Git 安装在你的计算机上 — 安装指南
  2. 其次,你需要一个 GitHub 账号,这也能方便将来对自己代码的托管
  3. 之后通过 Git 命令行,将公众号的代码克隆到你的计算机上:
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

uv sync 会自动下载合适版本的 Python,创建虚拟环境,并安装 pyproject.toml 中声明的所有库。无需手动创建虚拟环境!

安装 ffmpeg(librosa 加载 mp3 格式的音频文件需要):

# macOS (Homebrew)
brew install ffmpeg

# Ubuntu / Debian
sudo apt install ffmpeg

Windows 用户可从 ffmpeg 官网下载并添加到系统路径。


4. 用 Jupyter Notebook 运行 Python

Jupyter Notebook 本身是一种网页端应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

在项目目录下启动:

uv run jupyter notebook

此时你的浏览器应该会直接弹出一个新页面,你也可以粘贴命令行返回的 URL 链接,拷贝到浏览器中打开应用。

  • 点击页面右侧的 New 并选择 Python 3 可新建一个 Notebook
  • 回到之前的页面,进入 intro2musictech 文件夹后打开 00-Hello.ipynb
  • 其中简要介绍了 Notebook 在跑 Python 代码时的妙用,你会用它加载一段音频后听到猫叫,并画出波形!

5. 如何退出

关闭 Notebook 不仅仅要关闭浏览器页面,在其运行的命令行界面,要通过两次 Ctrl+C 中止程序。


6. 后续工作

假设上述所有步骤都能成功执行,那么一旦有新文章时,读者可以在自己的电脑上获取更新后查看最新的 Notebook:

cd intro2musictech
git pull
uv sync
uv run jupyter notebook

About

公众号“无痛入门音乐科技”开源代码

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages