Sonic π ︰ 秘境《乙》

Qiu_Ying_Jade_Cave_Fairy_Land

《玉洞仙源圖》
明代仇英繪

陶淵明‧桃花源詩

嬴氏亂天紀,賢者避其世。
黃綺之商山,伊人亦云逝。
往跡浸復湮,來逕遂蕪廢。
相命肆農耕,日入從所憩。
桑竹垂餘蔭,菽稷隨時藝。
春蠶收長絲,秋熟靡王稅。
荒路曖交通,雞犬亙鳴吠。
俎豆猶古法,衣裳無新製。
童孺縱行歌,斑白歡游詣。
草榮識節和,木衰知風厲。
雖無紀歷志,四時自成歲。
怡然有餘樂,於何勞智慧。
奇蹤隱五百,一朝敞神界。
淳薄既異源,旋復還幽蔽。
借問游方士,焉測塵囂外?
願言躡輕風,高舉尋吾契。

傳聞說『未公開的特色Undocumented feature

“It’s not a bug; it’s an undocumented feature!”

一詞來自早年 Microsoft 對於 Windows Bugs 的辯解。由於作者不知其詳,所以無法評論 WiKi 上的說法。僅就自身經驗上講︰ Intel 808x CPU 有未公開的指令, Microsoft DOS 有後門, Nintendo NES 遊戲有隱藏關卡,…… 卻彷彿是事實,或許說總有原因的吧!

假使你可以將『樹莓派 A/A+』變成『 SD 卡讀寫機』?那麼這是一種『特色』的嗎?如果是,為什麼『樹莓派 B/B+』又不行這麼作的呢??

220px-USB_OTG_Logo.svg
不期而遇
期而不遇

─── 《樹莓派 A/A+ 的秘境??

 

天機深只能『遁甲』,今欲破甲出奧妙,所以始於『乙乙』也。

秘境之探險者,可以從

Sonic Pi – Advanced programming

 

Recently I stumbled upon Sonic Pi, a sequencer with which you can generate music programmatically. There exist versions for Windows, Mac, Linux and Raspberry Pi (that’s where the names comes from). For Windows you can get it as stickware, no installation needed. And the best: it’s free!

If you don’t have it yet, go and get it: http://sonic-pi.net/

I was fascinated and spent hours exploring the endless possibilities of this software. As a developer my focus was on the possibilities of the programming language.

Sonic Pi Music Sequencer

In this article I sum up some of the programming questions I stumbled upon. As Sonic Pi aims at electronic artist, musicians and music teachers, the documentation is much better on the musical possibilities than on documenting programming features. Just try to find such topics as operators or data types in the official Sonic Pi documentation!

Some sort of Ruby

This is not an introduction into Sonic Pi, the basics you can perfectly learn in the excellent tutorial integrated in the program. No need to repeat this here. As I said before, here I document some advanced undocumented topics. The most important thing you have to know is that the programming language of Sonic Pi is a simplified Ruby. If you don’t find an answer to your programming question in the official Sonic Pi documentation you can just google it with Ruby. Many features of Ruby work, just try it out.

………

 

文本入手。

然後多知道一點

Sonic Pi Internals

 SunderB edited this page Mar 28, 2018 · 3 revisions

Introduction

So you want to peek under the hood? Whether you’re a seasoned hacker or a complete newbie, this overview will hopefully help you get the big picture of how Sonic Pi works its magic.

Moving pieces

GUI

You’ve interacted plenty with the user interface of Sonic Pi (the GUI). The GUI is written in C++ and uses the Qt framework, since that’s a nice way to build cross-platform graphical applications (RasPi, Mac, Windows, and Linux at last count). However, the GUI doesn’t do any of the heavy lifting of running code or making sound. Instead, it communicates with…

Server

The server is written in Ruby and starts in the background when Sonic Pi starts up. It’s really the heart of Sonic Pi — you could write a new front end for it and still have Sonic Pi (it’s been done… Emacs is a popular choice for some reason!). The server is responsible for executing your song’s code, and implements the vast array of functions that make Sonic Pi so well suited to making music.

The server is also home to the Time Machine, a truly amazing piece of technical wizardry that is responsible for keeping virtual time, allowing things to stay nicely musical even when different parts are moving at different speeds.

Finally, the server is a sort of zookeeper for SuperCollider, which is up next.

SuperCollider

SuperCollider is the audio synthesis engine that makes Sonic Pi sound good. The server keeps track of all the details of active notes, synthesizer parameters, FX, samples, and so on, and feeding all of that data to SuperCollider as it needs it via SC’s documented OSC API (http://doc.sccode.org/Reference/Server-Command-Reference.html). It runs in the background asscsynth. SuperCollider is a third-party project with a life of its own, and is almost untouched by Sonic Pi developers. The only exception so far is on the Windows platform, where one patch to the network code is applied to keep it from aggravating the Windows Firewall.

………

 

展開旅程呦☆