Sonic π ︰ 即時編程《三》下

既然隨著『狐狸蹤跡』 FoxDot 進入山林,豈有空手而回之理!

何況還發現好東東呦☺

/FoxDot

Python driven environment for Live Coding http://foxdot.org

FoxDot – Live Coding with Python v0.7

FoxDot is a Python programming environment that provides a fast and user-friendly abstraction to SuperCollider. It also comes with its own IDE, which means it can be used straight out of the box; all you need is Python and SuperCollider and you’re ready to go!

v0.7 fixes and updates

  • Added Go() function to run FoxDot code from within normal Python programs.
  • Added inf variable, which can be used as a duration in any var object to continually use a value once it has been reached e.g. var([0,1],[4,inf]). This can be combined usefully with a special var object called now which starts the timing cycle for a var at the current time in the clock:
d1 >> play("x-o-", amp=linvar([0,1],[8,inf], start=now))
  • (Experimental) Added Cycle pattern type, which can be used in conjunction with every to more effectively iterate over different values used for different calls to the same method. For example, you spread stutter over 3 beats in one call, then 2 beats in the other, you would have to use a var like so:
d1 >> play("x-o-").every(4, "stutter", dur=var([3,2],4))

This became problematic when introducting sometimes as you would not know the frequency of the call in advance. Now you can just use Cycle which will be converted to a var with appropriate timing values when used with every. Any other use of Cyclewill be treated as a regular Pattern object. Example of how to use Cycle:

d1 >> play("x-o-").sometimes("stutter", dur=Cycle([2,3]))
  • Fix Pattern.offlayer which is similar to offadd but requires a second argument specifying a method apply to the second layer as a string then the duration to delay the layer before specifying the arguments and keyword arguments to be supplied to the given methods. E.g.
# Layer with the pattern trimmed to length 3 with a delay of 0.75 beats
P[0, 1, 2, 3].offlayer("trim", 0.75, 3)

……

Documentation

Link to documentation website (still in progress)

………

Running Python files with FoxDot code

You can import FoxDot into your own Python programs as you would any other module. If you are not writing an interactive program, i.e. only containing FoxDot code, then you need to call a function Go() at the end of your program to get playback otherwise the program will terminate immediately. For example your program, my_file.py, should look something like this:

from FoxDot import *
p1 >> pads([0, 1, 2, 3])
d1 >> play("x-o-")
Go()

 

於是立馬測試︰

scide 【FoxDot.start】

 

【jackd】啟動 OK

pi@raspberrypi:~ ps ax | grep jackd  2257 ?        SLsl   0:00 /usr/bin/jackd -T -ndefault -T -d alsa </pre>    <span style="color: #808080;">【聲音正常】</span> <pre class="lang:default decode:true ">pi@raspberrypi:~ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from FoxDot import *
IOError: Unable to update 'vibrato' effect.
IOError: Unable to update 'slideTo' effect.
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 'filterSwell' effect.
IOError: Unable to update 'bandPassFilter' effect.
IOError: Unable to update 'combDelay' effect.
IOError: Unable to update 'spinPan' effect.
>>> p1 >> pads([0, 1, 2, 3])
<p1 - pads>
>>> d1 >> play("x-o-")
<d1 - play2>
>>>

 

樹莓派 3B+ 【負載不重】

 

或可接軌 Keras 架構︰

活在快速變遷的時代,或許更該慎選『API 骨架』耶?

Why use Keras?

There are countless deep learning frameworks available today. Why use Keras rather than any other? Here are some of the areas in which Keras compares favorably to existing alternatives.


Keras prioritizes developer experience

  • Keras is an API designed for human beings, not machines. Keras follows best practices for reducing cognitive load: it offers consistent & simple APIs, it minimizes the number of user actions required for common use cases, and it provides clear and actionable feedback upon user error.
  • This makes Keras easy to learn and easy to use. As a Keras user, you are more productive, allowing you to try more ideas than your competition, faster — which in turn helps you win machine learning competitions.
  • This ease of use does not come at the cost of reduced flexibility: because Keras integrates with lower-level deep learning languages (in particular TensorFlow), it enables you to implement anything you could have built in the base language. In particular, as tf.keras, the Keras API integrates seamlessly with your TensorFlow workflows.

Keras has broad adoption in the industry and the research community

With over 200,000 individual users as of November 2017, Keras has stronger adoption in both the industry and the research community than any other deep learning framework except TensorFlow itself (and Keras is commonly used in conjunction with TensorFlow).

You are already constantly interacting with features built with Keras — it is in use at Netflix, Uber, Yelp, Instacart, Zocdoc, Square, and many others. It is especially popular among startups that place deep learning at the core of their products.

Keras is also a favorite among deep learning researchers, coming in #2 in terms of mentions in scientific papers uploaded to the preprint server arXiv.org:

Keras has also been adopted by researchers at large scientific organizations, in particular CERN and NASA.


Keras makes it easy to turn models into products

Your Keras models can be easily deployed across a greater range of platforms than any other deep learning framework:

……… 摘自《教育和學習︰ UP《GRADE》【六】

 

玩玩『人工智慧』自動『即時編程』乎☆