Notice: Trying to access array offset on value of type bool in /home1/freesand/public_html/wp-content/plugins/wiki-embed/WikiEmbed.php on line 112

Notice: Trying to access array offset on value of type bool in /home1/freesand/public_html/wp-content/plugins/wiki-embed/WikiEmbed.php on line 112

Notice: Trying to access array offset on value of type bool in /home1/freesand/public_html/wp-content/plugins/wiki-embed/WikiEmbed.php on line 116
11 月 | 2015 | FreeSandal

勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 GEM‧PD‧冷熱先後

在《 Physical computing ︰《二》 GPIO 初探》文本中,引用了一段小王子與小狐狸的對話︰

250px-Littleprince

Chapter21

小王子‧第二十一章

就在這當兒,跑来了一隻狐狸。
“你好。”狐狸說。
“你好。”小王子很有禮貌地回答道。他轉過身来,但什麼也没有看到。
“我在這兒,在蘋果樹下。”那聲音說。
“你是誰?”小王子說,“你很漂亮。”
“我是一隻狐狸。”狐狸說。
“來和我一起玩吧,”小王子建議道,“我很苦惱……”
“我不能和你一起玩,”狐狸說,“我還没有被馴服呢。”
“啊!真對不起。”小王子說。
思索了一會兒,他又說道:
“什麼叫’馴服’呀?”
“你不是此地人。”狐狸說,“你來尋找什麼?”
“我來找人。”小王子說,“什麼叫‘馴服’呢?”
“人,”狐狸說,“他們有槍,他們還打獵,這真碍事!他們唯一的可取之處就是他們也養雞,你是来尋找雞的嗎?”
“不,”小王子說,“我是來找朋友的。什麼叫‘馴服’呢?”
“這是已經早就被人遺忘了的事情,”狐狸說,“它的意思就是‘建立聯繫’。”
“建立聯繫?”
“一 點不錯,”狐狸說。“對我來說,你還只是一個小男孩,就像其他千萬個小男孩一樣。我不需要你。你也同樣用不著我。對你來說,我也不過是一隻狐狸,和其他千 萬隻狐狸一樣。但是,如果你馴服了我,我們就互相不可缺少了。 對我來說,你就是世界上唯一的了;我對你來說,也是世界上唯一的了。”
“我有點明白了。”小王子說,“有一朵花……,我想,她把我馴服了……”
“這是可能的。”狐狸說,“世界上什麼樣的事都可能看到……”
“啊,這不是在地球上的事。”小王子說。
狐狸感到十分蹊蹺。
“在另一個星球上?”
“是的。”
“在那個星球上,有獵人嗎?”
“沒有。”
“這很有意思。那麼,有雞嗎?”
“没有。”
“没有十全十美的。”狐狸嘆息地說道。
……

 

小狐狸很關心『雞』與『獵人』,小王子想知道什麼是『馴服』。這可真是『同中有異』且又『異中有同』,並非是雞同鴨講之事。既然小狐狸與小王子都沒有『名字』,只是個『稱謂』,某個類中『之一』。這『馴服』之神奇,就在能將『之一』化成『唯一』。也許此『馴服』所建立之『聯繫』,恰似老子所言︰

無名天地之始,有名萬物之母。

。天地只需一個『風箱』就可生化『萬有』聯繫『萬象』︰

老子說︰天地之間,其猶橐ㄊㄨㄛˊ籥ㄩㄝˋ乎?虛而不屈,動而愈出。這個『橐籥』就是風箱鼓風的管子,那天下沸騰該怎麼辦呢?揚湯止沸只顧得了一時釜底抽薪果真就能長久?或許這當問問莊子天籟之聲是否出自橐籥?它是否一根鬆緊之弦?太鬆了又發不出聲,太緊了它或會繃斷!!

─── 先生ㄚ!你並沒有解釋這個問題』,你只是把它丟給那個問題』。───

─── 引自《馬太福音 25:29;

 

,表現卻『各各不同』。

 

由此看來 Miller Puckette 之『純數據』 pure data 所謂的『箱子』,亦是『無名』之『器物』,『指示』所用之『符號』事實上不過是『功能模型』的『代稱』而已。如是不管『箱子』的『接線』、『控制』、『狀態』…… 都不是『先驗』之事,當下的『操作』、『次序』、『改變』…… 全具有『時物』之情。或許從『實踐』中『學習』,正是 Miller Puckette 的設計理念吧!!

如是我們雖不該將『簡單』的事情給『複雜化』了。但是『單純』之『箱子』理念卻也不能隨意的『簡單化』。畢竟那『箱子』的『入出口』還有著『冷熱』、『先後』,『規矩』、『內外狀態』 …… 之種種區分的耶。何妨

看圖說故事乎??

 

【未定之天】

先後

 

【先右後左】

右到左

 

【先左未右】

火線先

 

【白箱作業】

簡單Loop補丁

 

【訊息難解】

Loop主視窗輸出

 

 

 

 

 

 

 

 

 

 

 

 

勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 GEM‧PD‧語言回顧

雖然我們已經介紹過了 Johannes Kreidler  之『公開書』

Programming Electronic Music in Pd

。但猶恐許多讀者尚且未讀過其

Chapter 2. Programming with Pd for the first time

的整篇文本那一章就是對 Pd 整體圖形界面環境之詳細的圖說。

事物的理解,宛如認識一個陌生的環境。當初步熟悉後,或應內外上下將之貫串起來,加深整體的了解。此時若對這個環境多點鳥瞰全觀,或能循名責實,得其一斑乎!既然 Pd 是一種『圖象』之程式語言,如把它和一般『文本』的程式語言比較,『異同』如何呢?由於『關注點』的改變,再次『重讀』一篇文章時,常會發現先前所『忽略 』之處!!也可能產生新的『疑惑』??或許俗話講的『有理』︰熟讀唐詩三百首,不會作詩也會吟。要是能夠輔之以『主動』之不同『對比』下的分析綜合,是否可以︰唐詩不但會吟 ,也能作的呢??!!

所以說文章並沒有『該讀』幾遍的問題,事實上卻常在有不同的『體驗』及『閱歷』之後『重讀』,總會發現『新意』。因此才講︰學而時習之,不亦說乎。要有人能『深入淺出』的為己『解說』『錯綜複雜』的『概念』之『來龍去脈』,大概是已『讀通』了的吧!!??

舉例而言,

【一個箱子有『訊息』與『訊號』兩個領域】

The previous example covers most of the elements in Pd. Let’s take a closer look at them – we used three different kinds of boxes: Object, Message, and Number.

Object boxes are rectangular, message boxes have an indentation on the right side, and number boxes have a flat upper right corner.

All of these boxes have inlets and outlets. The inlets are always on top, the outlets on bottom. You can always connect an outlet to an inlet (in this order). There is an edit mode and an execute mode. Edit mode is for programming and execute mode is for running the program. You can tell which mode you’re in by looking at the cursor:

Let’s take a closer look: There are two kinds of “cables“, thick and thin. A thin cable connects the number box to the “osc~” object and a thick cable runs out of the “osc~” object. Thick cables transmit signals, while thin cables transmit only control data. With “compute audio” in the Pd main window, we determine whether the signals should be sent by marking or removing the checkmark. Moreover, all objects that produce signals or that work with signals as an input (input = that which goes into an inlet; output = that which comes out of an outlet), have a tilde (“~”) after their name; other objects don’t have this! These two levels are called the “control level” (where only control data flows, also called the “message domain“) and the “signal level” (where signals flow, also called the “signal domain“).

The first object you created was “osc~ 440”, which is an “oscillator”, and you heard a sine tone at 440 Hertz (the meaning of “Hertz” will be explained later). Then you made a number box and entered new values there, which caused the frequency of the tone you heard to change. That is the basic structure in Pd: an object has a name (if it produces signals, a tilde follows the name), then there is a space, and then one or several arguments follow (in this case, the initial ‘argument’ was “440”). With most objects, the arguments can be replaced with new values that are connected to the inputs (unlike with the “osc~” object here, the changed value usually goes into the far right inlet).

If new values are entered this way, the argument written in the object box is ignored (in this example, 300 instead of 440).

………

 

【 bang 名義由來】

2.2.2 Different types of data

2.2.2.1 Theory

A “bang“, like a mouse click, stands for the letter combination b-a-n-g. Letter combinations as symbols are the second form of data (besides numbers) that Pd uses. Some objects recognize certain words and work with their input. Many objects react to the symbol “bang”. Since it occurs so frequently, there is a special graphic representation for “bang”, a circle that flashes when active (Put Bang). This is called a “GUI” object (GUI = graphical user interface, i.e., a graphic representation of something and/or a graphic that can be changed to produce and send new values).

………

 

如下的這一些『內建箱子』是否足以構成一台『圖靈機』??如果用來表達一般『演算法』,方不方便的耶!!

【黏合物件】 GLUE

intro-help.pd-GLUE

 

【時序物件】 TIME

intro-help.pd-TIME

 

【數學物件】 MATH

intro-help.pd-MATH

 

【 MIDI 物件】 MIDI

【表格物件】 TABLES

intro-help.pd-MIDIandTABLES

 

【其它物件】 MISC

intro-help.pd-MISC

 

【音訊數學】 AUDIO MATH

intro-help.pd-AudioMath

 

【音訊黏合】 AUDIO GLUE

intro-help.pd-AudioGlue

 

【音訊振盪器與表格】 AUDIO OSCILLATORS AND TABLES

intro-help.pd-AudioOSCandTables

 

【音訊濾波器】 AUDIO FILTERS

intro-help.pd-AudioFilters

 

【音訊遲延線】 AUDIO DELAY

【子補丁】 SUBWINDOWS

intro-help.pd-AudioDelay-Subwindows

 

【資料樣板】 DATA TEMPLATES

【資料存取】 ACCESSING DATA

intro-help.pd-DATA

 

【過時物件】 OBSOLETE

intro-help.pd-OBSOLETE

 

 

 

 

 

 

 

 

 

 

勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 PD‧箱子世界‧GEM

並非因為箱子世界的框陷,所以不宜多談『 Processing處理這個程式語言的環境。而是認為這個專題或已過長,況且 Pd-extended 上也有個『 GEM 』可以用來表達『視覺』多方呈現。故此只指出『處裡』之創造者 Casey Reas and Ben Fry 所寫的

【啟始文本】

gettingstarted

Getting Started

by Casey Reas and Ben Fry

Welcome to Processing! This introduction covers the basics of writing Processing code.

Level: Beginner

 

以及一本大書

【程式手冊】

Processing:
a programming
handbook for
visual designers
and artists

Casey Reas
Ben Fry

The MIT Press
Cambridge, Massachusetts
London, England

───

 

給有興趣的讀者參考。我們即將轉入

Gem

RSS Feed Category: Libraries and externals — Other products by this author
Graphics Environment for Multimedia

Current release: Gem 0.93.3

Released 2011-11-11 — tested with pd 0.41, pd 0.42, pd 0.43

the 3rd bugfix release for 0.93

Project Description

GEM stands for Graphics Environment for Multimedia and is an external (plugin) for the computer-music software Pd.

GEM was originally written by Mark Danks to do realtime openGL-based graphics on SGI and Win32 platforms.

Günter Geiger has ported GEM to LINUX. James Tittle has ported GEM to Apple’s OS-X.

GEM is now maintained at the IEM by IOhannes m zmölnig. Future developments will be aimed at Linux, OS-X and Win32 platforms.

GEM is open source software, it is free for any use and can be downloaded from the internet. GEM runs on LINUX, OSX, Win32 and IRIX platforms.

GEM follows the programming paradigm of Pd.

Useful links may include

───

 

,在快速瀏覽這個環境後,回到 M♪o 『教育理念』之道路中。

 

 

 

 

 

 

 

 

 

 

 

 

勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 PD‧箱子世界‧休止♪

《永無休止》

無聲之歌,無言之語,此刻醉臥靜穆中。

等待………

甦醒。

號角已響起,急而又急。

人間世,

一事尚且聽未清,一事早待看分明!

………

復黎明,

萬象交織光與影。

 

Now Available for Download: Processing

I’m a long-time fan of Processing, a free open source programming language and development environment focused on teaching coding in the context of visual arts. It’s why I’m so excited that the latest version, Processing 3.0.1, now officially supports Raspberry Pi. Just as Sonic Pi lets you make your first sound in just one line of code, Processing lets you draw on screen with just one line of code. It’s that easy to get started. But don’t let that fool you, it’s a very powerful and flexible language and development environment.

Screenshot of Processing development environment

We owe a huge thank you to Gottfried Haider, who did the heavy lifting to get Processing running smoothly on the Raspberry Pi and create a hardware input/output library. That’s right, this version of Processing works with the GPIO pins right out of the box. Gottfried says:

I’m excited about having Processing on the Raspberry Pi and other low-cost desktop machines. In the last few years we’ve seen a shift away from easily accessible environments, towards concepts such as mobile platforms, specialized internet-of-things devices and cloud computing. As someone who got into programming by tinkering around with the open and readily available platforms of the time, I believe it’s important to have initiatives such Raspberry Pi and Processing, to promote software literacy and to encourage a future where computers remain a read/write medium.

───

 

Overview. A short introduction to the Processing software and projects from the community.

For the past fourteen years, Processing has promoted software literacy, particularly within the visual arts, and visual literacy within technology. Initially created to serve as a software sketchbook and to teach programming fundamentals within a visual context, Processing has also evolved into a development tool for professionals. The Processing software is free and open source, and runs on the Mac, Windows, and GNU/Linux platforms.

Processing continues to be an alternative to proprietary software tools with restrictive and expensive licenses, making it accessible to schools and individual students. Its open source status encourages the community participation and collaboration that is vital to Processing’s growth. Contributors share programs, contribute code, and build libraries, tools, and modes to extend the possibilities of the software. The Processing community has written more than a hundred libraries to facilitate computer vision, data visualization, music composition, networking, 3D file exporting, and programming electronics.

Processing is currently developed primarily in Boston (at Fathom Information Design), Los Angeles (at the UCLA Arts Software Studio), and New York City (at NYU’s ITP).

Education

From the beginning, Processing was designed as a first programming language. It was inspired by earlier languages like BASIC and Logo, as well as our experiences as students and teaching visual arts foundation curricula. The same elements taught in a beginning high school or university computer science class are taught through Processing, but with a different emphasis. Processing is geared toward creating visual, interactive media, so the first programs start with drawing. Students new to programming find it incredibly satisfying to make something appear on their screen within moments of using the software. This motivating curriculum has proved successful for leading design, art, and architecture students into programming and for engaging the wider student body in general computer science classes.

Processing is used in classrooms worldwide, often in art schools and visual arts programs in universities, but it’s also found frequently in high schools, computer science programs, and humanities curricula. Museums such as the Exploratorium in San Francisco use Processing to develop their exhibitions. In a National Science Foundation-sponsored survey, students in a college-level introductory computing course taught with Processing at Bryn Mawr College said they would be twice as likely to take another computer science class as the students in a class with a more traditional curriculum.

The innovations in teaching through Processing have been adapted for the Khan Academy computer science tutorials, offered online for free. The tutorials begin with drawing, using most of the Processing functions for drawing. The Processing approach has also been applied to electronics through the Arduino and Wiring projects. Arduino uses a syntax inspired by that used with Processing, and continues to use a modified version of the Processing programming environment to make it easier for students to learn how to program robots and countless other electronics projects.

Culture

The Processing software is used by thousands of visual designers, artists, and architects to create their works. Projects created with Processing have been featured at the Museum of Modern Art in New York, the Victoria and Albert Museum in London, the Centre Georges Pompidou in Paris, and many other prominent venues. Processing is used to create projected stage designs for dance and music performances; to generate images for music videos and film; to export images for posters, magazines, and books; and to create interactive installations in galleries, in museums, and on the street. Some prominent projects include the House of Cards video for Radiohead, the MIT Media Lab’s generative logo, and the Chronograph projected software mural for the Frank Gehry-designed New World Center in Miami. But the most important thing about Processing and culture is not high-profile results – it’s how the software has engaged a new generation of visual artists to consider programming as an essential part of their creative practice.

………

 

切莫問,

來還來不及 Processing ?!

 

 

 

 

 

 

 

 

 

 

勇闖新世界︰ W!o《卡夫卡村》變形祭︰品味科學‧教具教材‧【專題】 PD‧箱子世界‧傅立葉

什麼是『傅立葉變換』?維基百科這麼講︰

Fourier transform

Fourier_unit_pulse.svg

In the first row is the graph of the unit pulse function f(t) and its Fourier transform \hat{f}(\omega), a function of frequency \omega. Translation (that is, delay) in the time domain goes over to complex phase shifts in the frequency domain. In the second row is shown g(t), a delayed unit pulse, beside the real and imaginary parts of the Fourier transform. The Fourier transform decomposes a function into eigenfunctions for the group of translations.

The Fourier transform decomposes a function of time (a signal) into the frequencies that make it up, similarly to how a musical chord can be expressed as the amplitude (or loudness) of its constituent notes. The Fourier transform of a function of time itself is a complex-valued function of frequency, whose absolute value represents the amount of that frequency present in the original function, and whose complex argument is the phase offset of the basic sinusoid in that frequency. The Fourier transform is called the frequency domain representation of the original signal. The term Fourier transform refers to both the frequency domain representation and the mathematical operation that associates the frequency domain representation to a function of time. The Fourier transform is not limited to functions of time, but in order to have a unified language, the domain of the original function is commonly referred to as the time domain. For many functions of practical interest one can define an operation that reverses this: the inverse Fourier transformation, also called Fourier synthesis, of a frequency domain representation combines the contributions of all the different frequencies to recover the original function of time.

Linear operations performed in one domain (time or frequency) have corresponding operations in the other domain, which are sometimes easier to perform. The operation of differentiation in the time domain corresponds to multiplication by the frequency,[note 1] so some differential equations are easier to analyze in the frequency domain. Also, convolution in the time domain corresponds to ordinary multiplication in the frequency domain. Concretely, this means that any linear time-invariant system, such as a filter applied to a signal, can be expressed relatively simply as an operation on frequencies.[note 2] After performing the desired operations, transformation of the result can be made back to the time domain. Harmonic analysis is the systematic study of the relationship between the frequency and time domains, including the kinds of functions or operations that are “simpler” in one or the other, and has deep connections to almost all areas of modern mathematics.

Functions that are localized in the time domain have Fourier transforms that are spread out across the frequency domain and vice versa, a phenomenon known as the uncertainty principle. The critical case for this principle is the Gaussian function, of substantial importance in probability theory and statistics as well as in the study of physical phenomena exhibiting normal distribution (e.g., diffusion). The Fourier transform of a Gaussian function is another Gaussian function. Joseph Fourier introduced the transform in his study of heat transfer, where Gaussian functions appear as solutions of the heat equation.

───

 

由於『傅立葉變換』並不是三五篇文本可以詳說,故此介紹點網路上的資源給有興趣的讀者。據聞李家同教授曾寫過一篇簡介

傅葉爾轉換(Fourier Transform)

李家同
暨南國際大學資訊工程系
rctlee@ncnu.edu.tw

,例釋說明這個『轉換』是什麼。

若想更深入的了解,何不上一堂 Stanford 大學的公開課︰

3auz5bq4jduojkwc3nqdiq6aa7vy2f6m

Stanford Engineering Everywhere EE261 – The Fourier Transform and its Applications

author: Brad G. Osgood, Computer Science Department, Stanford University
released under terms of: Creative Commons Attribution Non-Commercial (CC-BY-NC)

The goals for the course are to gain a facility with using the Fourier transform, both specific techniques and general principles, and learning to recognize when, why, and how it is used. Together with a great variety, the subject also has a great coherence, and the hope is students come to appreciate both.

Topics include:

  • The Fourier transform as a tool for solving physical problems.
  • Fourier series, the Fourier transform of continuous and discrete signals and its properties.
  • The Dirac delta, distributions, and generalized transforms.
  • Convolutions and correlations and applications; probability distributions, sampling theory, filters, and analysis of linear systems.
  • The discrete Fourier transform and the FFT algorithm.
  • Multidimensional Fourier transform and use in imaging.
  • Further applications to optics, crystallography.
  • Emphasis is on relating the theoretical principles to solving practical engineering and science problems.

Course Homepage: http://see.stanford.edu/see/courseinfo.aspx?coll=84d174c2-d74f-493d-92ae-c3f45c0ee091

Course features at Stanford Engineering Everywhere page:

───

 

同時認真讀讀 Brad Osgood 教授之課堂筆記耶。

Lecture Notes for

EE 261

The Fourier Transform and its Applications

Prof. Brad Osgood
Electrical Engineering Department
Stanford University

 

 

 

 

 

 

 

 

 

 

 

輕。鬆。學。部落客