【鼎革‧革鼎】︰ Raspbian Stretch 《六之 J.1上 》

慢生活

慢生活英語Downshifting),又稱 慢活,是一種社會行為或趨勢,其倡導人們擺脫對物質瘋狂的迷戀,重過簡單的生活,並減少「壓力,加班,和可能伴隨著它的心理代價」[1]。它強調在日常生活中尋找工作與生活的平衡[2],並專注於個人價值的實現,和建立人際關係的人生目標,而不是純粹為了消費而追求經濟成功。Downshifting 也指駕駛手動排檔汽車時減少齒輪比的動作,即「降檔」。

慢生活的概念與簡單生活有許多共同點,但與簡單生活不同的是,慢生活作為一種替代形式,它的重點是適度調整,並注重個體的舒適程度,是循序漸進的做法[3]。二十世紀九十年代這個新的簡單生活形式,開始出現在主流媒體,並於生活在工業社會的社群,人氣不斷上升,這在美國、英國、紐西蘭和澳大利亞尤為突出[4]

放慢腳步,感受「慢生活」。

為什麼有人倡導『』慢活呢?『』『』快慢由心,

《説文解字》言︰

慢,惰也。从心,曼聲。一曰慢,不畏也。
快,喜也。从心,夬聲。

若說吃『舌尖上的美味』卻不能品嚐『味覺之豐富層次』,彷彿那『人參果』遇着了『豬悟能』,不過『ㄍㄨㄌㄨㄥ』一聲乎?怎講『執子之手,與子偕老』能化『瞬刻於永恆』之愛情呢??於是知『時間』之『短長』或超越度量耶!或而曉『萬象從心出』『萬法唯心造』也!!

─── 《樹莓派 0W 狂想曲︰薄片電腦《♪♪》

 

活在高速變遷之社會,忙碌之餘離散的閒暇,催促人不管新學什麼,總想趕快上手!不過心急就吃得了熱稀飯乎?

學習者須先知課堂講解也有所謂

‧ 從上而下、由淺入深,著重原理。以及

‧ 自底向上、始簡終繁,崇尚實際。

之分!!

自學者務必面臨

‧ 多方閱讀、正反參造,務求貫通。

果有終南捷徑耶??

此所以引用

JACK Audio Connection Kit

Introduction

JACK is a low-latency audio server, written for any operating system that is reasonably POSIX compliant. It currently exists for Linux, OS X, Solaris, FreeBSD and Windows. It can connect several client applications to an audio device, and allow them to share audio with each other. Clients can run as separate processes like normal applications, or within the JACK server as “plugins”.

JACK was designed from the ground up for professional audio work, and its design focuses on two key areas: synchronous execution of all clients, and low latency operation.

See also:
<http://jackaudio.org>

JACK Overview

Traditionally it has been hard if not impossible to write audio applications that can share data with each other. In addition, configuring and managing audio interface hardware has often been one of the most complex aspect of writing audio software.

JACK changes all this by providing an API that does several things:

1. provides a high level abstraction for programmers that removes the audio interface hardware from the picture and allows them to concentrate on the core functionality of their software.

2. allows applications to send and receive audio data to/from each other as well as the audio interface. There is no difference in how an application sends or receives data regardless of whether it comes from/goes to another application or an audio interface.

For programmers with experience of several other audio APIs such as PortAudio, Apple’s CoreAudio, Steinberg’s VST and ASIO as well as many others, JACK presents a familiar model: your program provides a “callback” function that will be executed at the right time. Your callback can send and receive data as well as do other signal processing tasks. You are not responsible for managing audio interfaces or threading, and there is no “format negotiation”: all audio data within JACK is represented as 32 bit floating point values.

For those with experiences rooted in the Unix world, JACK presents a somewhat unfamiliar API. Most Unix APIs are based on the read/write model spawned by the “everything is a file” abstraction that Unix is rightly famous for. The problem with this design is that it fails to take the realtime nature of audio interfaces into account, or more precisely, it fails to force application developers to pay sufficient attention to this aspect of their task. In addition, it becomes rather difficult to facilitate inter-application audio routing when different programs are not all running synchronously.

Using JACK within your program is very simple, and typically consists of just:

  • calling jack_client_open() to connect to the JACK server.
  • registering “ports” to enable data to be moved to and from your application.
  • registering a “process callback” which will be called at the right time by the JACK server.
  • telling JACK that your application is ready to start processing data.

There is a lot more that you can do with JACK’s interfaces, but for many applications, this is all that is needed. The simple_client.c example demonstrates a complete (simple!) JACK application that just copies the signal arriving at its input port to its output port. Similarly, inprocess.c shows how to write an internal client “plugin” that runs within the JACK server process.

 

設計之理念,願讀者了解其哲學也︰

jackd -dalsa -dhw:0 -r44100 -p512 -n4 -D -Chw:seeed4micvoicec

jackdmp 1.9.11

Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is “Don’t restrict self connect requests”
audio_reservation_init
Acquire audio card Audio1
Acquire audio card Audio0
creating alsa driver … hw:0|hw:seeed4micvoicec|512|4|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 4 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 4 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 4 periods for playback

 

可體驗範例︰

pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jack
>>> client = jack.Client("MyGreatClient")
>>> client.inports.register("input_1")
jack.OwnPort('MyGreatClient:input_1')
>>> client.outports.register("output_1")
jack.OwnPort('MyGreatClient:output_1')
>>> in2 = client.inports.register("input_2")
>>> out2 = client.outports.register("output_2")
>>> client.inports
[jack.OwnPort('MyGreatClient:input_1'), jack.OwnPort('MyGreatClient:input_2')]
>>> client.outports
[jack.OwnPort('MyGreatClient:output_1'), jack.OwnPort('MyGreatClient:output_2')]
>>> 
>>> client.activate()
>>> client.connect("system:capture_1", "MyGreatClient:input_1")
>>> client.connect("MyGreatClient:output_1", "system:playback_1")
>>> client.connect(out2, "system:playback_2")
>>> in2.connect("system:capture_2")
>>> 

 

 

>>> client.samplerate
44100
>>> client.blocksize
512
>>> client.realtime
True
>>> 

 

 

 

能盡

無疑處有疑達成置疑處求解

的呦??!!