DesignSpark Electrical Logolinkedin
菜单 搜寻
提问问题

構建Google Open Nsynth Super(繁體)

 

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

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

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

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

操作理論

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

 

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

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

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

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。

裝配

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

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

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

接下來是電容器。

然後是集成電路。

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

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

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

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

接下來安裝了電位計。

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

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

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

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

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

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

測試

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

Andrew Back

JoeLeungChiKit 还没写个人简介...

8 Jun 2018, 10:03