Sim, pode transformar webcam standard num controlador MIDI expressivo usando visão computacional. Não substitui teclado ou MPC, mas permite controlo único baseado em gestos para performance, sound design, ou acessibilidade.
python-rtmidi ou mido.# pip install mediapipe opencv-python python-rtmidi import cv2, mediapipe as mp, rtmidi midiout = rtmidi.MidiOut() midiout.open_port(0) # or open_virtual_port("WebcamMIDI") mp_hands = mp.solutions.hands.Hands(max_num_hands=1, min_detection_confidence=0.7) cap = cv2.VideoCapture(0) while cap.isOpened(): ret, frame = cap.read() if not ret: break frame = cv2.flip(frame, 1) rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) results = mp_hands.process(rgb) if results.multi_hand_landmarks: for hand in results.multi_hand_landmarks: # Ponta indicador (landmark 8) Y → CC1 (0-127) y = hand.landmark[8].y cc_val = int((1 - y) * 127) midiout.send_message([0xB0, 1, cc_val]) # Ch1, CC1 # Feedback visual cv2.circle(frame, (int(hand.landmark[8].x*640), int(y*480)), 10, (0,255,0), -1) cv2.imshow('Webcam MIDI', frame) if cv2.waitKey(1) & 0xFF == 27: break cap.release() cv2.destroyAllWindows() | Gesto | Mensagem MIDI | Uso Musical |
|---|---|---|
| Indicador vertical | CC1 (Modulação) | Cutoff filtro, profundidade vibrato |
| Pinça (dist polegar-indicador) | Note On/Off + Velocity | Disparar notas, bateria |
| Rotação mão (roll) | Pitch Bend | Slides pitch expressivos |
| Dedos abertos | CC74 (Brilho) | Ressonância filtro, posição wavetable |
| Centro palma X/Y | CC16/17 (Controlos macro) | XY pad para macros synth |
Webcam MIDI é playground criativo — ótimo para modulação ambiente, sync visual-áudio ao vivo, ou interfaces música acessíveis. Para precisão, invista Ultraleap ou controlador dedicado.
Tecnologia Eletrônica © [www.351231.com]