¿Qué es NINJAM?
NINJAM significa "Ninjam Is Not Just Another MP3 Jamming" (NINJAM no es solo otra herramienta de jam con MP3). Fue creado por Justin Frankel, la misma persona que creó Winamp (el legendario reproductor multimedia) y Reaper (la popular estación de trabajo de audio digital).
A diferencia de las videollamadas u otras aplicaciones de jam que intentan combatir la latencia de internet y generalmente fallan, NINJAM adopta un enfoque completamente diferente: abraza la latencia.
¿Cómo funciona?
NINJAM utiliza un enfoque basado en intervalos. En lugar de intentar enviar audio en tiempo real (lo cual siempre tiene retrasos notables a través de internet), organiza la música en bucles sincronizados llamados intervalos. Esta es la idea clave:
- Todos tocan sincronizados al mismo tempo y duración de intervalo
- Mientras usted graba lo que está tocando en el intervalo actual, escucha lo que otros tocaron en el intervalo anterior
- Piénselo como una ronda musical o un relevo — usted responde a lo que acaba de suceder
- Siempre hay un retraso de un intervalo, pero todos permanecen perfectamente sincronizados
Durante el Intervalo 1 usted solo graba — aún no hay nada de los demás. A partir del Intervalo 2, mientras graba su nueva parte, escucha lo que otros tocaron durante el intervalo anterior. Este desfase de un intervalo es lo que hace que NINJAM funcione con cualquier conexión a internet, sin importar la distancia.
Esto significa que NINJAM funciona mejor con música improvisada: jazz, blues, ambient, experimental, funk, y cualquier género donde pueda reaccionar a lo que escucha. No está diseñado para tocar canciones escritas nota por nota, sino para jams creativos y fluidos donde los músicos se responden entre sí.
Entendiendo BPM y BPI
Dos parámetros controlan la sincronización de cada sesión de NINJAM:
- BPM (Pulsaciones Por Minuto) — el tempo, qué tan rápido va la música
- BPI (Pulsaciones Por Intervalo) — cuántas pulsaciones caben en un bucle/intervalo
Juntos determinan la duración del intervalo:
(BPI / BPM) x 60 = segundos.
Por ejemplo, con 120 BPM / 16 BPI, cada intervalo dura
8 segundos (16 / 120 x 60 = 8).
¿Por qué NinjamZap?
El nombre lo dice todo: NINJAM + Zap. “Zapada” es una expresión argentina para una jam informal — juntarse con amigos a tocar música, improvisar y pasarla bien sin presión. Ese espíritu es el corazón de esta app.
NinjamZap nació durante la pandemia, cuando un grupo de amigos músicos de Córdoba, Argentina no podía juntarse más a tocar. Buscando una forma de seguir tocando juntos, descubrieron NINJAM — y se enamoraron. Lo que empezó como zapadas de fin de semana por internet se transformó en seis años de pasión por la plataforma y su comunidad.
La app fue creada por Javier Alejandro Cordero, desarrollador independiente y baterista de Córdoba con más de 25 años de experiencia en ingeniería de software, que simplemente quería un cliente NINJAM para el celular que todavía no existía. NinjamZap es un proyecto personal y una carta de amor a la comunidad NINJAM — hecho para que tocar online sea accesible para todos, directamente desde tu teléfono.
¿Tenés preguntas, ideas, o simplemente querés saludar? Escribí a [email protected] o conectá por LinkedIn.
Primeros pasos
NinjamZap es el primer cliente NINJAM para dispositivos iOS. Puede unirse a sesiones de jam con músicos de todo el mundo directamente desde su iPhone o iPad.
Cuando abra NinjamZap por primera vez, verá la pantalla de inicio de sesión:
La pantalla de inicio de sesión — inicie sesión o continúe como invitado
Tiene dos opciones para comenzar:
- Iniciar sesión con una cuenta — use Google, Microsoft o Apple para acceder. Esto guarda sus preferencias y ajustes entre sesiones.
- Continuar como invitado — no necesita cuenta. Simplemente toque el botón y comience a tocar directamente. El modo invitado le da acceso completo a todas las funciones de jam.
Consejo: Si solo quiere probar NINJAM por primera vez, el modo invitado es la forma más rápida de entrar. Siempre puede crear una cuenta más adelante.
Conectarse a un servidor
Después de iniciar sesión o entrar en modo invitado, verá la pantalla de conexión. Aquí es donde configura su sesión antes de unirse a un jam.
La pantalla de conexión — configure y conéctese
Nombre de usuario NINJAM
Elija un nombre que será visible para los demás músicos en la sesión. Puede ser lo que desee — su nombre, su instrumento o un alias creativo.
Dirección del servidor
Ingrese la dirección de un servidor NINJAM al que desee unirse, por ejemplo ninbot.com:2049.
Si no conoce ningún servidor, toque "Browse" para abrir el Explorador de servidores,
que muestra una lista de servidores públicos disponibles junto con el número de músicos
conectados actualmente a cada uno.
Enrutamiento de audio
Seleccione sus dispositivos de entrada y salida de audio. Para la mejor experiencia:
- Audífonos con cable — menor latencia, sin problemas de retroalimentación
- Interfaz de audio (iRig, Focusrite, etc.) — mejor calidad para instrumentos y micrófonos
- Audífonos Bluetooth — funcionan, pero añaden algo de latencia
Ajustes de latencia
Elija un ajuste de latencia según su configuración de audio:
- Ultra Low — ideal para audífonos con cable e interfaces de audio. El búfer de audio más pequeño para la respuesta más ajustada.
- Safe — recomendado para dispositivos Bluetooth o si experimenta fallos de audio. Un búfer más grande para evitar chasquidos.
Conectar
Una vez que todo esté configurado, toque Connect para unirse a la sesión. La aplicación se conectará al servidor y comenzará a sincronizarse con el intervalo actual.
La sesión
Una vez conectado, se encuentra en la pantalla de sesión — la interfaz principal de jam. Esto es lo que encontrará:
Volumen Master, Silenciar y Metrónomo
Controles principales y canales locales
- Volumen Master — controla el nivel de salida general de todo lo que escucha (músicos remotos, metrónomo). El medidor VU junto a él muestra su nivel de salida actual.
- Silenciar — silencia toda la salida de audio instantáneamente.
- Metrónomo — una pista de clic que mantiene a todos sincronizados, siguiendo el BPM establecido por el servidor. Actívelo, especialmente cuando esté empezando. Le ayuda a mantenerse en el ritmo y a entender cuándo comienza y termina cada intervalo.
Canales locales (su audio)
Esta sección muestra su entrada de audio. El control clave aquí es el botón "Xmit" (abreviatura de Transmit). Cuando Xmit está activado, su audio se envía al servidor y los demás músicos pueden escucharle. Cuando está desactivado, se encuentra en modo "solo escuchar".
Consejo: Cuando se una a una sesión por primera vez, comience con Xmit desactivado. Escuche durante algunos intervalos para sentir la música y luego active Xmit cuando esté listo para tocar.
Canales remotos (otros músicos)
Canales remotos — cada músico tiene sus propios controles
Cada músico en la sesión aparece como un canal separado con sus propios controles:
- Control de volumen — ajuste qué tan fuerte escucha a ese músico
- Silenciar (icono de altavoz) — silencie temporalmente a un músico
- Solo (icono de audífonos) — escuche solo a ese músico, silenciando a todos los demás
- Botón Recv — activa o desactiva la recepción de audio de un usuario remoto. Desactívelo si no desea escuchar a una persona en particular.
- Medidores VU — muestran los niveles de audio de cada canal en tiempo real, para que pueda ver quién está tocando incluso antes de ajustar los volúmenes
Chat
El panel de chat le permite comunicarse con otros músicos mediante mensajes de texto. Es una parte esencial de la experiencia NINJAM.
El panel de chat — comuníquese con otros músicos
- El tema del servidor y las reglas se muestran en la parte superior del chat
- Los mensajes del sistema le informan cuando los músicos se unen o abandonan la sesión
- Use el chat para presentarse, sugerir un cambio de tono o tempo, coordinar el jam, o simplemente agradecer por una gran sesión
- Sea amable — la comunidad de NINJAM es acogedora y colaborativa
BPM / BPI
Toque la barra verde de BPM/BPI en la parte inferior de la pantalla de sesión para abrir el panel de BPM/BPI. Aquí puede ver y proponer cambios en el tempo y la duración del intervalo de la sesión.
El panel de BPM/BPI — ajuste el tempo y la duración del intervalo
- Control de BPM — ajuste el tempo (pulsaciones por minuto)
- Control de BPI — ajuste las pulsaciones por intervalo (duración del bucle)
- Botones de voto — proponga sus cambios al servidor. Los cambios requieren una votación mayoritaria de los músicos conectados para entrar en efecto.
- Tap Tempo — toque el botón repetidamente para detectar un tempo a partir de su ritmo de toque. Útil cuando quiere igualar una canción o un groove que tiene en mente.
Combinaciones comunes de BPM/BPI
| Ajuste | Duración | Estilo |
|---|---|---|
120 / 16 |
8 seg | Jam estándar — 4 compases de 4/4, funciona para la mayoría de géneros |
85 / 16 |
11,3 seg | Groove relajado — blues, soul, funk tranquilo |
90 / 8 |
5,3 seg | Bucles cortos — llamada y respuesta rápida |
70 / 32 |
27,4 seg | Ambient — paisajes sonoros lentos y evolutivos |
Consejos de configuración de audio
¡Use audífonos! Sin audífonos, su micrófono capta el audio de reproducción y crea un bucle de retroalimentación. Esto arruina la experiencia para todos en la sesión.
Configuraciones recomendadas (de mejor a buena)
- Interfaz de audio (iRig, Focusrite iTrack, etc.) + audífonos con cable — el estándar de oro. Mejor calidad de audio, menor latencia, sin retroalimentación.
- Audífonos con cable con el micrófono integrado del iPhone — ideal para empezar. Baja latencia, sin retroalimentación.
- Audífonos Bluetooth — funcionan, pero añaden latencia. Use el ajuste de latencia "Safe". Suficiente para jams casuales.
- Altavoz con cancelación de eco — cuando el micrófono integrado está seleccionado, toque el icono de teléfono en la fila del micrófono para activar la cancelación de eco. La calidad de audio se reducirá.
Consejos para interfaces de audio
Si usa una interfaz de audio externa (como un iRig), conéctela antes de abrir NinjamZap. La aplicación la detectará automáticamente y enrutará el audio a través de ella. Puede verificar el dispositivo seleccionado en la sección de enrutamiento de audio en la pantalla de conexión.
Detalles técnicos
NinjamZap procesa todo el audio internamente a 48 kHz. Si su dispositivo de audio funciona a una frecuencia de muestreo diferente (común con Bluetooth), la aplicación remuestrea automáticamente para igualar. Esto se maneja de forma transparente — no necesita configurar nada.
Streaming de una sala a OBS
Cada sala de NinjamZap se transmite en vivo en la web a través de
nuestro bot público (lo verá conectado como
ninjamzapbot en la lista de jugadores). El bot expone un stream
de video independiente por cada músico, más un stream de
audio mezclado de toda la sala. Puede traer esos streams a
OBS Studio
como Browser Sources, alternar entre cámaras, agregar overlays y
retransmitir el resultado a YouTube, Twitch o cualquier otro destino al que
OBS pueda enviar.
¿Para quién es esto? Para anfitriones que quieren transmitir un jam como livestream — switching multi-cámara, picture-in-picture, transiciones de escena, overlays con su branding. Si sólo quiere escuchar una sala, el reproductor en ninjamzap.com/live ya hace exactamente eso sin OBS.
La URL del tile
Cada músico de una sala tiene una página dedicada de un solo tile, diseñada para OBS. Use cualquiera de las dos formas de URL — son equivalentes:
- Ruta corta:
https://www.ninjamzap.com/tile/<host>/<port>/<username> - Query string:
https://www.ninjamzap.com/tile/?host=<host>&port=<port>&u=<username>
<host> y <port> identifican la sala
NinjamZap (por ejemplo video.ninjamzap.com y
2049). <username> es el nick NINJAM del
músico — exactamente como aparece en la
página live de esa sala.
La página tiene fondo transparente, sin elementos de UI, y arranca el
stream automáticamente para que OBS lo capture apenas se activa la escena.
Paso a paso
- Abra la página live de la sala que quiere transmitir (ninjamzap.com/live) y anote el host, el puerto y los nicks de los músicos en la sala.
- En OBS, cree una escena nueva. Agregue un Browser Source por cada músico que quiera tener como cámara separada. Use la URL del tile descrita arriba con el nick correspondiente, elija ancho/alto y haga clic en OK.
-
Agregue un Browser Source más para el audio de
la sala. Use la URL de tile de cualquier músico con
?audio=1al final (o&audio=1después de la query string existente). Active este flag en un solo source — si más de un Browser Source reproduce audio obtendrá streams duplicados encimados con un fasing desagradable. - Acomode los tiles en su canvas: grilla, picture-in-picture, cámara pinneada con thumbnails, lo que funcione para su programa. Cada tile es simplemente un elemento de video — redimensione, recorte y aplique filtros de OBS sin restricciones.
- Empiece a transmitir o grabar en OBS como lo hace habitualmente.
Configuración recomendada del Browser Source en OBS: destildé "Refresh browser when scene becomes active" y "Shutdown source when not visible". Las dos opciones tirarían el buffer HLS cada vez que cambia de escena, lo que significa esperar 4 segundos de buffer nuevo y un glitch audible al cortar. Déjelas apagadas para mantener los streams calientes en segundo plano.
Flags de la URL
Puede ajustar el comportamiento de cada tile agregando estos flags a la URL
(use ? para el primero, & para los siguientes):
audio=1— reproduce el audio mezclado de la sala. Use este flag en exactamente un Browser Source.label=0— oculta el chip con el nombre de usuario abajo a la izquierda. Útil cuando renderiza sus propios lower thirds en OBS.fit=contain— agrega bandas negras en lugar de recortar. Sirve cuando un músico filma en vertical y su escena es horizontal.delay=<segundos>— sobrescribe el offset de audio (default1.0). Pongalo en0para deshabilitar el delay de WebAudio si maneja la sincronización A/V en OBS.
Qué esperar
- Latencia: aproximadamente 10–15 segundos entre lo que toca cada músico y lo que escucha la audiencia de su stream. El propio NINJAM introduce un delay de un intervalo (los músicos tocan sobre el intervalo anterior) y el pipeline HLS que alimenta OBS agrega unos segundos más de buffer. Para retransmisión casual es invisible; si va a hacer hosting en vivo con voz, es una restricción que conviene tener en mente.
- Drift entre tiles: entre dos cámaras va a ver alrededor de 100–300 ms de drift. Es estable (no crece con el tiempo) pero no es cero. Aceptable para switching visual de cámaras; visible si intenta cortar entre dos ángulos del mismo pasaje musical rápido.
- Reconexiones: si el stream de un músico se cae (colgó, perdió la conexión, cambió de cámara) el tile se reatacha automáticamente cuando vuelve. No hay que hacer nada de su lado.
Próximamente: streams por cámara con calidad broadcast
El camino de Browser Source de arriba es el setup más liviano posible — perfecto para retransmisiones hobbistas y para "darle play y dejarlo corriendo". Si necesita latencia menor a 2 segundos o sincronización más ajustada entre tiles (dirección multi-cam real con cortes rápidos), el siguiente paso es push SRT o WebRTC por usuario desde el bot directamente a OBS, sin HLS en el medio. Ese camino está en el roadmap; si tiene un caso de uso de producción concreto, escríbanos a [email protected] y lo priorizamos.
Consejos para grandes sesiones de jam
- Empiece escuchando. Únase a una sesión y escuche durante al menos un intervalo completo antes de empezar a tocar. Sienta lo que está sucediendo musicalmente.
- Manténgalo simple. Deje espacio para los demás. Los mejores jams ocurren cuando todos contribuyen sin pisarse unos a otros.
- Use el chat. Salude cuando se una. Sugiera un tono si la música necesita dirección. Agradezca a las personas cuando se vaya. La comunicación hace mejores las sesiones.
- Si suena raro, espere algunos bucles. Recuerde, está escuchando el intervalo anterior. Después de dos o tres intervalos, su oído se ajusta y las cosas empiezan a encajar.
- ¡Experimente! NINJAM es un espacio para la improvisación. Pruebe nuevos sonidos, toque instrumentos que esté aprendiendo, explore diferentes géneros. No hay notas equivocadas en un jam.
Solución de problemas
"No me escucho a mí mismo"
Subí el volumen de tu canal local — esto controla qué tan fuerte te escuchás en la mezcla. También asegurate de que Xmit esté activado para que los demás te escuchen, y que el Volumen Master esté alto.
"Los demás no me escuchan"
Asegúrese de haber otorgado el permiso de micrófono a NinjamZap (revise en Ajustes de iOS > NinjamZap > Micrófono). También verifique que Xmit esté activado para su canal local.
"El audio tiene fallos o chasquidos"
Cambie al ajuste de latencia "Safe" en el enrutamiento de audio en la pantalla de conexión. Cierre otras aplicaciones que puedan estar usando audio. Si está usando Bluetooth, intente cambiar a audífonos con cable.
"No puedo conectarme al servidor"
Verifique su conexión a internet. Confirme que la dirección del servidor sea correcta (incluyendo el puerto, p. ej., ninbot.com:2049). Algunos servidores pueden estar temporalmente fuera de línea — pruebe uno diferente desde el Explorador de servidores.
"Escucho eco o retroalimentación"
Use audífonos. Sin ellos, su micrófono capta la reproducción y la envía de vuelta al servidor. Si necesita usar el altavoz, toque el icono de teléfono en la fila del micrófono integrado para activar la cancelación de eco.
"La música suena desincronizada"
¡Eso es normal! En NINJAM siempre escucha el intervalo anterior. Es así por diseño. Active el metrónomo para ayudarle a mantenerse en el ritmo, y dele algunos intervalos para que su oído se ajuste al concepto.
Si experimenta otros problemas o necesita ayuda, contáctenos en [email protected].