
1 軟件安裝
sudo apt update
sudo apt upgrade -y
安裝Python依賴文件
sudo pip3 install python-osc
如果安裝不成功,則將pip3--> pip
2 模擬泰勒明琴的過程
需要:
超聲波距離傳感器
超聲波距離傳感器
Python
當(dāng)前流行的人工智能語言
Python
sonic-pi
樹莓派的一款音樂制作程序
sonic-pi
3背景:
泰勒明琴是一款特殊的樂器,通過不接觸形式的演奏方式來產(chǎn)生音樂,但是泰勒明琴的制作過程十分復(fù)雜,內(nèi)部結(jié)構(gòu)多樣,價(jià)格昂貴。我們的項(xiàng)目是通過使用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)


