Sonic π ︰ 即時編程《三》上

如果你是一位派生 Python 語言愛好者,或曾聽說過 FoxDot 吧!

FoxDot: Live Coding with Python & SuperCollider

This site is the home of the Live Coding environment, FoxDot, which was created in 2015 to try and open the pathways to Live Coding for users who may be new to programming and want to use it create music quickly and easily. FoxDot is an easy-to-use Python library that creates an interactive programming environment and talks to the powerful sound synthesis engine, called SuperCollider to  make music. FoxDot schedules musical events in a user-friendly and easy-to-grasp manner that makes live coding easy and fun for both programming newcomers and veterans alike. Ready to get going? You can find details on how to install here. Remember to check out the starter guide or have a look at FoxDot in action below for a few useful tips. If you’re having any issues with FoxDot or SuperCollider, have a look at the F.A.Q. or ask a question on the discussion forum.

 

近日偶讀

PyDev of the Week: Ryan Kirkbride

This week we welcome Ryan Kirkbride (@ryankirkbride26) as our PyDev of the Week! Ryan is the creator of Foxdot, a live coding library for live coding music in an interactive Python editor. You can see what projects Ryan is a part of by going to his Github page. Let’s take a few moments to get to know Ryan!

Can you tell us a little about yourself (hobbies, education, etc):

I’m currently doing a PhD at the University of Leeds in the School of Music researching collaborative tools for live coding music. Live coding is basically interactive programming for creating music or visuals and probably my favourite thing to do right now. There’s a growing scene called “Algorave” where live coders get together to make music for people to dance to and they’re a lot of fun to perform at.

Why did you start using Python?

I started using Python during my first year of university when I was studying computer science. It’s such as great language for beginners but there’s also so much to learn as you use it more and more.

………

想要安裝哩!

Installation Guide

Downloads

………

因為樹莓派上的 supercollider 版本太舊

pi@raspberrypi:~ apt-cache show supercollider Package: supercollider Version: 1:3.7.0~repack-4 Architecture: armhf Maintainer: Debian Multimedia Packages Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org> Installed-Size: 121 Depends: supercollider-language, supercollider-server, supercollider-ide Recommends: supercollider-supernova Homepage: http://supercollider.github.io Priority: optional Section: sound Filename: pool/main/s/supercollider/supercollider_3.7.0~repack-4_armhf.deb </pre>    <span style="color: #666699;">,雖依其法</span> <h4><span style="color: #808080;">Installing with SuperCollider 3.7 or earlier</span></h4> <span style="color: #808080;">If you are having trouble installing the FoxDot Quark in SuperCollider, it's usually because the version of SuperCollider you are installing doesn't have the functionality for installing Quarks or it doesn't work properly. If this is the case, you can download the contents of the following SuperCollider script:<a style="color: #808080;" href="http://foxdot.org/wp-content/uploads/foxdot.scd">foxdot.scd</a>. Once downloaded, open the file in SuperCollider and press Ctrl+Return to run it. This will make SuperCollider start listening for messages from FoxDot.</span>  <span style="color: #666699;">然以失敗告終也☻</span>  <span style="color: #666699;">所以大膽更新呦︰</span> <h1><span style="color: #ff9900;"><a style="color: #ff9900;" href="https://supercollider.github.io/development/building-raspberrypi">Building From Source on Raspberry Pi</a></span></h1> <h1 id="compiling-scide-natively-on-raspberry-pi-raspbian"><span style="color: #808080;">Compiling SCIDE natively on Raspberry Pi Raspbian</span></h1> <span style="color: #808080;">note: this is for building the latest version of supercollider including qt gui components and the ide under <strong>raspbian stretch with desktop</strong>. it is the easiest way to compile sc and this version can also run headless. see below for building non-qt, non scide under<strong>raspbian stretch lite</strong> (more advanced).</span> <h2 id="requirements"><span style="color: #808080;">requirements</span></h2> <ul>  	<li><span style="color: #808080;">raspberry pi 2 or 3 (also rpi0 and rpi1 but note that compiling will take a <em>long</em> time)</span></li>  	<li><span style="color: #808080;">sd card with <a style="color: #808080;" href="https://www.raspberrypi.org/downloads/raspbian">raspbian-stretch</a> (note: not stretch lite)</span></li>  	<li><span style="color: #808080;">router with ethernet internet connection for the rpi</span></li>  	<li><span style="color: #808080;">screen, mouse and keyboard (although you can also do it all via ssh)</span></li>  	<li><span style="color: #808080;">optional: usb soundcard with headphones or speakers connected</span></li> </ul>    <span style="color: #666699;">結果失之東隅︰</span> <pre class="lang:default decode:true ">pi@raspberrypi:~/.sonic-pi/log more gui.log 
[GUI] - Detecting port numbers...
[GUI] - GUI OSC listen port 4558
[GUI] -    port: 4558 [OK]
[GUI] - Server OSC listen port 4557
[GUI] -    port: 4557 [OK]
[GUI] - Server incoming OSC cues port 4559
[GUI] -    port: 4559 [OK]
[GUI] - Scsynth port 4556
[GUI] -    port: 4556 [OK]
[GUI] - Server OSC out port 4558
[GUI] - GUI OSC out port 4557
[GUI] - Scsynth send port 4556
[GUI] - Erlang router port 4560
[GUI] -    port: 4560 [OK]
[GUI] - OSC MIDI out port 4561
[GUI] -    port: 4561 [OK]
[GUI] - OSC MIDI in port 4562
[GUI] -    port: 4562 [OK]
[GUI] - Init script completed
[GUI] - using default editor colours
[GUI] - launching Sonic Pi Server:
[GUI] - starting UDP OSC Server on port 4558...
[GUI] - UDP OSC Server ready and listening
[GUI] - Ruby server pid registered: 1041
[GUI] - waiting for Sonic Pi Server to boot...
............................................................
[GUI] - Critical error! Could not boot Sonic Pi Server.

 

pi@raspberrypi:~/.sonic-pi/log more scsynth.log  # Starting SuperCollider 2018-12-26 18:13:04 ERROR: API version mismatch: /usr/lib/SuperCollider/plugins/BinaryOpUGens.so     This plugin is not compatible with SuperCollider >=3.9.0     The plugin has not been loaded; please find or compile a newer version.     (Plugin's API version: 2. Expected: 3)  ERROR: API version mismatch: /usr/lib/SuperCollider/plugins/PhysicalModelingUGen s.so     This plugin is not compatible with SuperCollider >=3.9.0     The plugin has not been loaded; please find or compile a newer version.     (Plugin's API version: 2. Expected: 3)  ERROR: API version mismatch: /usr/lib/SuperCollider/plugins/DynNoiseUGens.so     This plugin is not compatible with SuperCollider >=3.9.0     The plugin has not been loaded; please find or compile a newer version.     (Plugin's API version: 2. Expected: 3)  ERROR: API version mismatch: /usr/lib/SuperCollider/plugins/FFT_UGens.so     This plugin is not compatible with SuperCollider >=3.9.0     The plugin has not been loaded; please find or compile a newer version.     (Plugin's API version: 2. Expected: 3)  ERROR: API version mismatch: /usr/lib/SuperCollider/plugins/TestUGens.so --More--(2%) </pre>    <span style="color: #666699;">幸而收之桑榆矣☺</span> <pre class="lang:default decode:true ">pi@raspberrypi:~ sudo pip3 install FoxDot
Collecting FoxDot
  Downloading https://www.piwheels.org/simple/foxdot/FoxDot-0.7.16-py3-none-any.whl (37.7MB)
    100% |████████████████████████████████| 37.7MB 8.2kB/s 
Installing collected packages: FoxDot
Successfully installed FoxDot-0.7.16

 

pi@raspberrypi:~ $ python3 -m FoxDot
IOError: Unable to update 'slideFrom' effect.
IOError: Unable to update 'pitchBend' effect.
IOError: Unable to update 'coarse' effect.
IOError: Unable to update 'striate' effect.
IOError: Unable to update 'highPassFilter' effect.
IOError: Unable to update 'bandPassFilter' effect.
IOError: Unable to update 'combDelay' effect.
IOError: Unable to update 'spinPan' effect.
IOError: Unable to update 'trimLength' effect.

 

 

 

 

 

世事往往魚與熊掌不易兼得啊!