嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

構建Google Open Nsynth Super(繁體)

 

190_1f8792268338ce0181dab57597487309ad77a306.jpg

這是樹莓派和使用機器學習的樂器,用於產生新的獨特聲音。

NSynth(神經合成器)是由Google和其他合作者共同開發的機器學習或“AI”算法,它們使用深度神經絡來學習聲音的特徵,然後根據這些特徵創建一個全新的聲音。 它不僅僅是簡單地混合聲音,它實際上使用原始聲音的音質來創建全新的聲音。

Open NSynth Super是NSynth的實驗性物理接口,它由樹莓派,定制PCB和簡單的激光切割機箱構成。 它提供了一站式的OS 映像檔,包含預先配置的軟件和固件以及一組示例聲音 - 這意味著你不必經歷極其耗費資源的生成音頻文件的過程,以便開始用電子音響合成器試驗。

PCB設計,微控制器固件,軟件和外殼設計都是在開源許可下發布的,這意味著任何人都可以免費地構建自己的Open NSynth Super。

操作理論

267_acf68685eaa45a52dfb4ef547192895c51ea456a.jpg

WaveNet自動編碼器圖。 來源:magenta.tensorflow.org.

 

如前所述,NSynth使用深度神經網絡來產生聲音,網站描述如下過程:

“使用自動編碼器,它從每個輸入中提取16個定義的時間特徵。這些特徵然後被線性插入以創建新的嵌入(每個聲音的數學表示)。 然後將這些新的嵌入解碼成新的聲音,這些聲音具有兩種輸入的音質。“

更多細節可以在NSynth:Neural Audio Synthesis頁面找到。

350_f430a485bc3bb64c2b4dc1a93a707def4fa1aa3d.jpg

Open NSynth概述。 來源:https://github.com/googlecreativelab/

 

然後Open NSynth Super獲取生成的音頻並與下列的工具提供物理接口或儀器:

連接到鋼琴鍵盤,音序器或計算機等的MIDI輸入

四個旋轉編碼器用於將儀器分配到設備的角落

用於儀器狀態和控制信息的OLED顯示屏

精確控制:

Position設置波形的初始位置。

Attack設定初始啟動級別所用的時間。

Decay設定後續磨合所需的時間。

Sustain設定聲音主序列中的音量。

Release設置由某水平減到零所需的時間。

Volume設置輸出音量。

Touch interface探索聲音之間的位置。

微控制器用於管理物理輸入,並在首次使用之前對其進行編程。

物料清單

GitHub存儲庫中提供了完整的物料清單,下方是其中的一部分內容,只是為了說明所使用的主要組件

1x樹莓派 3 Model B (122-8913)

6xAlps RK09K系列電位器 (729-3603)

4x Bourns PEC11R-4315F-N0012旋轉編碼器

2x Microchip AT42QT2120-XU觸摸控制器IC (899-6707)

1x STMicroelectronics STM32F030K6T6,32位ARM Cortex微控制器 (829-4644)

1x TI PCM5122PW,音頻轉換器DAC雙32位 (814-3732)

1x Adafruit 1.3“OLED顯示屏

有關完整列表,包括無源組件和機械裝置等,請參閱GitHub報告。

報告還包括Gerber文件讓您發送給PCB製造商製作PCB。

裝配

442_ac3f99b7f2df1777cf79bdc6f735bde5db67a6ab.jpg

大部分組件都是表面貼裝,當引腳間距降低到0.5mm左右時,如果用心焊接的話,其實你可以手工焊接這些部件。然而,雖然有些人可能會認為這不是絕對必要的,但我建議使用立體顯微鏡和熱風站。不用說,你應該有足夠的助焊劑和焊料芯!

535_ca6d21213f484eb36956b878e5c70d6a0bab8fa0.jpg

便利地,PCB上印刷了組件代號的表格。

624_9b7fc0ee17806dc87aa07c2c445b61fa6d9de6b0.jpg

一般來說,首先從最小的部件開始並按大小進行焊接是合理的,因此應首先焊接電阻。

715_6c77aeebae754e6cad8b8191e3b52fb6cbfdcd4d.jpg

接下來是電容器。

812_58613fcc76f691e75699c718b351493827fbd999.jpg

然後是集成電路。

98_15bf4dea830209bcd3398cfe28da1b1ed78ac3d2.jpg

這是立體顯微鏡可以提供極大幫助的地方,特別是短路的時候。

1013_711b0e5400d349799f91a022f8af699a2dbb4bb2.jpg

不幸的是,我確實在DAC的引腳上落了太多的焊料,並且在施加了大量的助焊劑並且用焊料芯進行燒焊之後,我在引腳的拐點後面留下了短路。 這需要熱空氣站來解決 (124-4133) ,在通過熔化加熱後,焊料耗盡了。

如果您以前沒有使用過熱空氣站,我建議您查看Karl Woodward的文章,選擇您的下一個焊接工具。

1121_1b6117f9e569442b7e1213d89d301f41f9acfbda.jpg

顯示器被固定在PCB上的一個切口中,在兩個電路板上通過引腳和通過頂部,焊料填充顯示板底部的兩個凸耳。

1217_80417e2f29b4b11b109c9d854adff46641df0866.jpg

接下來安裝了電位計。

1312_723710c96755aaf01af042ab41ff7135859dba78.jpg

然後安裝在每個角落的旋轉編碼器。

1412_9284f02ec29c0e0687bf93eebf459fe3e4995c91.jpg

上面我們可以看到已近乎完成組裝的電路板,按下來只需安裝幾個附加連接器。

1511_74d8e9c9f120b0312a78688754f39127bf21f46e.jpg

請注意,通孔部件上的針腳與金屬樹莓派連接器外殼之間沒有太多間隙,因此在前者上安裝了一塊Kapton膠帶以保證安全。

1611_a28c749ab9784ea3a33d04c70867cb91836356e7.jpg

這可以更清晰地看到上面安裝的Pi。

接下來,從紅色亞克力切割出外殼和SD卡被寫出。 在第一次啟動時,連接了鍵盤和顯示器,以便我們可以按照程序對微控制器進行編程 - 這非常簡單直接,並且不需要很長時間。

請注意,此處詳細介紹的步驟不能替代GitHub repo中提供的官方說明,並且如果你想構建自己的Open NSynth Super請參考這些!

測試

為了測試,我們從互聯網上下載了一個MIDI文件,然後使用命令“aplaymidi”通過Linux筆記本電腦和USB / MIDI接口播放了這個文件。 毫無疑問,NSynth Super會湧入生活,我們可以將工具分配到每個角落,然後通過機器學習的奇蹟來創造出新的,迄今未知的樂器,如“flarimba”。

Andrew Back

JoeLeungChiKit 还没写个人简介...
DesignSpark Electrical Logolinkedin