Manual de Usuario: Configurador SoundBlocks
Especificaciones de sintaxis, arquitectura de red inalámbrica y guía de diagnóstico de errores para módulos SoundBlocks.
1. Introducción
Configurador SoundBlocks es el entorno de software diseñado para definir la comunicación interactiva y la síntesis de sonido entre los módulos de hardware SoundBlocks a través de una red inalámbrica local.
Cada módulo físico posee un identificador numérico único (ID) dentro del rango de 2 a 254. Un módulo transmite las lecturas de sus sensores a la red o actúa como receptor, activando muestras de audio y parámetros de síntesis sonora.
Sensor de Inclinación (ax)
122->ax:108
108<-ax:122@Vol[0,15]
Ajuste de Volumen
2. Inicio Rápido
Un script de configuración de SoundBlocks consta de reglas declaradas concisamente línea por línea. A continuación se presenta un script de configuración interactivo completo:
# Configuración básica: Control de audio mediante sensor táctil
# 1. El Módulo 10 transmite la señal del sensor táctil t1 al Módulo 20
10->t1:20
# 2. El Módulo 20 escucha al Módulo 10 y reproduce la muestra de audio nº 3 al activarse t1
20<-t1:10@Play[3]
- Escribe o pega tus reglas en el editor de código.
- Selecciona la interfaz de red activa en Configurar ➔ Dirección IP.
- Haz clic en Verificar (Ctrl+R) para validar la sintaxis.
- Haz clic en Cargar (Ctrl+U) para transmitir la configuración a la red de módulos.
3. Reglas de Envío (->)
Especifica qué sensores integrados emite un módulo local a la red y define los módulos de destino autorizados.
Estructura de la Regla de Envío
Especificaciones Estructurales
- ID_EMISOR: Identificador del módulo transmisor (rango:
2a254). - SENSORES: Códigos de sensor separados por comas (ej.
t1,ax,gz). - DESTINOS: Módulos receptores autorizados:
- Módulos explícitos:
102,105 - Rangos continuos mediante guiones:
105-108(abarca 105, 106, 107 y 108). - Modo Broadcast (Difusión): Usa el ID
255para transmitir a todos los nodos de la red.
- Módulos explícitos:
- Máximo 3 bloques o rangos de destino por línea de instrucción.
- Máximo 5 módulos receptores explícitos por regla.
- Máximo 40 reglas de envío por módulo individual.
Ejemplo Práctico de Envío
# El Módulo 122 transmite el sensor táctil t1 y el acelerómetro ax a los módulos 102, 105, 106, 107 y 108
122->t1,ax:102,105-108
# El Módulo 50 transmite la velocidad angular gx a TODOS los módulos conectados (Broadcast)
50->gx:255
4. Reglas de Recepción (<-)
Configura la acción de audio o el parámetro de síntesis ejecutado por el módulo local al recibir datos de sensor desde un nodo emisor.
Estructura de la Regla de Recepción
Mapeo de Valores [Mín, Máx]
El parámetro entre corchetes [...] define el rango de escalado de control:
- Dos parámetros
[mín, máx]: Escala proporcionalmente los datos del sensor entrante. Ej.,Vol[0,15]escala el volumen entre 0 y 15. - Un parámetro
[valor]: Establece un parámetro selector fijo. Ej.,Play[5]selecciona estrictamente la muestra de audio nº 5. - Sin parámetros / Por defecto: Asume
[0,0]si se omite. Comandos comoStop,PauseoResumeno requieren corchetes.
Un módulo puede almacenar un máximo de 30 reglas de recepción en su memoria física.
Ejemplo Práctico de Recepción
# El Módulo 108 escala el volumen (rango 0-15) según la aceleración 'ax' del Módulo 122
108<-ax:122@Vol[0,15]
# El Módulo 102 activa la muestra nº 3 al recibir la señal táctil 't7' del Módulo 108
102<-t7:108@Play[3]
# El Módulo 40 detiene la reproducción al recibir 't1' del Módulo 10
40<-t1:10@Stop
5. Referencia de Sensores
Índice interactivo de sensores integrados en el hardware:
| Código (SBC) | Descripción del Sensor |
|---|---|
t1 - t7 | Sensores táctiles capacitivos (7 entradas independientes). |
ax, ay, az | Acelerómetro: Inclinación / Aceleración lineal en ejes X, Y, Z. |
aax, aay, aaz | Acelerómetro Absoluto: Valores absolutos (|X|, |Y|, |Z|). |
gx, gy, gz | Giroscopio: Velocidad angular en ejes X, Y, Z. |
agx, agy, agz | Giroscopio Absoluto: Velocidad de rotación angular absoluta. |
rx, ry, rz | Orientación Espacial 3D (Guiñada, Cabeceo, Alabeo). |
6. Referencia de Acciones
Comandos de reproducción y parámetros de síntesis sonora:
| Comando | Descripción de la Función | Rango Válido |
|---|---|---|
Play | Reproduce la muestra de audio especificada. | 1 - 127 |
Loop | Reproduce la muestra de audio especificada continuamente. | 1 - 127 |
Pause | Pausa la reproducción activa de la muestra. | Sin parámetro |
Stop | Detiene la reproducción por completo. | Sin parámetro |
Resume | Reanuda la reproducción de audio pausada. | Sin parámetro |
Vol | Ajusta el volumen maestro del módulo. | 1 - 30 |
PlayStop | Alterna entre reproducir y detener al activarse. | 1 - 127 |
PlayPause | Alterna entre reproducir/pausar y reanudar al activarse. | 1 - 127 |
PlayTouch | Reproduce la muestra solo mientras se mantiene la entrada táctil. | 1 - 127 |
PlaySweep | Avanza progresivamente entre muestras de audio. | 1 - 127 |
Wave1 - Wave3 | Forma de onda del oscilador (1=Triangular, 2=Diente de sierra, 3=Cuadrada). | 1 - 3 |
Freq1 - Freq3 | Frecuencia del oscilador del sintetizador. | 1 - 127 |
Gain1 - Gain3 | Nivel de volumen del oscilador individual. | 1 - 127 |
GainNoise | Nivel de volumen del generador de ruido blanco. | 1 - 127 |
7. Solución de Problemas (Consola y Errores)
Diagnósticos basados en los mensajes de error devueltos por el verificador del compilador:
Causa: El ID del módulo emisor está fuera del rango asignable por hardware (ej. ID 0, 1 o mayor a 254).
Solución: Revisa la etiqueta del hardware del módulo y asigna un ID entre 2 y 254.
Causa: La cantidad total de IDs receptores en una sola línea de envío (->) supera los 5 nodos.
Solución: Divide los destinos en varias líneas de instrucción o utiliza el ID de Broadcast 255.
Causa: El módulo ha superado el límite de asignación de memoria para reglas de transmisión salientes.
Solución: Combina varios sensores en una sola línea de envío (ej. 12 -> t1,t2,ax : 20 en lugar de 3 reglas separadas).
Causa: No se pudo abrir la conexión WebSocket con la dirección IP de destino en el puerto 12001.
Solución:
1. Asegúrate de que tu equipo esté conectado a la misma red inalámbrica que los módulos SoundBlocks.
2. Confirma que la subred en Configurar ➔ Dirección IP coincida con tu adaptador de red activo.