Skip to content

Releases: Erbubar23/bubba-machine

Bubba Machine 0.5.0-beta

Pre-release

Choose a tag to compare

@Erbubar23 Erbubar23 released this 12 Oct 14:26

⚠️ Beta, todavía no probada en el aparato (pasa las pruebas automáticas y el emulador). Al instalarla se borran los patrones guardados (cambió su formato); las tomas se quedan. / Beta, not yet tried on the device (it passes the automated tests and the emulator). Installing it erases saved patterns (their format changed); takes stay.

Instalar / Install

  • Instalador web / web installer: https://erbubar23.github.io/bubba-machine/instalar.html (Chrome o Edge)
  • bubba-machine-0.5.0-beta.fwsc: el firmware completo / the full firmware.
  • bubba-diag-0.5.0-beta.fwsc: diagnóstico sin sonido / no-sound diagnostic.
  • Español en la pantalla / Spanish screen: py -3 tools/fm1/idioma.py lang/es.bmlang (con el transporte parado / with the transport stopped).
  • Si algo falla, vuelve a la 0.4.0-beta o al de fábrica / if something goes wrong, go back to 0.4.0-beta or to stock: FM-1 V15 de / from https://www.m-vave.com/download

Español

Beta, todavía no probada en el aparato: pasa las pruebas automáticas y el emulador. Si algo falla en el FM-1, vuelve a la 0.4.0-beta o al firmware de fábrica desde el instalador.

La pantalla pasa al inglés, para que Bubba Machine se entienda en todo el mundo. El español sigue disponible como paquete de idioma, que no viene cargado. La memoria de tomas baja de 7.4 s a 6.4 s: 16 KiB de la flash son ahora del paquete de idioma, y una toma que usaba ese lugar se pierde. El sampler pasa a ser de pads y el formato de los patrones cambia: los patrones guardados se borran al primer arranque (las tomas se quedan).

Agregado

  • Paquetes de idioma. Las frases de la pantalla están en inglés y un paquete (.bmlang) las traduce. Vive en su propia zona de la flash (0xD9000, 16 KiB), así que no toca patrones ni tomas y una actualización del firmware no lo borra. SISTEMA › LANGUAGE cambia entre el inglés y el paquete cargado. Lo que el paquete no traduce se ve en inglés.
    • Español (lang/es.txt, armado en lang/es.bmlang): la pantalla queda como antes.
    • Se carga en el FM-1 con tools/fm1/idioma.py (por la consola USB-MIDI, con el transporte parado) y en el emulador con un botón; en la página del emulador en español, la primera vez ya arranca en español.
    • tools/gen_lang.py junta todas las frases en lang/plantilla.txt, revisa cada traducción (solo ASCII, los mismos %) y arma los paquetes. Cualquiera puede hacer otro idioma.

Cambiado

  • T2 es un sampler de 16 pads, como un KO II o el drum sampler de un OP-1 field. Reemplaza al loop en slices con generador (y a SLICER, CORTAR y CHOPS).
    • Cada pad es un trozo de una toma, con su inicio y su largo (se pueden encimar), tono, nivel, modo de tecla (ONESHOT, KEY, THRU: sostenido sigue por la toma, LOOP), sentido, ataque, salida, grupo de corte y si sigue el tempo. Un kit puede mezclar tomas.
    • La toma arma el kit: al guardarse una toma con el kit vacío, se corta en los golpes, cada corte va a un pad y la rejilla queda escrita para que suene como la toma. En TAKES: N1 kit en los golpes, N2 en 16, N3 en 8, N4 la toma entera en el pad elegido; las blancas la escuchan en 16 partes.
    • SEQ es una rejilla como la de la batería: una línea por pad, con su largo, acentos, repeticiones, condiciones, mutes, fill y P-Lock por paso de FILTER, PITCH, DECAY y START. Se acabaron los números sueltos: se ve qué pad suena en qué paso.
    • PADS (EDIT): la onda de la toma con el pad entre corchetes y los demás pads marcados, y tres páginas (TRIM, SOUND, ENV; EDIT otra vez pasa). Negras: copiar, pegar, vaciar, el inicio al golpe; 9-11 reversa, media velocidad y stutter.
    • BREAK (SEQ otra vez): el generador de antes, ahora sobre la rejilla y apagado de fábrica. VARY cambia pads, ANCHOR deja los tiempos fuertes, REPEAT y BREAK. La fila PLAYS muestra lo que va a sonar y EDIT + negra 4 lo escribe en la rejilla.
    • En la grabadora, las blancas escuchan la toma nueva antes de guardarla.
  • El dibujo del sampler (SOUND) es la misma onda espejada; ya no hay tres carriles por frecuencia.
  • Los nombres de los modelos de batería, los patches de FM y las ondas también pasan al inglés (con su traducción en el paquete).

English

Beta, not yet tried on the device: it passes the automated tests and the emulator. If something goes wrong on the FM-1, go back to 0.4.0-beta or the stock firmware from the installer.

The screen switches to English, so Bubba Machine can be understood worldwide. Spanish is still available as a language pack, not loaded by default. Take memory goes down from 7.4 s to 6.4 s: 16 KiB of flash now belong to the language pack, and a take that used that space is lost. The sampler becomes a pad sampler and the pattern format changes: saved patterns are erased at the first boot (takes stay).

Added

  • Language packs. The screen's phrases are in English and a pack (.bmlang) translates them. It lives in its own flash zone (0xD9000, 16 KiB), so it does not touch patterns or takes and a firmware update does not erase it. SYSTEM › LANGUAGE switches between English and the loaded pack. Whatever the pack does not translate shows in English.
    • Spanish (lang/es.txt, built into lang/es.bmlang): the screen looks as before.
    • It is loaded on the FM-1 with tools/fm1/idioma.py (over the USB-MIDI console, with the transport stopped) and in the emulator with a button; on the Spanish emulator page it starts in Spanish the first time.
    • tools/gen_lang.py collects every phrase into lang/plantilla.txt, checks each translation (ASCII only, the same %) and builds the packs. Anyone can make another language.

Changed

  • T2 is a 16-pad sampler, like a KO II or the drum sampler of an OP-1 field. It replaces the sliced loop with a generator (and SLICER, CORTAR and CHOPS).
    • Each pad is a piece of a take, with its own start and length (they can overlap), pitch, level, key mode (ONESHOT, KEY, THRU: held, it keeps going through the take, LOOP), direction, attack, release, choke group and whether it follows the tempo. A kit can mix takes.
    • The take builds the kit: when a take is saved with the kit empty, it is cut on the hits, each cut goes to a pad and the grid is written so it plays like the take. In TAKES: N1 kit on the hits, N2 in 16, N3 in 8, N4 the whole take on the selected pad; white keys play it in 16 parts.
    • SEQ is a grid like the drums: one line per pad, with its length, accents, repeats, conditions, mutes, fill and per-step P-Lock of FILTER, PITCH, DECAY and START. No more loose numbers: you see which pad plays on which step.
    • PADS (EDIT): the take's waveform with the pad in brackets and the other pads marked, and three pages (TRIM, SOUND, ENV; EDIT again changes page). Black keys: copy, paste, empty, start on the hit; 9-11 reverse, half speed and stutter.
    • BREAK (SEQ again): the old generator, now on the grid and off by default. VARY changes pads, ANCHOR keeps the strong beats, REPEAT and BREAK. The PLAYS row shows what is going to play and EDIT + black 4 writes it into the grid.
    • On the recorder, white keys play the new take before it is saved.
  • The sampler drawing (SOUND) is the same mirrored waveform; the three frequency lanes are gone.
  • Drum model names, FM patches and waveforms are in English too (translated in the pack).

Bubba Machine 0.4.0-beta

Pre-release

Choose a tag to compare

@Erbubar23 Erbubar23 released this 12 Oct 05:16

⚠️ Beta. Probada en un solo FM-1. Una actualización puede borrar lo que guardaste (patrones, canción, ajustes y tomas). / Tested on a single FM-1. An update may erase what you saved (patterns, song, settings and takes).

Instalar / Install


Beta: la primera versión que corre en el FM-1. Se probó en un solo aparato (el del autor) y todavía cambia mucho. Una actualización puede borrar lo que guardaste (patrones, canción, ajustes y tomas del sampler): hasta la v1 no hay compatibilidad hacia atrás, y cuando cambia un formato lo anterior se borra al arrancar y vuelve la demo. Si algo te importa, grábalo por la salida de audio antes de actualizar.

Los sonidos se rehicieron: ya no hay sonidos grabados ni wavetables, todo se calcula en vivo con bibliotecas de síntesis probadas. Lo guardado con la 0.3 (patrones, canción, ajustes y tomas) no se lee: se borra al primer arranque y arranca la demo.

Agregado

  • Batería modelada (T1 y los canales KIT): 16 instrumentos, cada uno con su modelo: bombo, caja y hat de la 808 y versiones sintéticas al estilo 909 (los modelos de Plaits, de Mutable Instruments), hat metálico y platillos, palmas, tom y conga, cencerro, resonador (rim, clave, bloque), ruido (maracas) y percusión FM. Kits 808, 909 y SINTE. Cada instrumento se edita en INSTR: AFINA, DECAY, TONO, COLOR (lo que corresponda al modelo), MODELO, NIVEL, grupo de corte (choke) y LARGO. El acento pega distinto, no solo más fuerte. Seis voces para la batería (antes cuatro).
  • ANALOG nuevo, analógico virtual de verdad: dos osciladores de forma variable con polyBLEP (SIERRA, CUADRADA con ancho de pulso, TRIANGULO, SENO con plegado y 3 SIERRAS), sync, ring, sub y ruido; filtro LP 24/12, BP o HP con resonancia y drive; ADSR de filtro y de nivel; LFO a tono, corte, forma o nivel; POLI, MONO o LEGATO con glide. 16 presets.
  • Editor de sonido por páginas (SONIDO en ANALOG, INSTR en la batería): 4 ajustes por página en K1-K4, SELECT pasa de página, EDIT/ENV/LFO saltan a la que toca, y un dibujo de lo que hace cada página (onda, curva del filtro, envolvente, LFO).
  • Motor FM de 6 operadores (msfa, la base de Dexed y del firmware de fábrica) para T3 y los canales libres: 16 patches propios (E.PIANO, BAJO FM, CAMPANA, METALES, CUERDAS, ORGANO, CLAVI, MARIMBA...), con las macros BRILLO, REALIM, DECAY y ALGORITMO (los 32 de la DX7) y una pantalla con los 6 operadores. MAS > MOTOR > FM.
  • Sampler: mantener un paso hace sonar el loop desde ahí, entero y en bucle, mientras lo sostienes.
  • Grabación libre en los canales de notas, como una loopera: en un canal vacío, REC no tiene largo fijo; al cerrarlo, el canal queda en compases completos (1-4) y cada nota guarda lo que la sostuviste.
  • Largo en compases en la capa de SEQ (negras 7-10).
  • Motores de sonido nuevos: ACID (estilo 303: filtro escalera de 4 polos con resonancia, acento y slide) para T3 y los canales libres; ANALOG (dos osciladores desafinados, sub y ruido, 6 timbres) para los canales libres; y el kit SINTE, una batería calculada en vivo. Los kits grabados KO-808 y KO-909 se quedan.
  • Memoria de tomas a la vista: en la grabadora (segundos y KB libres, máximo por toma) y en el emulador, junto a la carga de audio.
  • SLICER (SEQ otra vez en T2): el sampler corta la toma en 16 cortes, uno por blanca. Las blancas tocan los cortes y, con REC y PLAY, los fijan en el paso; K1 elige, K2 mueve, K3 sensibilidad, K4 ganancia; negras 1-3: cortes en los golpes, 16 u 8 iguales; 9-11 reversa, media velocidad y stutter. Los cortes en los golpes buscan los ataques (sirven también para voces).
  • Tira de teclas en pantalla: cada página de canal, MEZCLA y ESCENAS dibuja las 11 negras y las 16 blancas con su nombre corto y el mismo estado que su luz (las luces son blancas y no dicen qué hace la tecla). En HOME la tira es grande. Donde las blancas ya se ven en la pantalla (SEQ, CORTAR, SLICER), la tira muestra solo las negras.
  • Batería por secciones de 8: el SEQ de la batería muestra 8 instrumentos con su nombre en letra normal; la negra 9 cambia de sección.
  • Subir una toma desde la computadora: tools/fm1/toma.py convierte cualquier audio (con ffmpeg) y lo manda al FM-1 por USB-MIDI; queda como una toma recién grabada.
  • Demo nueva: acid techno a 160 BPM (909, una línea 303 con acentos y slides y el sampler cortando la primera toma).
  • FM-1, Bubba Machine completo para el aparato (beta, probado en el FM-1 del autor): el núcleo con sonido por el codec (ALNK0), la matriz y los LEDs por interrupción, pantalla, USB-MIDI, guardado, modo seguro y servicio de actualización.
  • FM-1, firmware de diagnóstico: sin sonido que muestra cada botón, tecla y perilla, el MASTER, la batería y el USB-MIDI, con modo seguro, salida al modo del chip y el servicio de actualización.
  • Instalador web (instalar.html): arma el paquete en el navegador sobre el FM-1 V15 de M-VAVE (que cada quien descarga) y lo instala con el cargador oficial; lee el FM-1 solo (dice qué firmware tiene, o por qué no lo encuentra), se elige qué instalar (Bubba Machine, diagnóstico o firmware de fábrica) y queda un botón; también vuelve al firmware de fábrica y continúa una instalación cortada. tools/fm1/servir.py lo sirve en la computadora con el V15 ya cargado.
  • Herramientas del FM-1: tools/fm1/fwsc.py (empaquetador, comprobado byte por byte contra el V15) y tools/fm1/rescate.py (rescate desde Windows por el modo del chip, con respaldo completo antes de escribir).

Cambiado

  • Negras 10 y 11 en los canales: abren pantallas. La 10 (batería) abre los MUTES de los instrumentos y la 11 abre el FILL, donde suena el fill y las blancas arman sus golpes (o marcan notas solo para el fill), con K1 = fill automático. Un toque las deja abiertas (se cierran con la misma tecla o HOME); mantenerlas = solo mientras las sostienes. Un toque ya no mutea a ciegas: cada mute avisa y el instrumento muteado queda en rojo.
  • ALGORITHM dentro de un canal también pasa por el recuadro con el número antes de cambiar; en INSTR elige instrumento y lo hace sonar.
  • HOME explica las negras (mutes, solo, escenas, fill, y las pantallas de la batería).
  • Fuera los motores viejos: BAJO, SYNTH (wavetable), MONO y el ANALOG de 6 timbres pasan al ANALOG nuevo; los kits grabados KO-808 y KO-909 y el kit SINTE, a la batería modelada. El programa del FM-1 ocupa 148 KiB menos y se liberan 64 KiB de RAM.
  • Patrones en formato 5: cada canal guarda 32 ajustes de sonido, cada instrumento de batería su modelo y su golpe, y la nota del sampler su corte (4 bits). Las tomas pasan a la firma BMT4 (16 cortes en la cabecera).
  • Fuera los loops de fábrica: el sampler toca solo tomas (grabadas o subidas con tools/fm1/toma.py).
  • ANALOG en el FM-1: 4.1 % de un núcleo por voz (oscilador polyBLEP propio, filtro recalculado cada 8 muestras, saturación sin división y el cálculo por pasadas cortas; la primera versión costaba 10 %).
  • El audio se compila para velocidad: en el FM-1 la demo con PLAY pasó de 36.9 % a 27.7 % de un núcleo. Las wavetables se arman al arrancar desde su espectro (el programa ocupa 56 KiB menos).
  • Audio a 44.1 kHz de punta a punta, con el bus en coma flotante. Los motores calculaban a 22 kHz y la salida se duplicaba; ahora calculan a 44.1 kHz (agudos hasta 20 kHz, sin imágenes del sobremuestreo) y la mezcla, el delay, los efectos y el clipper son de coma flotante, por bloques. El delay y la captura de los efectos (stutter, reversa, tape stop) pasan a 16 bits (antes la captura era μ-law de 8 bits), y la grabación del sampler se filtra con un Butterworth antes de bajar a 16 kHz. En el FM-1, con PLAY, la mezcla cuesta menos que antes aunque calcula el doble de muestras (docs/TRAZA_FM1.md).
  • La interpolación DROP (sin interpolar) pasa a ser LINEAL: a 44.1 kHz, repetir muestras sonaba a lo-fi.
  • La página SEQ de los canales de notas es solo de ese canal: piano roll de la página con el largo de cada nota, los compases del canal y el seguidor de tempo punteado. Ya no muestra los otros canales.
  • Las notas grabadas pueden durar hasta 4 compases (antes, 1).
  • Mapa de la flash para el aparato: los ajustes globales pasan a 0xDD000 y la biblioteca de tomas queda en 116 KiB (7.4 s en total; antes 8.1 s), para dejar lugar al cargador en espera y al almacén del SDK.

English

Beta: the first version that runs on the FM-1. It was tested on a single device (the author's) and still changes a lot. An update may erase what you saved (patterns, song, settings and sampler takes): until v1 there is no backward compatibility, and when a format changes the old data is erased at boot and the demo comes back. If something matters to you, record it from the audio output before updating.

The sounds were rebuilt: no more recorded sounds or wavetables, everything is computed live with proven synthesis libraries. What 0.3 saved (patterns, song, settings and takes) is not read: it is erased on first boot and the demo starts.

Added

  • Modeled drums (T1 and KIT tracks): 16 instruments, each with its own model: 808 kick, snare and hat plus 909-style synthetic versions (the Plaits models by Mutable Instruments), metallic hat and cymbals, clap, tom and conga, cowbell, resonator (rim, clave, block), noise (maracas) and FM percussion. Kits 808, 909 and SINTE. Each instrument is edited in INSTR: TUNE, DECAY, TO...
Read more

Bubba Machine 0.2.0

Choose a tag to compare

@Erbubar23 Erbubar23 released this 10 Oct 19:00

Primera versión pública de Bubba Machine, firmware libre (GPL-3.0-or-later) de groovebox de 6 pistas para el M-VAVE FM-1.

Importante: esta versión funciona completa en el emulador web y en las pruebas de PC. El port al FM-1 todavía no se ha probado en hardware y no hay binario para instalar. No intentes flashear nada. Ver Instalar.

Agregado

  • Batería TR (T1) y sampler (T2) con 16 instrumentos, cada uno con su línea y su largo (polímetro), acento, repetición ×2-×4, flam, P-Locks y pasos que solo suenan (o callan) en el fill. Roll en vivo y borrado estilo TR.
  • Tiempo por pista: largo 1-64 y velocidad ×2 a ×1/4; largo maestro de 16 pasos a infinito.
  • Sampler: graba la mezcla con chops en vivo; 2 slots de 4 s en flash que se reproducen directo (XIP).
  • Loops de fábrica en la ROM (BUBBA 160 y BUBBA 128), sintetizados por tools/gen_loops.py. El demo arranca con uno.
  • Dibujo del sample por frecuencias: tres carriles (graves, medios y agudos) en lugar de la forma de onda, que en música muy comprimida es un bloque.
  • Loopera de notas por pista en los synths (REC › PLAY › OVERDUB).
  • Acordes en cuadrícula 4×4 con grado, nombre y función por color; juegos de progresiones, voicing conducido y strum.
  • Escenas A-D con cadenas y SONG REC; fills automáticos.
  • Tercera pulsación de 2 s (TIEMPO, SISTEMA, SAMPLER, borrar pista, guardado rápido) con anillo de progreso.
  • Licencia GPL-3.0-or-later, documentación, sitio web y CI.

Cambiado

  • El proyecto se publica como Bubba Machine, independiente de cualquier firmware anterior.

Sitio: https://erbubar23.github.io/bubba-machine/ · Manual: https://erbubar23.github.io/bubba-machine/docs/manual.html