樹莓派 theremin 制作

1 軟件安裝

更新系統(tǒng) 指令

sudo apt update 

sudo apt upgrade -y 

安裝 Python 依賴文件

sudo pip3 install python-osc

如果 安裝不成功 則 將pip3 --> pip

2 模擬泰勒明琴的過程

需要:

  • 超聲波距離感應(yīng)器(ultrasonic distance sensor)


    hc-sr04
  • Python
    當(dāng)前流行的人工智能語言


    python
  • sonic-pi
    樹莓派的一款音樂制作程序

sonic-pi

3背景:

泰勒明琴是一款特殊的樂器,通過不接觸形式的演奏方式來產(chǎn)生音樂,但是泰勒明琴的制作過程十分復(fù)雜,內(nèi)部結(jié)構(gòu)多樣,價格昂貴。我們的項目是通過使用Python代碼與超聲波傳感器在樹莓派系統(tǒng)上利用sonic-pi模擬泰勒明琴的演奏過程。


圖片

4 .接線圖表

名稱 接線
GND GND
Trig Pin4
Echo Pin17
VCC VCC
圖紙

5 Python代碼

使用 Python代碼連接超聲波傳感器

#導(dǎo)入超聲波傳感器的庫
from gpiozero import DistanceSensor
from time import sleep

sensor = DistanceSensor(echo=17, trigger=4)

while True:
    print(sensor.distance)
    sleep(1)


result

6.sonic-pi的連接

安裝 sonic-pi

sudo apt-get install sonic-pi

打開


打開
live_loop :listen do
    use_real_time
    note = sync "/osc/play_this"
    play note[0]
end

PYTHON連接 sonic-pi代碼:

from gpiozero import DistanceSensor
from time import sleep

from pythonosc import osc_message_builder
from pythonosc import udp_client

sensor = DistanceSensor(echo=17, trigger=4)
sender = udp_client.SimpleUDPClient('127.0.0.1', 4559)

while True:
    pitch = round(sensor.distance * 100 + 30)
    sender.send_message('/play_this', pitch)
    sleep(0.1)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容