從 “零” 做個開源音樂軟件“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.pswp.cn/pingmian/79241.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79241.shtml
英文地址,請注明出處:http://en.pswp.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…