Play Digital Signal Processing with Python (using SigmaDSP) - Wei Lin
歡迎來到 PyCon APAC 2022 共筆
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
共筆入口:https://hackmd.io/@pycontw/2022
手機版請點選上方 按鈕展開議程列表。
Welcome to PyCon APAC 2022 Collaborative Writing
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Collaborative Writing Workplace:https://hackmd.io/@pycontw/2022
Using mobile please tap to unfold the agenda.
Slide link 投影片連結:https://drive.google.com/file/d/1QBlbwnfirm-59eNpEyZnh5BRw17FI5oe/view?usp=sharing
YouTube link 演講影片連結:https://youtu.be/Yc0hUaKKuIw
Collaborative writing start from below
從這裡開始共筆
Below is the part that speaker updated the talk/tutorial after speech
講者於演講後有更新或勘誤投影片的部份
-
此專案發展過程中較困難的點為何 ?:
- AutoEQ 比較困難。曾經嘗試以PyTorch用 neural network 來對即時收音(每次 descent 就再收音一次)的訊號做最佳化,但是因為訊號源為 白噪音,本身就有 random 的特性,以至於 gradient descent 的過程並不穩定。後來採用 Jaakko Pasanen 的模組來實現 AutoEQ 的功能 (只收音一次 然後每次 descent後 用公式估計EQ的效果)。
-
此專案發展過程中較困難的點為何 ?:
- AutoEQ 比較困難。曾經嘗試以PyTorch用 neural network 來對即時收音(每次 descent 就再收音一次)的訊號做最佳化,但是因為訊號源為 白噪音,本身就有 random 的特性,以至於 gradient descent 的過程並不穩定。後來採用 Jaakko Pasanen 的模組來實現 AutoEQ 的功能 (只收音一次 然後每次 descent後 用公式估計EQ的效果)。
-
後續可能有什麼發展 ?:
- 以演唱會所用的 中大型 mixer 為例,通常有這些缺點:
- 體積巨大: 因為功能複雜所以需要很多按鍵與旋鈕,體積也因此偏大,較佔空間。
- 重量偏重: 搬運不易,移動困難。
- 價格昂貴: 零部件很多,而且系統封閉 造成競爭壁壘。
- 維護困難: 因功能高度集成,如果其中一個 channel 或功能故障,就須整台送修,曠日廢時,維運上風險較高。
- 功能與操作複雜不易上手: 使用者需要較長的學習時間。
- 以分散式系統的思維 重新設計系統:
- 一個複雜的 mixer,可以拆解為很多功能的組成。
- 每個(或數個)功能,可以使用一個 SigmaDSP 的晶片加上對應的韌體來取代。
- 我們可以把 一個 SigmaDSP晶片+韌體 視為一個 DSP元件,而且透過 TCP/IP channel,這個DSP元件可以透過無線網路來存取與控制。
- 所以我們可以將一個 mixer視為 一個由很多DSP元件組成的 分散式系統,並透過 物件導向的思維 來設計並組織這些元件,達成 mixer 所需的功能。
- 而音訊的處理,本身就具有 pipe-line 的本質,所以我們也可將 mixer 視為一個 分散式的 pipe-line 系統。
- 而最重要的是,我們可以透過 Python 來控制這些DSP元件,也就能與 Python 背後豐沛的資源接軌。現今 Python 幾乎是 Machine-Learning/AI 的同義字,也就是說,我們可以 "訓練" 一個 mixer 系統。後續也許就可以透過 Google Assistant 或者 chatbot 來控制 mixer,只要說出操作需求(例如: "Lower sub-woofer 2dB" 或 "1200Hz boost 2dB, Q 1.4"),或者藉由特定的手勢就可以達成相對的效果。
- 優點:
- 因為使用軟體控制,可以減少按鍵旋鈕,因此體積、重量可以降低。
- 因為是 open-source,降低進入障礙且可以集成眾人之力,因而可以大幅降低整體成本與價格。
- 因為採用分散式的DSP元件,抽換與維運相當容易且迅速。
- 藉由 Machine-Learning/AI 的輔助,可以大幅降低學習曲線,讓使用者可以迅速駕馭複雜的系統。