从 “零” 做个开源音乐软件“SteadyBeat”吧!<1> 准备

       换换脑子,做个音乐软件,根据调性、和弦走向(情感)、节拍、速度等需求,结合AI和一众工具,自动生成伴奏、Solo等,有点像库乐队!自己平时也用得着,暂时取名叫《SteadyBeat》吧!

  • 安装 fluidsynth 2.4.5 (基于 SoundFont 2 规范的实时软件合成器。它本身没有图形用户界面,但可以通过命令行或与支持 SoundFont 的应用程序集成来使用)
brew install fluidsynth
  • 我的是MacOS Sonoma 14.5,已经用了很多年了,环境很乱,所以安装的时候出现两个link的问题,一个是lame,一个是ffmpeg
# 可以看到,都有两个版本
➜  ~ brew list --versions ffmpeg(多媒体处理工具)
ffmpeg 3.1.1 7.1.1_2
➜  ~ brew list --versions lame  (开源音频编码器)
lame 3.100 3.99.5# 时间久远,我也忘了当时是干什么的,索性就直接unlink了
brew unlink ffmpeg
brew link --overwrite ffmpeg --dry-run
which ffmpeg
ffmpeg --version# 查看安装版本
fluidsynth --version
  • 下载一些sf2文件,我是在 generaluser 下载的,可以用 ployphone 打开和试听
  • 也可以使用命令行查看音色,前边是的Bank,后边的是 Program
➜  GeneralUser-GS fluidsynth -n GeneralUser-GS.sf2
FluidSynth runtime version 2.4.5
Copyright (C) 2000-2025 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of Creative Technology Ltd.Type 'help' for help topics.> inst 1
000-000 Grand Piano
000-001 Bright Grand Piano
000-002 Electric Grand Piano
000-003 Honky-Tonk Piano
000-004 Tine Electric Piano
000-005 FM Electric Piano
000-006 Harpsichord
000-007 Clavinet
000-008 Celeste
000-009 Glockenspiel
000-010 Music Box
000-011 Vibraphone
000-012 Marimba
000-013 Xylophone
000-014 Tubular Bells
000-015 Dulcimer
000-016 Tonewheel Organ
000-017 Percussive Organ
000-018 Rock Organ
000-019 Pipe Organ
000-020 Reed Organ
000-021 Accordion
000-022 Harmonica
000-023 Bandoneon
000-024 Nylon Guitar
000-025 Steel Guitar
000-026 Jazz Guitar
000-027 Clean Guitar
000-028 Muted Guitar
000-029 Overdrive Guitar
000-030 Distortion Guitar
000-031 Guitar Harmonics
000-032 Acoustic Bass
000-033 Finger Bass
000-034 Pick Bass
000-035 Fretless Bass
000-036 Slap Bass 1
000-037 Slap Bass 2
000-038 Synth Bass 1
000-039 Synth Bass 2
000-040 Violin
000-041 Viola
000-042 Cello
000-043 Double Bass
000-044 Tremolo Strings
000-045 Pizzicato Strings
000-046 Orchestral Harp
000-047 Timpani
000-048 Fast Strings
000-049 Slow Strings
000-050 Synth Strings 1
000-051 Synth Strings 2
000-052 Concert Choir
000-053 Voice Oohs
000-054 Synth Voice
000-055 Orchestra Hit
000-056 Trumpet
000-057 Trombone
000-058 Tuba
000-059 Muted Trumpet
000-060 French Horns
000-061 Brass Section
000-062 Synth Brass 1
000-063 Synth Brass 2
000-064 Soprano Sax
000-065 Alto Sax
000-066 Tenor Sax
000-067 Baritone Sax
000-068 Oboe
000-069 English Horn
000-070 Bassoon
000-071 Clarinet
000-072 Piccolo
000-073 Flute
000-074 Recorder
000-075 Pan Flute
000-076 Bottle Blow
000-077 Shakuhachi
000-078 Whistle
000-079 Ocarina
000-080 Square Lead
000-081 Saw Lead
000-082 Synth Calliope
000-083 Chiffer Lead
000-084 Charang
000-085 Solo Vox
000-086 5th Saw Wave
000-087 Bass & Lead
000-088 Fantasia
000-089 Warm Pad
000-090 Polysynth
000-091 Space Voice
000-092 Bowed Glass
000-093 Metal Pad
000-094 Halo Pad
000-095 Sweep Pad
000-096 Ice Rain
000-097 Soundtrack
000-098 Crystal
000-099 Atmosphere
000-100 Brightness
000-101 Goblin
000-102 Echo Drops
000-103 Star Theme
000-104 Sitar
000-105 Banjo
000-106 Shamisen
000-107 Koto
000-108 Kalimba
000-109 Bagpipes
000-110 Fiddle
000-111 Shenai
000-112 Tinker Bell
000-113 Agogo
000-114 Steel Drums
000-115 Wood Block
000-116 Taiko Drum
000-117 Melodic Tom
000-118 Synth Drum
000-119 Reverse Cymbal
000-120 Fret Noise
000-121 Breath Noise
000-122 Seashore
000-123 Birds
000-124 Telephone 1
000-125 Helicopter
000-126 Applause
000-127 Gun Shot
001-038 Synth Bass 101
001-044 Tremolo Strings Mono
001-048 Fast Strings Mono
001-049 Slow Strings Mono
001-052 Concert Choir Mono
001-056 Trumpet 2
001-057 Trombone 2
001-060 Solo French Horn
001-061 Brass Section Mono
001-080 Square Wave
001-081 Saw Wave
001-098 Synth Mallet
001-120 Cut Noise
001-121 Fl. Key Click
001-122 Rain
001-123 Dog
001-124 Telephone 2
001-125 Car-Engine
001-126 Laughing
001-127 Machine Gun
002-102 Echo Pan
002-120 String Slap
002-122 Thunder
002-123 Horse Gallop
002-124 Door Creaking
002-125 Car-Stop
002-126 Scream
002-127 Lasergun
003-122 Wind
003-123 Bird 2
003-124 Door
003-125 Car-Pass
003-126 Punch
003-127 Explosion
004-122 Stream
004-124 Scratch
004-125 Car-Crash
004-126 Heart Beat
005-122 Bubbles
005-124 Windchime
005-125 Siren
005-126 Footsteps
006-125 Train
007-125 Jet Plane
008-004 Chorused Tine EP
008-005 Chorused FM EP
008-006 Coupled Harpsichord
008-014 Church Bells
008-016 Detuned Tnwl. Organ
008-017 Detuned Perc. Organ
008-019 Pipe Organ 2
008-021 Italian Accordion
008-024 Ukulele
008-025 12-String Guitar
008-026 Hawaiian Guitar
008-027 Chorused Clean Gt.
008-028 Funk Guitar
008-030 Feedback Guitar
008-031 Guitar Feedback
008-038 Acid Bass
008-039 Beef FM Bass
008-048 Orchestra Pad
008-050 Synth Strings 3
008-061 Brass Section 2
008-062 Synth Brass 3
008-063 Synth Brass 4
008-080 Sine Wave
008-081 Doctor Solo
008-107 Taisho Koto
008-115 Castanets
008-116 Concert Bass Drum
008-117 Melodic Tom 2
008-118 808 Tom
008-125 Starship
009-014 Carillon
009-125 Burst Noise
011-000 Piano & Str.-Fade
011-001 Piano & Str.-Sus
011-004 Tine & FM EPs
011-005 Piano & FM EP
011-006 Harpsichord noVel
011-008 Tinkling Bells
011-011 Vibraphone No Trem.
011-014 Bell Tower
011-016 Tonewheel Org noVel
011-017 Percussive Org noVel
011-018 Rock Organ noVel
011-019 Pipe Organ noVel
011-020 Reed Organ noVel
011-029 Wah Guitar (CC21)
011-038 Techno Bass
011-039 Pulse Bass
011-049 Velo Strings
011-050 Synth Strings 4
011-051 Synth Strings 5
011-061 Brass Section 3
011-078 Whistlin'
011-081 Sawtooth Stab
011-088 Harpsi Pad
011-089 Solar Wind
011-096 Mystery Pad
011-098 Synth Chime
011-100 Bright Saw Stack
011-119 Cymbal Crash
011-121 Filter Snap
011-122 Howling Winds
011-127 Interference
012-000 Bell Piano
012-004 Bell Tine EP
012-006 Coupled Harpsi noVel
012-010 Christmas Bells
012-016 Detun Tnwl Org noVel
012-017 Detun Perc Org noVel
012-019 Pipe Organ 2 noVel
012-027 Clean Guitar 2
012-038 Mean Saw Bass
012-048 Full Orchestra
012-049 Velo Strings Mono
012-080 Square Lead 2
012-081 Saw Lead 2
012-088 Fantasia 2
012-089 Solar Wind 2
012-119 Tambourine
012-122 White Noise Wave
012-127 Shooting Star
013-048 Woodwind Choir
013-080 Square Lead 3
013-081 Saw Lead 3
013-088 Night Vision
016-025 Mandolin
024-075 Tin Whistle
025-075 Tin Whistle Nm
026-075 Tin Whistle Or
120-000 Standard 1 Kit
120-001 Standard 2 Kit
120-002 Standard 3 Kit
120-008 Room Kit
120-016 Power Kit
120-024 Electronic Kit
120-025 808/909 Kit
120-026 Dance Kit
120-032 Jazz Kit
120-040 Brush Kit
120-048 Orchestral Kit
120-056 SFX Kit
120-127 CM-64/32L Kit
128-000 Standard 1
128-001 Standard 2
128-002 Standard 3
128-008 Room
128-016 Power
128-024 Electronic
128-025 808/909
128-026 Dance
128-032 Jazz
128-040 Brush
128-048 Orchestral
128-056 SFX
128-127 CM-64/32L
  • 在开发环境中安装pyfluidsynth 1.3.4,别装错了,还有个fluidsynth,这是是0.2版本
  • 测试下声音,我选的 011-000 Piano & Str.-Fade
import fluidsynth
import timesf2_path = "/Users/chenpenghao/Downloads/GeneralUser-GS/GeneralUser-GS.sf2"# 初始化 FluidSynth
fs = fluidsynth.Synth()
fs.start(driver="coreaudio")  # 加载 SoundFont 文件
sfid = fs.sfload(sf2_path)bank = 11  # 你之前看到的 Bank 128
prog = 0    # Program 0
fs.program_select(0, sfid, bank, prog)  # 选择音色# 播放音符
fs.noteon(0, 60, 100)  # 播放中音C(MIDI音符60)
time.sleep(1)  # 播放1秒
fs.noteoff(0, 60)  # 停止音符# 删除 Synth 实例
fs.delete()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm error code CERT_HAS_EXPIRED

npm error code CERT_HAS_EXPIRED 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.net、C、python开发, 如果遇到技术问题,即可私…

数字世界的“私人车道“:网络切片如何用Python搭建专属通信高速路?

数字世界的"私人车道":网络切片如何用Python搭建专属通信高速路? 2024年6月,中国移动宣布在浙江某智能工厂完成全球首个"5G工业网络切片"规模商用——这条为生产线定制的"数字专属车道",将设备控制…

VSCode Verilog编辑仿真环境搭建

VSCode Verilog环境搭建 下载Iverilog安装Iverilog验证安装VS Code安装插件 下载Iverilog 官网下载Iverilog 安装Iverilog 一定要勾选这两项 建议勾选这两项 验证安装 运行Windows PowerShell输入命令:iverilog输入命令:Get-Command gtkwave …

C++ - 数据容器之 list(创建与初始化、元素访问、容量判断、元素遍历、添加元素、删除元素)

一、创建与初始化 引入 <list> 并使用 std 命名空间 #include <list>using namespace std;创建一个空 list list<int> my_list;创建一个包含 5 个元素&#xff0c;每个元素初始化为 0 的 list list<int> my_list(5);创建一个包含 5 个元素&#xf…

自动化测试项目1 --- 唠嗑星球 [软件测试实战 Java 篇]

目录 项目介绍 项目源码库地址 项目功能测试 1.自动化实施步骤 1.1 编写测试用例 1.2 自动化测试脚本开发 1.2.1 配置相关环境, 添加相关依赖 1.2.2 相关代码编写 2. 自动化功能测试总结 2.1 弹窗的解决相关问题 2.2 断言的使用和说明 2.3 重新登录问题 项目性能…

Codeforces Round 1022 (Div. 2)(ABC)

A. Permutation Warm-Up 翻译&#xff1a; 对于长度为 n 的排列 p&#xff0c;我们定义函数&#xff1a; 给你一个数 n。你需要计算函数 f(p) 在考虑从 1 到 n 的所有可能的数字排列时&#xff0c;可以取多少个不同的值。 思路&#xff1a; 按序排列时和为0&…

数据结构------C语言经典题目(6)

1.数据结构都学了些什么&#xff1f; 1.基本数据类型 算数类型&#xff1a; char&#xff08;字符&#xff09;、int&#xff08;整数&#xff09;、float&#xff08;单精度浮点数&#xff09;、double&#xff08;双精度浮点数&#xff09;等。 枚举类型&#xff1a; enum…

如何封装一个线程安全、可复用的 HBase 查询模板

目录 一、前言&#xff1a;原生 HBase 查询的痛点 &#xff08;一&#xff09;连接管理混乱&#xff0c;容易造成资源泄露 &#xff08;二&#xff09;查询逻辑重复&#xff0c;缺乏统一的模板 &#xff08;三&#xff09;多线程/高并发下的线程安全性隐患 &#xff08;四…

【中间件】bthread_基础_TaskControl

TaskControl 1 Definition2 Introduce**核心职责** 3 成员解析**3.1 数据结构与线程管理****3.2 任务调度与负载均衡****3.3 线程停放与唤醒&#xff08;ParkingLot&#xff09;****3.4 统计与监控** 4 **工作流程**5 **设计亮点**6 **使用场景示例**7 **总结**8 学习过程中的疑…

win11 终端 安装ffmpeg 使用终端Scoop

1、安装scoop (Windows 包管理器) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iwr -useb get.scoop.sh | iex 2、使用scoop来安装ffmpeg scoop install ffmpeg 3、测试一下ffmpeg&#xff0c;将Mp3文件转为Wav文件 ffmpeg -i A.mp3 A.wav 然后我们就看到A.wav生成…

力扣838.推多米诺随笔

“生活就像海洋&#xff0c;只有意志坚强的人&#xff0c;才能到达彼岸。”—— 马克思 题目 n 张多米诺骨牌排成一行&#xff0c;将每张多米诺骨牌垂直竖立。在开始时&#xff0c;同时把一些多米诺骨牌向左或向右推。 每过一秒&#xff0c;倒向左边的多米诺骨牌会推动其左侧…

超级好用的​​参数化3D CAD 建模​​图形库 (CadQuery库介绍)

CadQuery 库详细介绍​​ ​​CadQuery​​ 是一个基于 ​​Python​​ 的 ​​参数化 3D CAD 建模​​ 库&#xff0c;允许用户通过编写代码&#xff08;而不是传统 GUI&#xff09;来创建精确的 ​​3D 模型​​。它特别适用于 ​​自动化设计、机械工程、3D 打印​​ 等场景…

HBM的哪些事

命令操作 这也许是DDR往HBM演进的一些奇淫技巧。 本篇内容属于杂谈&#xff0c;关于HBM的奇淫技巧&#xff0c;随后出专题介绍。

Python基于深度学习的网络舆情分析系统(附源码,部署)

大家好&#xff0c;我是Python徐师兄&#xff0c;一个有着7年大厂经验的程序员&#xff0c;也是一名热衷于分享干货的技术爱好者。平时我在 CSDN、掘金、华为云、阿里云和 InfoQ 等平台分享我的心得体会。 &#x1f345;文末获取源码联系&#x1f345; 2025年最全的计算机软件毕…

滑动窗口leetcode 209和76

一、leetcode 209. 长度最小的子数组 代码&#xff1a; class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int n nums.size();int left 0;int sum 0;int res 100001;for(int right 0;right <n;right){sum nums[right];while(s…

node.js 实战——mongoDB 续一

mongoDB的基本指令 进入mongodb mongo显示当前的所有数据库 show dbs # 或者 show databases切换数据库/进入指定数据库 使用这个命令的时候&#xff0c;是不要求这个数据库是否创建 use 数据库名显示当前数据库 db显示数据库中所有集合 show collections数据库的CRUD的…

SVMSPro平台获取Websocket视频流规则

SVMSPro平台获取Websocket视频流规则 Websocket 的服务端口为&#xff1a;53372&#xff0c;如需要公网访问需要开启这个端口 这里讲的是如何获取长效URL&#xff0c;短效&#xff08;时效性&#xff09;URL也支持&#xff0c;下回讲 一、如何获取Websocket实时流视频 ws:/…

Arduino按键开关编程详解

一、按键开关的基本原理与硬件连接 1.1 按键开关的工作原理 按键开关是一种常见的输入设备&#xff0c;其核心原理基于机械触点的闭合与断开。当用户按下按键时&#xff0c;内部的金属片会连接电路两端&#xff0c;形成通路&#xff1b;松开按键后&#xff0c;金属片在弹簧作…

我的日记杂文

Sequoia sempervirens 北美红杉树 Troll 洞穴巨人 喜欢在网上搞事的人 piss off 滚开 让人恼火的 欧洲美甲 60euor - 30euro 拖车 mobie house Motel 汽车旅馆 Minoxidil 米诺地尔 Health insurance 医疗保险 casetify 香港手机品牌 coolant 汽车防冻液 Auto tint film 汽车贴…

数字智慧方案5867丨智慧建造(BIM技术智慧工地)在施工阶段的实践与应用方案(90页PPT)(文末有下载方式)

资料解读&#xff1a;智慧建造(BIM技术智慧工地)在施工阶段的实践与应用方案 详细资料请看本解读文章的最后内容。 在当今的建筑行业中&#xff0c;智慧建造已成为提升施工效率和质量的关键手段。随着科技的进步&#xff0c;智慧建造结合了物联网、大数据、人工智能等技术&am…