--- title: "Play Digital Signal Processing with Python (using SigmaDSP) - Wei Lin" tags: PyConAPAC2022, 2022-organize, 2022-共筆 --- # Play Digital Signal Processing with Python (using SigmaDSP) - Wei Lin {%hackmd 3JQH2UcwQ1e5RMgz4GRiKg %} <iframe src=https://app.sli.do/event/dQGjkmjd7W2cAb1LEUtFGX height=450 width=100%></iframe> Slide link 投影片連結:https://drive.google.com/file/d/1QBlbwnfirm-59eNpEyZnh5BRw17FI5oe/view?usp=sharing YouTube link 演講影片連結:[https://youtu.be/Yc0hUaKKuIw](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 的模組](https://github.com/jaakkopasanen/AutoEq)來實現 AutoEQ 的功能 (只收音一次 然後每次 descent後 用公式估計EQ的效果)。 <br /> - 此專案發展過程中較困難的點為何 ?: - AutoEQ 比較困難。曾經嘗試以PyTorch用 neural network 來對即時收音(每次 descent 就再收音一次)的訊號做最佳化,但是因為訊號源為 白噪音,本身就有 random 的特性,以至於 gradient descent 的過程並不穩定。後來採用 [Jaakko Pasanen 的模組](https://github.com/jaakkopasanen/AutoEq)來實現 AutoEQ 的功能 (只收音一次 然後每次 descent後 用公式估計EQ的效果)。 <br /> - 後續可能有什麼發展 ?: - 以演唱會所用的 [中大型 mixer](https://www.google.com/search?q=analog+studio+console&sxsrf=ALiCzsYNu3GyiuOCqgKo9SUZItyvJsqxzQ:1662705409498&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjLibKqjIf6AhWuGaYKHbzmBnkQ_AUoAXoECAEQAw&biw=1536&bih=700&dpr=1.25) 為例,通常有這些缺點: - 體積巨大: 因為功能複雜所以需要很多按鍵與旋鈕,體積也因此偏大,較佔空間。 - 重量偏重: 搬運不易,移動困難。 - 價格昂貴: 零部件很多,而且系統封閉 造成競爭壁壘。 - 維護困難: 因功能高度集成,如果其中一個 channel 或功能故障,就須整台送修,曠日廢時,維運上風險較高。 - 功能與操作複雜不易上手: 使用者需要較長的學習時間。 - 以分散式系統的思維 重新設計系統: - 一個複雜的 mixer,可以拆解為很多功能的組成。 - 每個(或數個)功能,可以使用一個 SigmaDSP 的晶片加上對應的韌體來取代。 - 我們可以把 一個 **SigmaDSP晶片+韌體** 視為一個 **DSP元件**,而且透過 [TCP/IP channel](https://github.com/Wei1234c/TCPi),這個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 的輔助,可以大幅降低學習曲線,讓使用者可以迅速駕馭複雜的系統。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.