-
2024
-
noviembre
-
Modificación del sonido de un despertador
03/11/24
A lo largo de esta publicación se aborda una modificación hardware de un reloj despertador para cambiar el sonido que reproduce cuando hace sonar la alarma.
Introducción
Mi hijo recibió por su cumpleaños un despertador con temática Minecraft que le gustó mucho salvo por el soni
-
Modificación del sonido de un despertador
-
mayo
-
Desarrollo de una miniconsola de videojuegos portátil (4): snake
19/05/24
En esta cuarta entrega de esta miniserie sobre el desarrollo de la GabrielBoy, se abordará el diseño y desarrollo del tercero de los juegos incluidos: un snake, al más puro estilo de los que incluían los antiguos móviles Nokia.
Mecánica del juego
Tenemos una cuadrícula de 30x30 -
Desarrollo de una miniconsola de videojuegos portátil (3): shooter
19/05/24
En esta tercera entrenga de esta miniserie sobre el desarrollo de la GabrielBoy, se abordará el diseño y desarrollo del segundo juego: un shooter en 3D. Consiste en un entorno 3D simulado utilizando técnicas de raycasting en el que somos un tirador que debe recorrer el escenario y disparar a todos l -
Desarrollo de una miniconsola de videojuegos portátil (2): tetris
19/05/24
En esta segunda entrega de esta miniserie sobre el desarrollo de la GabrielBoy, se abordará el diseño y desarrollo del primero de los juegos: un tetris. Se parte del diseño original del tetris, que consiste en una cuadrícula de 10x20 posiciones en la que van cayendo piezas que el jugador debe ir col -
Desarrollo de una miniconsola de videojuegos portátil (1): diseño hardware
17/05/24
A lo largo de 4 entradas consecutivas en el blog iré detallando todo el desarrollo y la implementación de una miniconsola de videojuegos portátil que he desarrollado para mi hijo. La idea era hacer una consola al estilo "maquinita" o "game & watch" pero algo más elaborada, al
-
Desarrollo de una miniconsola de videojuegos portátil (4): snake
-
abril
-
Programación bare metal del SoC Allwinner D1
24/04/24
Al igual que se hizo en una anterior entrega con el SoC Allwinner H5, un ARM Cortex-A53 (64 bits), esta vez toca hacer prueba de concepto de bare metal con el SoC Allwinner D1, uno de los más utilizados en placas tipo SBC basadas en RISC-V. El D1 es un RISC-V de 64 bits que tiene un mecanismo de arr
-
Programación bare metal del SoC Allwinner D1
-
noviembre
-
2023
-
diciembre
-
Luces de Belén mediante un generador de números verdaderamente aleatorios
09/12/23
Para la generación de números aleatorios en circuitos digitales existen, principalmente, dos opciones: por un lado el uso de LFSRs (registros de desplazamiento con realimentación lineal) de ciclo maximal, que son circuitos deterministas con los que se obtienen números pseudoaleatorios, y, por otro l
-
Luces de Belén mediante un generador de números verdaderamente aleatorios
-
febrero
-
Implementación de un dispositivo USB sobre el microcontrolador CH552
04/02/23
El CH552 es un microcontrolador de gama baja, basado en arquitectura de 8 bits, compatible con el 8051, con 1Kb de RAM y 16 Kb de memoria de programa. Incluye, además de los periféricos estándar del 8051 (timers, UART, etc.), un dispositivo USB full-speed. A lo largo de este post detallaremos cómo p
-
Implementación de un dispositivo USB sobre el microcontrolador CH552
-
diciembre
-
2022
-
diciembre
-
Módulo de movimiento lento para el belén con motor paso a paso en C++
12/12/22
Es Navidad y toca montaje electrónico para el Belén. Este año trataremos de hacer un generador de movimiento lento que permita simular el paso de los tres reyes magos y hacer que estos transiten desde un extremo del belén hasta el pesebre moviéndose de forma lenta y autónoma a lo largo de los días.<
-
Módulo de movimiento lento para el belén con motor paso a paso en C++
-
mayo
-
Desarrollo en C++ de un pequeño juego para Game Boy Advance
25/05/22
A raiz del anterior post en el que se introdujeron los conceptos y el código básico para el desarrollo de aplicaciones y juegos para la Game Boy Advance, he desarrollado un pequeño juego de tablero basado en bloques deslizantes e inspirado en los puzzles intermedios que aparecen en el juego "Ma
-
Desarrollo en C++ de un pequeño juego para Game Boy Advance
-
abril
-
Programación de la Game Boy Advance
23/04/22
Durante los años 2004 a 2006 hice varios desarrollos para la Game Boy Advance (GBA). En aquella época utilicé varios recursos muy útiles y que aún hay diponibles, como el proyecto DevkitPro, que permite instalar una toolchain completa y librerías para programar diferentes consolas (NintendoDS, GBA,
-
Programación de la Game Boy Advance
-
enero
-
Programación de la GameBoy
14/01/22
A lo largo de este post desgranaremos, paso a paso y desde cero, cómo programar en C para esta mítica consola de mano. Usaremos como base el compilador cruzado SDCC y la documentación que hay disponible.
Instalación del SDCC
Lo primero que hay que hacer es instalar o compilar e
-
Programación de la GameBoy
-
diciembre
-
2021
-
diciembre
-
Implementación de un procesador RISC-V desde cero
20/12/21
A lo largo de este post se abordará el diseño y la implementación desde cero de un procesador RISC-V básico (repertorio de instrucciones RV32I, sin extensiones), sintetizable en una FPGA de rango medio-bajo y capaz de ejecutar código generado por un compilador.
Introducción
Una
-
Implementación de un procesador RISC-V desde cero
-
julio
-
Receptor de radio superheterodino basado en FPGA
25/07/21
Un receptor de radio superheterodino es un receptor de radio que realiza un proceso de mezcla de frecuencias para convertir la señal de la antena a una frecuencia fija fácilmente procesable por los circuitos de demodulación, siendo la gran mayoría de los receptores de radio actuales de este tipo. En
-
Receptor de radio superheterodino basado en FPGA
-
junio
-
Gestión de interrupciones en microcontroladores RISC-V
08/06/21
La gestión de las interrupciones es un tema planteado de forma muy básica en la arquitectura original RISC-V. En controlador básico de interrupciones que se describe en los documentos oficiales de la arquitectura está más orientado a la captura de eventos entre diferentes niveles de ejecución que a
-
Gestión de interrupciones en microcontroladores RISC-V
-
mayo
-
Blinker básico para RISC-V en C++
26/05/21
Partiendo del compilador cruzado GCC para RISC-V descrito en el post anterior, el primer objetivo será hacer una prueba de concepto con un procesador RISC-V real. En este caso he optado por un GD32VF103, un microcontrolador de GigaDevice, con 128 Kb de memoria flash de programa, 32 Kb de SRAM, proce -
Compilar la toolchain de GNU para RISC-V (bare metal)
26/05/21
Los procesadores RISC-V empiezan a hacerse poco a poco un huequito en nuestros corazones. A continuación pongo las instrucciones para compilar la toolchain cruzada de GNU (GCC) para RISC-V con newlib.
Se trata de una toolchain para sistemas "bare metal", sin sistema operativo, p
-
Blinker básico para RISC-V en C++
-
febrero
-
Diseño e implementación directa de un filtro digital resonante
06/02/21
La literatura existente relacionada con el diseño de filtros digitales suele incidir en el estudio de determinados filtros ya conocidos, como paso-bajo, paso-alto, paso-banda, etc., a veces calculados a partir de la discretización de filtros analógicos y sin entrar en detalles de diseño o sin aborda
-
Diseño e implementación directa de un filtro digital resonante
-
diciembre
-
2020
-
diciembre
-
Estrella de Navidad con CPLD
25/12/20
El proyecto navideño de este año es una sencilla estrella de navidad que puede colocarse tanto en el árbol como en el belén y que requiere de muy poca circuitería.
Idea
El objetivo era no recurrir a la típica luz parpadeante sino darle un efecto de movimiento, que parezca que l
-
Estrella de Navidad con CPLD
-
octubre
-
Implementación sobre una FPGA de un transmisor de radio en la banda comercial de FM
07/10/20
En anteriores entradas se realizó la implementación, tanto de un transmisor FM como de un conversor analógico digital delta-sigma, sobre FPGA y como proyectos separados. A lo largo de esta entrada se aborda el desarrollo de un transmisor FM en la banda de la radio comercial para transmitir música, c
-
Implementación sobre una FPGA de un transmisor de radio en la banda comercial de FM
-
abril
-
Efectos de sonido con un CPLD
29/04/20
¿Se pueden generar efectos de sonido rudimentarios sin un chip de sonido y utilizando muy pocas macroceldas de un CPLD o una FPGA?
Motivación
En la anterior entrada del blog se realizó un pequeño proyecto para generar dos efectos de sonido utilizando un sencillo chip PSG, el SN -
Programación embebida no bloqueante mediante máquinas de estado en C++. Caso de uso con el chip de sonido SN76489
12/04/20
El uso de máquinas de estado en un recurso casi obligatorio a la hora de implementar código no bloqueante, para dotar a los sistemas de algún tipo de funcionalidad multi-tarea o simplemente como mecanismo de ahorro de energía. En este post se estudiará un caso de uso: la programación del chip de son
-
Efectos de sonido con un CPLD
-
diciembre
-
2019
-
diciembre
-
Implementación de un conversor analógico-digital delta-sigma sobre FPGA
01/12/19
El uso de conversores analógico-digitales de tipo delta-sigma permite conseguir una conversión con una muy buena calidad usando sólo tres componentes externos y una circuitería analógica mínima. La resolución del conversor es arbitraria y depende de los recursos digitales que se tengan (biestables)
-
Implementación de un conversor analógico-digital delta-sigma sobre FPGA
-
mayo
-
Estudio del uso de la sobrecarga de operadores para aritmética de punto fijo en C++
16/05/19
La aritmética de punto fijo es un mecanismo muy útil para la implementación de funciones matemáticas en procesadores sin unidad de coma flotante como microcontroladores y procesadores pequeños de 8 o 16 bits. A lo largo de este post se plantea el uso de la sobrecarga de operadores de C++ para facili -
Implementación no bloqueante de un driver LCD
02/05/19
A la hora de controlador un display LCD mediante el conocido adaptador I2C la gran mayoría de ejemplos disponibles por ahí implementan los estados de espera necesarios mediante retardos explícitos ("delays"). Dichas implementaciones están bien como prueba de concepto, pero no son deseables
-
Estudio del uso de la sobrecarga de operadores para aritmética de punto fijo en C++
-
enero
-
Episodio 1 del podcast "Alta Impedancia"
31/01/19
En esta primera entrega del podcast he entrevistado a Bartolomé Almeida, un ingeniero de telecomunicaciones que se ha especializado en el estándar LoRa. Nos ha hablado de las diferentes aplicaciones, módulos y librerías disponibles para empezar en el mundo de las comunicaciones a larga distancia usa -
Episodio 0 del podcast "Alta Impedancia"
19/01/19
Me he estrenado en esto de los podcasts y he decidido empezar a hacer un podcast en español sobre microcontroladores, sistemas embebidos y desarrollo de sistemas digitales.
El episodio 0 está disponible aquí.
La música utilizada es de The Underscore Orkestra. Licencia Creative
-
Episodio 1 del podcast "Alta Impedancia"
-
diciembre
-
2018
-
diciembre
-
Luz de fogata para el belén con CPLD
20/12/18
Un año más, decorando el belén con nuevos inventos. En esta ocasión he vuelto a los orígenes y he implementado una luz, pero esta vez una luz especial que simule un fuego encendido utilizando un CPLD.
Introducción
A la hora de simular el crepitar de una llamas se ha optado por
-
Luz de fogata para el belén con CPLD
-
noviembre
-
Sintetizador monofónico basado en FPGA: Parser MIDI mejorado y filtro paso-bajo de segundo orden
21/11/18
Partiendo del montaje realizado en el post anterior, se han realizado varias modificaciones y mejoras. El parser MIDI de esta segunda iteración genera ahora 3 señales de control, de 7 bits cada una, que se utilizan para controlar la frecuencia de corte, la resonancia y la ganancia de la entrada de u
-
Sintetizador monofónico basado en FPGA: Parser MIDI mejorado y filtro paso-bajo de segundo orden
-
octubre
-
Sintetizador monofónico basado en FPGA: parser MIDI, oscilador y DAC básicos
04/10/18
Tradicionalmente, la síntesis y el procesado de sonido digital siempre se ha delegado a nivel hardware en el uso de DSPs. El uso de FPGAs para sustituir DSPs es una tendencia actual derivada del abaratamiento de las FPGAs y de la incursión de las mismas dentro del mundo de la electrónica amateur y D
-
Sintetizador monofónico basado en FPGA: parser MIDI, oscilador y DAC básicos
-
septiembre
-
Programación de una FPGA Spartan 6
11/09/18
Publico este post a modo de mini tutorial sobre cómo programar la FPGA Spartan 6 de Xilinx usando un programador de bajo coste basado en el chip FT232H desde Linux.
Placa de ejemplo
Como placa de ejemplo he usado una placa recién adquirida por AliExpress, en concreto un clon de
-
Programación de una FPGA Spartan 6
-
agosto
-
Programación bare metal de un SoC: Prueba de concepto sobre la Orange Pi Zero Plus
14/08/18
Los SoCs están diseñados para ejecutar sistemas operativos completos (Linux, Android, etc.). La programación bare metal de este tipo de chips es una tarea complicada y poco agradecida (normalmente no se justifica el uso de un SoC sin sistema operativo, para eso están los microcontroladores), sin emb
-
Programación bare metal de un SoC: Prueba de concepto sobre la Orange Pi Zero Plus
-
diciembre
-
2017
-
diciembre
-
Multitarea apropiativa en microcontroladores: prueba de concepto sobre Arduino Leonardo
14/12/17
Existen dos tipos básicos de multitarea: la multitarea colaborativa y la multitarea apropiativa. En un post anterior se abordó la implementación de la multitarea cooperativa de forma extensa por lo que ahora le toca el turno a la multitarea apropiativa: en este modelo el sistema "no se fia" -
Cielo artificial y luces para el Belén basados en CPLD
03/12/17
Como todos los años cuando se acercan las fechas navideñas siempre trato de revisitar el concepto de luces del Belén aprovechando los conocimientos adquiridos en el último año. En este caso, entendiendo que el concepto de luces a secas ya hay que superarlo :-), se ha introducido una componente móvil
-
Multitarea apropiativa en microcontroladores: prueba de concepto sobre Arduino Leonardo
-
noviembre
-
Compilar la toolchain de GNU para ARM
14/11/17
Hace tiempo publiqué las instrucciones para compilar la toolchain de GNU para ARM "bare metal" (sin sistema operativo, arm-none-eabi) basada en GCC 5.1 y newlib. Dichas instrucciones no son aplicables para las versiones actuales de GCC (7.2 a día de hoy) por lo que a continuación indico la
-
Compilar la toolchain de GNU para ARM
-
octubre
-
Implementación de una interfaz VGA sobre FPGA
25/10/17
A lo largo de este post se abordará el diseño y la implementación en VHDL de una interfaz de salida VGA para FPGA. La interfaz lee una imagen de 64x48 pixels de una memoria (por ahora una ROM) interna y la renderiza usando el modo VGA estándar de 640x480 a 60Hz.
Señal VGA
Las s
-
Implementación de una interfaz VGA sobre FPGA
-
septiembre
-
Implementación de un dispositivo USB en STM32 desde cero
06/09/17
El STM32F103 es un microcontrolador muy asequible que incluye interfaz USB 2.0. La mayoría de desarrollos USB realizados para esta serie de microcontroladores utiliza la librería STM32Cube, desarrollada por el propio fabricante, de libre uso y que abstrae de los entresijos del protocolo al programad
-
Implementación de un dispositivo USB en STM32 desde cero
-
junio
-
Implementación de un MIDI shuffler sobre Arduino
13/06/17
El efecto "shuffle" o "swing" es un efecto muy utilizado en producción musical para humanizar y meter mas "groove" a canciones reproducidas por un secuenciador. El efecto consiste básicamente en adelantar o atrasar el disparo de determinadas notas durante algunos milise
-
Implementación de un MIDI shuffler sobre Arduino
-
abril
-
Implementación en C++ de una red neuronal tipo perceptrón sobre Arduino
30/04/17
Las redes neuronales son un tópico que se ha vuelto a poner de moda gracias al concepto del "deep learning" y a la irrupción de las redes neuronales convolucionales, que han revolucionado, sobre todo, las técnicas de reconocimiento de imágenes. No vamos a llegar tan lejos: implementaremos -
Conversor analógico-digital basado en registro de aproximaciones sucesivas sobre FPGA
18/04/17
Incluir una entrada analógica en una FPGA pasa, normalmente, por agregar al menos un integrado que haga de ADC. Sin embargo, existen alternativas al ADC tradicional que, aprovechando las características de una FPGA, nos permiten implementar un conversor analógico-digital utilizando muy pocos compone
-
Implementación en C++ de una red neuronal tipo perceptrón sobre Arduino
-
diciembre
-
2016
-
diciembre
-
Cálculo de la curva de carga de un condensador en un circuito RC
20/12/16
A lo largo de este post se desarrollará el cálculo de la curva de carga de un condensador en una red RC estándar: se trata de un post muy cortito pero intenso y espero que interesante. Se va a hacer una aproximación desde cero, planteando el problema inicial, las ecuaciones y obteniendo la solución
-
Cálculo de la curva de carga de un condensador en un circuito RC
-
noviembre
-
Transmisor de radio FM basado en FPGA
03/11/16
Transmitir una señal modulada en FM dentro de la banda de frecuencias de la FM comercial utilizando FPGAs es un tópico ampliamente cubierto en decenas de webs y vídeos online pero que en pocos casos es desgranado y explicado de forma entendible y rigurosa. A lo largo de este post se desarrollará tan
-
Transmisor de radio FM basado en FPGA
-
agosto
-
Implementación sobre FPGA de una interface para leds RGB de tipo neopixel (I)
09/08/16
Gracias a su bajo costo, su relativo poco consumo y su facilidad de programación, los leds RGB basados en el chip WS2812 se están convirtiendo en estándar de facto para leds RGB. A lo largo de esta mini serie de posts se implementará sobre FPGA una interface que facilite el acceso a estos leds abstr
-
Implementación sobre FPGA de una interface para leds RGB de tipo neopixel (I)
-
abril
-
Diseño e implementación de un procesador RISC desde cero (III)
14/04/16
En la anterior entrega de la serie se llegó hasta la fase de simulación y se comprobó, usando el software GHDL, el funcionamiento del procesador V1. En esta tercera entrega se ha implementado y probado el diseño en una FPGA real: una Spartan-3E de Xilinx.
>>> Enlace a la segunda
-
Diseño e implementación de un procesador RISC desde cero (III)
-
marzo
-
Diseño e implementación de un procesador RISC desde cero (II)
23/03/16
En esta segunda entrega de la serie se profundiza en el diseño de la unidad de control, en la implementación en VHDL de los diferentes elementos y en la realización de una prueba de concepto sobre un simulador.
>>> Enlace a la primera entrega de la serie.
Lógica combin -
Diseño e implementación de un procesador RISC desde cero (I)
22/03/16
Mediante este post empiezo a realizar una serie de entradas en las que iré abordando el diseño y la implementación en VHDL de un procesador RISC sencillo al que he llamado V1. La complejidad y lo extenso del tema obligan a dividir el proyecto en varios posts que iré publicando a medida que vaya alca
-
Diseño e implementación de un procesador RISC desde cero (II)
-
febrero
-
Programación del microcontrolador LPC810 en C++ desde cero
05/02/16
El LPC810 es un microcontrolador con núcleo ARM Cortex-M0+ en encapsulado DIP8 y con reloj interno. Es bastante limitado (4Kb de memoria flash y 1Kb de memoria RAM) pero el encapsulado DIP8 y el reloj interno permiten montar proyectos sencillos en protoboard, lo que le da un valor educativo muy alto
-
Programación del microcontrolador LPC810 en C++ desde cero
-
enero
-
Salida de audio de alta calidad con la placa Teensy
01/01/16
La placa Teensy 3.1 (ARM Cortex M4) dispone de un puerto I2S para la transferencia de audio digital. Si combinamos esta salida con un buen DAC de alta fidelidad el resultado es espectacular :-)
El DAC de Texas Instruments PCM5102 es un DAC que soporta el estándar I2S de transferencia de a
-
Salida de audio de alta calidad con la placa Teensy
-
diciembre
-
2015
-
diciembre
-
Luces de Navidad controladas por FPGA
18/12/15
Como cada año por estas fechas hago una revisita al concepto de las luces para el belén usando diferentes tecnologías. En este caso y como no podía ser de otro modo, intentaremos usar una FPGA para implementar este efecto.
Aspectos funcionales
Partimos de 5 leds de alta luminos
-
Luces de Navidad controladas por FPGA
-
octubre
-
Implementación de un receptor serie asíncrono sobre FPGA
29/10/15
Un receptor serie asíncrono es un módulo de hardware que recibe datos serie de forma asíncrona: es el elemento receptor de una UART. A lo largo de este post se aborda paso a paso el diseño digital y la implementación de un módulo receptor serie asíncrono muy sencillo en VHDL, con un bit de start, un
-
Implementación de un receptor serie asíncrono sobre FPGA
-
septiembre
-
Implementación del algoritmo de multiplicación de Booth en VHDL sobre una FPGA
15/09/15
El algoritmo de multiplicación de Booth permite multiplicar enteros con signo en complemento a dos utilizando una técnica muy sencilla basada en desplazamientos y sumas. A lo largo de este post se abordará el diseño y la codificación en VHDL de dicho algoritmo así como su implementación final en una
-
Implementación del algoritmo de multiplicación de Booth en VHDL sobre una FPGA
-
julio
-
Síntesis musical mediante modelado analógico en el Teensy
21/07/15
Aprovechando el post anterior en el que se usaba el DAC de la placa Teensy 3.1 para generar un bucle sonido, he ido un poco más allá y he implementado un pequeño sintetizador monofónico de modelado analógico. La secuenciación es por ahora interna (en una siguiente iteración, se le incorporará una en
-
Síntesis musical mediante modelado analógico en el Teensy
-
mayo
-
Reproducir audio a través del DAC del Teensy
25/05/15
El procesador ARM Cortex-M4 (Un MK20DX256 de Freescale) incluido en la placa de desarrollo Teensy 3.1 viene equipado con una salida analógica (DAC, no PWM) de 12 bits de resolución con la que es posible generar audio con una calidad razonable y sin apenas hardware externo.
Punto de partid -
Compilar la toolchain de GNU para Teensy
25/05/15
En vista de la repentina desaparición del contenido de la web http://kunen.org/uC/gnu_tool.html (“Building the GNU ARM Toolchain for Bare Metal”) que se usó como referencia en este post y en la que se explicaba con gran detalle y facilidad cómo compilar la toolchain de GNU para el target arm-none-ea
-
Reproducir audio a través del DAC del Teensy
-
abril
-
Display de 7 segmentos con interface serie en VHDL
23/04/15
Las FPGAs y los CPLDs son circuitos integrados digitales programables a nivel hardware mediante algún tipo de lenguaje de descripción de hardware (VHDL, Verilog, SystemC, etc.). A lo largo de este post se desarrolla una primera toma de contacto con este tipo de integrados.
FPGA
-
Display de 7 segmentos con interface serie en VHDL
-
febrero
-
Control de velocidad de un motor DC mediante lógica borrosa
13/02/15
La utilización de lógica borrosa o difusa (“fuzzy”) para el control de procesos permite abordar este tipo de problemas desde una perspectiva más "humana" ya que las reglas de la lógica borrosa son enunciados fácilmente comprensibles por una persona ajena a la teoría del control y su ajuste
-
Control de velocidad de un motor DC mediante lógica borrosa
-
enero
-
Control de velocidad tipo PID para un motor DC
21/01/15
Uno de los controladores más utilizados es el tipo PID (Proporcional Integral Derivativo). A lo largo de este post se abordará la implementación de uno en Arduino para controlar la velocidad de un motor DC.
Un poco de teoría
Cuando se quiere controlar una planta (en nuestro cas
-
Control de velocidad tipo PID para un motor DC
-
diciembre
-
2014
-
diciembre
-
Detección de tonos en sistemas embebidos
15/12/14
Cuando pensamos en detectar determinadas frecuencias o tonos en una señal lo primero que se nos viene a la cabeza suele ser la FFT, en concreto la implementación de Cooley-Tukey con N potencia de 2. La FFT está muy bien si lo que queremos es todo el espectro de una señal, pero si lo que necesitamos
-
Detección de tonos en sistemas embebidos
-
noviembre
-
Implementación de una red neuronal tipo perceptrón mediante aritmética de punto fijo
23/11/14
Los perceptrones multicapa (Multilayer Perceptron o MLP) son redes neuronales de aprendizaje supervisado de tipo unidireccional en las que tenemos una capa de neuronas de entrada, una o más capas de neuronas intermedias y una capa de neuronas de salida. Son muy utilizadas para reconocimiento y clasi
-
Implementación de una red neuronal tipo perceptrón mediante aritmética de punto fijo
-
septiembre
-
Implementación a bajo nivel de un dispositivo USB sobre Arduino Leonardo. Prueba de concepto
12/09/14
El protocolo USB es uno de los protocolos de comunicación más utilizado y, a la vez, uno de los más complicados y esotéricos para una gran mayoría de programadores. Lo habitual cuando nos enfrentamos a un desarrollo embebido con USB es tirar de librerías o frameworks ya existentes para el microcontr
-
Implementación a bajo nivel de un dispositivo USB sobre Arduino Leonardo. Prueba de concepto
-
agosto
-
Instalación y configuración del compilador C++ de GNU para la placa de desarrollo Teensy3
01/08/14
Teensy3 es una pequeña placa de desarrollo que se integra perfectamente en el entorno de desarrollo de Arduino y que incluye un potente procesador ARM Cortex-M4 a 96 MHz con 256Kb de Flash, 64Kb de RAM, DAC, ADC, CAN y otros periféricos. A lo largo de este artículo se explicará paso a paso cómo con
-
Instalación y configuración del compilador C++ de GNU para la placa de desarrollo Teensy3
-
junio
-
Vúmetro LCD
11/06/14
La posibilidad de redefinir una parte del juego de caracteres en los displays LCD alfanuméricos, en combinación con el uso de una de las entradas analógicas del AVR y un pequeño circuito analógico, nos va a permitir la implementación de un sencillo vúmetro en el Arduino.
Un vúmetro no es
-
Vúmetro LCD
-
mayo
-
Control de display LCD con soporte para caracteres en español
12/05/14
El control de displays LCD alfanuméricos desde microcontroladores es un tópico ampliamente abordado en muchas webs y tutoriales. El juego de caracteres utilizado por este tipo de displays es de tipo ASCII con algunos símbolos adicionales, sobre todo asiáticos, y se echan en falta varios de los símbo
-
Control de display LCD con soporte para caracteres en español
-
marzo
-
Tres en raya con el Arduino utilizando el algoritmo de decisión minimax
30/03/14
Ampliando un post anterior en el que desarrollé un juego de tres en raya con el Arduino, he desarrollado una implementación “inteligente” del mismo. En la anterior versión, si bien el jugador jugaba contra la máquina, las posiciones que jugaba la máquina eran totalmente aleatorias y no seguían ningú -
Algoritmo de Ramer-Douglas-Peucker de simplificación de rutas
07/03/14
El algoritmo de Ramer-Douglas-Peucker, a veces también denominado algoritmo de Douglas-Peucker a secas, es un algoritmo que fue desarrollado en los años 70 por Urs Ramer, David Douglas y Thomas Peucker. Dicho algoritmo permite reducir la cantidad de puntos en una ruta de segmentos rectilíneos utiliz
-
Tres en raya con el Arduino utilizando el algoritmo de decisión minimax
-
enero
-
Aproximación de Padé para el cálculo eficiente de la función exponencial
08/01/14
Implementar la función exponencial en un sistema embebido con poca RAM, poca memoria de programa y sin coprocesador matemático pasa, normalmente, por intentar evitar el uso de la librería matemática de C. La sobrecarga que produciría el utilizar la función “exp” de dicha librería unida a la sobrecar
-
Aproximación de Padé para el cálculo eficiente de la función exponencial
-
diciembre
-
2013
-
diciembre
-
Multitarea en sistemas embebidos pequeños
10/12/13
La multitarea es la capacidad que tienen los sistemas de realizar varias tareas o procesos de forma simultánea en el tiempo. En el ámbito de los sistemas grandes o de sistemas embebidos avanzados esta capacidad viene dada normalmente por un pequeño sistema operativo encargado de gestionar dicha mult -
Luces del belén controladas por Arduino con ciclo día-noche
07/12/13
El año pasado por estas mismas fechas planteé y desarrollé unas luces para el belén controladas por una placa Arduino y que generaban una cadencia de destellos en función de la luz ambiente: a menor luz ambiente, más destellos y a mayor luz ambiente, menos destellos. Este año he planteado y desarrol -
Conectar un reloj de tiempo real al microcontrolador AVR
04/12/13
Los microcontroladores AVR poseen una interface de bus I2C que permite conectarlos a EEPROMs, RTCs, DACs y muchos otros periféricos. El bus I2C es un estándar ampliamente utilizado para la interconexión de dispositivos a bajo nivel y en este post analizaré cómo conectar un microcontrolador AVR (pres
-
Multitarea en sistemas embebidos pequeños
-
noviembre
-
Tres en raya con el Arduino
17/11/13
Partiendo del diseño hardware de los leds y los interruptores multiplexados realizado en anteriores posts de este blog he realizado una implementación “tonta” del juego de tres en raya.
Aspectos funcionales
La idea es realizar un juego de tres en raya utilizando la matriz de 3x -
Matriz de pulsadores con Arduino
12/11/13
En el post anterior presenté el desarrollo para Arduino de una matriz de leds utilizando la técnica de la multiplexación. En este post desarrollaré el mismo concepto pero esta vez para leer un teclado en forma de matriz de pulsadores.
Para realizar la matriz de pulsadores he distribuido, -
Matriz de leds con Arduino
12/11/13
La matriz de leds es un mecanismo de salida muy utilizado en el ámbito de los microcontroladores ya que permite controlar una gran cantidad de leds con relativamente pocos pines. En este post describiré cómo he aplicado la multiplexación para incluir una matriz de leds en el Arduino. En un segundo p
-
Tres en raya con el Arduino
-
octubre
-
Programar el Arduino en C++
10/10/13
Programar el microcontrolador AVR el Arduino con el lenguaje Processing está muy bien y es una forma muy rápida de desarrollar aplicaciones sencillas. Sin embargo cualquiera que quiera hacer algo medianamente estructurado o complejo echará rápidamente de menos el C o el C++.
Lo cierto es
-
Programar el Arduino en C++
-
agosto
-
Algoritmo de enrutamiento de Lee
30/08/13
En 1961 el Lee C.Y. de los Bell Telephone Labs desarrolló un algoritmo muy sencillo y eficaz para el trazado de rutas sobre mallas de puntos. Este algoritmo es muy usado en la actualidad para el enrutado automático de las pistas de cobre en las placas de circuitos impresos.
El algoritmo, -
Simulación de masas unidas mediante muelles
18/08/13
El modelado de masas interconectadas con muelles es muy utilizado para la simulación de sistemas físicos y de otras estructuras dinámicas. Plantearemos las ecuaciones diferenciales básicas y a continuación realizaremos una implementación numérica mediante el método de Euler.
La teoría.
-
Mi música en el vídeo promocional de una empresa de decoración
05/08/13
La empresa japonesa de decoración Gurgle Co., Ltd. ha usado un tema mío como música de fondo en un vídeo promocional :-).
-
Algoritmo de enrutamiento de Lee
-
julio
-
Memoria compartida en C++
22/07/13
El uso de la memoria compartida en sistemas operativos compatibles SystemV y BSD (como Linux, FreeBSD, OSX, etc.) siempre ha estado tradicionalmente asociado al uso del lenguaje C. Sin embargo, si estamos en C++, podemos utilizar la memoria compartida sin renunciar al paradigma de la orientación a o
-
Memoria compartida en C++
-
mayo
-
Minisintetizador basado en Arduino
26/05/13
Versión iniciar y muy básica de un minisintetizador mononfónico de onda cuadrada con entrada MIDI y basado en Arduino. Por ahora sólo reconoce mensajes MIDI "NOTE ON" y "NOTE OFF".
El procesador del Arduino se encarga simplemente de parsear los mensajes MIDI: Genera lo
-
Minisintetizador basado en Arduino
-
abril
-
Otro tema mío en un vídeo
16/04/13
Esta vez la usuaria TheBabyride de youtube ha musicalizado uno de sus famosos vídeos sobre manicura con un tema mío.
-
Un temá mío, banda sonora de un vídeo de la web de Cosmopolitan en Italia
16/04/13
La web de la edición italiana de la revista Cosmopolitan ha usado un tema mío para un vídeo promocional. Al final del vídeo aparezco en los créditos.
http://www.cosmopolitan.it/moda/Shoppin
-
Otro tema mío en un vídeo
-
febrero
-
Programación orientada a aspectos en Java
14/02/13
La programación orientada a aspectos (AOP) se plantea como paradigma que "extiende" el concepto de programación orientada a objetos (OOP). Se basa en el concepto de las tareas "transversales". El ejemplo más sencillo sería el de los logs: La funcionalidad de log es transversal a
-
Programación orientada a aspectos en Java
-
diciembre
-
2012
-
diciembre
-
Luces del belén controladas por una placa Arduino en función de la luz ambiente
16/12/12
He construido un sencillo circuito utilizando una placa Arduino para controlar las luces de un belén. El procesador genera destellos aleatorios en función de la luz ambiente que mide a través de una de las entradas analógicas.
A continuación el código fuente para Arduino:
#define NU
-
Luces del belén controladas por una placa Arduino en función de la luz ambiente
-
noviembre
-
Usar fuentes personalizadas en un componente TextView desde XML
07/11/12
Inauguro la sección de desarrollo Android de mi blog con un problema que se puede dar a la hora de desarrollar una app en Android y que, casi siempre, se soluciona de forma puramente programática: El uso de fuentes propias de tipo TrueType u OpenType en los textos de nuestra app.
Lo habit
-
Usar fuentes personalizadas en un componente TextView desde XML
-
octubre
-
Mi música en un vídeo promocional
30/10/12
La empresa de instrumentos electrónicos de medida PDI Meters (de EE.UU.) ha utilizado un tema mío como banda sonora en dos vídeos promocionales de uno de sus productos.
Estén atentos, que al final de los dos vídeos aparezco en los créditos PDI's torture testing of the DM-930 automoti -
PHP y el desorden
29/10/12
No se por qué pero PHP es uno de los lenguajes de programación más propensos al desorden. Cuando veo código PHP por ahí siempre me da la sensación de macarrónico y desorganizado, un efecto que veo menos en el código fuente de lenguajes como Java, C++ u Objective C.
Teniendo en cuenta que
-
Mi música en un vídeo promocional
-
agosto
-
Circuito MIDI Thru x4
07/08/12
Recién terminado y funcionando. Sólo falta meterlo en una caja :-)
-
Circuito MIDI Thru x4
-
julio
-
Listas de salto y árboles Treap
16/07/12
Hace poco he descubierto algunas estructuras de datos probabilísticas. Estructuras de datos que apenas nos mencionaron en la facultad de informática y que tienen unas propiedades muy interesantes:
Listas de salto.
Árboles Treap
Filtros Bloom
-
Listas de salto y árboles Treap
-
mayo
-
Nuevo tema
06/05/12
He subido, tanto a la sección música como a mi cuenta de Soundcloud, un nuevo tema.
Espero que les guste :-)
avelino herrera - spring sun.mp3
http://soundcloud.com/avelinoherrera/spring-sun
-
Nuevo tema
-
abril
-
Un tema mío en el vídeo de un making-of
11/04/12
La boutique canadiense Bliss Boutique ha utilizado un tema mío como banda sonora en el making-of de la sesión fotográfica de su colección de primavera 2012.
-
Un tema mío en el vídeo de un making-of
-
marzo
-
Algoritmo de detección de tempo
16/03/12
Hace un tiempo encontré en el siguiente enlace un interesantísimo artículo explicando las diferentes técnicas que existen para la detección de BPM (tempo) sobre pistas de audio.
http://www.flipcode.com/misc/BeatDetect
En particular me llamó la atención la técnica basada en el c -
Nuevo tema: Unmute
02/03/12
El otro día subí un nuevo tema a mi cuenta de soundcloud:
http://soundcloud.com/avelinoherrera/unmute
Hoy he recibido un correo pidiéndome permiso para ponerlo en una tienda y el buen amigo taiwanés Dj WangHart lo va a pinchar hoy en su set de todos los viernes a las 14:00, hor
-
Algoritmo de detección de tempo
-
diciembre
-
2011
-
diciembre
-
Nuevo tema
17/12/11
Acabo de grabar y subir un nuevo tema de cosecha propia. Se titula Sol y está disponible tanto en mi cuenta de SoundCloud
http://soundcloud.com/avelinoherrera/sol
como por descarga directa en la sección Música.
Espero que les guste :-)
-
Nuevo tema
-
noviembre
-
Primer tema de Guineo en español
27/11/11
Ya tenemos un nuevo tema colgado en la web:
guineo - metamorfosis
Nuestra primera incursión en el español :-) -
Parche para el test de MIDI out del PIC 16F84
10/11/11
Yamil Saiegh ha parcheado el código fuente del test de MIDI out para PIC 16F84, en la sección PIC.
La anterior versión utilizaba 35 ciclos de máquina por cada bit MIDI. Sin embargo a 4MHz es más preciso utilizar 32 ciclos de máquina por cada bit MIDI en lugar de 35.
Sección PIC -
Parser/Reproductor de ficheros MIDI
06/11/11
En la sección soft he puesto el código fuente de un parser/reproductor de ficheros MIDI (compatible con tipo 0 y tipo 1) implementado en C y en C++ (dos implementaciones separadas).
Se trata de un esqueleto básico. Para que el parser/reproductor funcione con un hardware determinado hay qu
-
Primer tema de Guineo en español
-
octubre
-
Un tema mío en la emisora online Intersonik
21/10/11
La emisora online Intersonik (de Atenas), emitirá hoy viernes a las 14:00 y mañana sábado a las 20:00 (hora canaria) una sesión a cargo de dj taiwanés Wang Hart (http://wanghart.blogspot.com) en la que estará incluida un tema mío que publiqué hace poco en mi cuenta de soundcloud (y que espero sirva
-
Un tema mío en la emisora online Intersonik
-
septiembre
-
Dos nuevos temas
11/09/11
Hace poco he subido dos temas a mi cuenta de SoundCloud y ahora los acabo de subir también a la sección Música.
http://soundcloud.com/avelinoherrera/acid-initiation
http://soundcloud.com/avelinoherrera/fank
Espero que les gusten.
-
Dos nuevos temas
-
agosto
-
Tema de Guineo en un anuncio (ya lo hicieron)
23/08/11
Hace tiempo comenté por aquí que la empresa de publicidad Miroweb GmbH nos había pedido permiso para utilizar uno de nuestros temas como fondo musical en un anuncio que estaban haciendo para una empresa alemana de biotecnología.
Hoy me pasé por curiosidad por la web de esa empresa y ¡¡Ya
-
Tema de Guineo en un anuncio (ya lo hicieron)
-
julio
-
Backend SDCC para generar ROMs para MSX
05/07/11
Gracias a las aportaciones hechas por Alberto Orante me he animado a inaugurar una nueva sección dentro de la web de MSX: Backend de SDCC para ROMs MSX.
Actualmente la web MSX de Nerlaska ya aborda en profundidad este asunto. Mi intención es realizar aportaciones adicionales con la ayuda
-
Backend SDCC para generar ROMs para MSX
-
mayo
-
Detección de pitch con HPS
25/05/11
El algoritmo HPS (Harmonic Product Spectrum) permite detectar la frecuencia fundamental (la altura) de una nota tocada por cualquier tipo de instrumento armónico.
Asume que el espectro generado por el instrumento está formado por frecuencias múltiplas enteras de la frecuencia fundamental, -
Tema de Guineo para un anuncio
05/05/11
La empresa alemana de publicidad MIROWEB GmbH nos ha pedido permiso para proponer un tema nuestro (éste) para un spot publicitario que van a hacer para la empresa de suministros médicos Life Science Inkubator GmbH. Si la empresa de suministros médicos acepta, usarán nuestro tema como música para el
-
Detección de pitch con HPS
-
febrero
-
Nuevo tema de Guineo "My Place"
25/02/11
En el ensayo de anoche grabamos nuestro nuevo tema "My Place". A ver qué les parece.
guineo - my place.mp3
Guineo: http://guineo.avelinoherrera.com
-
Nuevo tema de Guineo "My Place"
-
enero
-
Las obsolescencia programada
18/01/11
Alejándome un poco de la habitual temática de este blog, les comento un interesantísimo documental sobre obsolescencia programada que emitió TVE hace algunos días y que, afortunadamente, está colgado íntegro en la web:
http://www.rtve.es/noticias/20110104/pr
El documental se ti
-
Las obsolescencia programada
-
diciembre
-
2010
-
diciembre
-
Primer tema de Guineo con Eva Prior
01/12/10
Ya tenemos en la web el primer tema con Eva Prior, la nueva cantante de Guineo.
Pueden escucharlo en el reproductor de la web y también se puede descargar desde aquí.
Gracias a Fran por la letra. Espero que les guste.
-
Primer tema de Guineo con Eva Prior
-
agosto
-
Actualización de la interface MIDI para DSerial
09/08/10
La interface MIDI para DSerial y DSerial Edge que implementé hace tiempo utilizando componentes de fácil adquisición ha sido revisada y la resistencia de 1K que polarizaba el colector del optoacoplador ha sido sustituida por otra de 4K7. La anterior resistencia de 1K sólo servía para algunos modelos
-
Actualización de la interface MIDI para DSerial
-
julio
-
Actualización del backend SDCC para MSX
20/07/10
Nueva versión del backend del compilador SDCC para MSXDOS. Aprovechando que tenía que reescribir la información para que fuera compatible con las nuevas versiones de SDCC he corregido algunos bugs y he añadido funciones para acceso a ficheros tanto para MSXDOS1 como para MSXDOS2.
Gracias -
DS Delay Line versión 0.4
20/07/10
Anoche arreglé algunos errores detectados en la aplicación DS Delay Line. Esta aplicación para la Nintendo DS retarda el audio desde la entrada de micrófono a la salida. Tiene dos controles básicos, uno que permite ajustar el retardo entre 0 y 7.8 segundos, y otro que permite controlar la ganancia e
-
Actualización del backend SDCC para MSX
-
junio
-
Colaboraciones con Guineo
17/06/10
Kristina Maier ha puesto voz a dos de nuestros temas y el resultado... nos ha gustado :-).
guineo feat. kristina maier - raya
guineo feat. kristina maier - ocean
Gracias, Kristina.
-
Colaboraciones con Guineo
-
mayo
-
Adiós, Facebook
28/05/10
Teniendo en cuenta lo poco que lo usaba, el hecho de que en su momento me creé una cuenta por la tontería y de que me da grima que esta gente se apropie de las cosas que he subido (posts, fotos, vídeos, etc), creo que he hecho un gran favor a mi inteligencia desactivándola.
Ha llegado el -
Noticias sobre Guineo
28/05/10
La semana pasada nos lo comunicaron: Nos hemos quedado sin local para ensayar :-/. Ahora a buscar, a ver si hay suerte y podemos pilar alguno que sea baratito. Por otro lado, hay una mujer, Ico, que está empezando a cantar con nosotros. A ver qué tal sale :-). Una de cal y otra de arena.
-
Adiós, Facebook
-
diciembre
-
2009
-
noviembre
-
Adaptación del backend de SDCC para MSX
25/11/09
He actualizado la información para adaptar el backend del compilador SDCC (http://sdcc.sourceforge.net) a la nueva versión de éste, la 2.9.0.
Más info en http://msx.avelinoherrera.com. -
Librería minimalista para el acceso a FAT32
19/11/09
He desarrollado una pequeña librería minimalista para acceder al sistema de ficheros FAT32. Es una librería que ocupa muy poco:
- Aprox. 2Kb de memoria de programa para arquitecturas 8051.
- 538 bytes de memoria de datos.
- 142 bytes adicionales de memoria de datos por cada fich -
Compilador SDCC: problemas con el tarjet PIC16
17/11/09
Hay una muy buena página que explica cómo utilizar el tarjet PIC16 (microcontroladores PIC con bus de instrucciones de 16 bits y bus de datos de 8 bits, no confundir con la numeración del modelo) del compilador cruzado de 8 bits SDCC:
http://www.freenet.org.nz/sdcc/
Aquí se exp
-
Adaptación del backend de SDCC para MSX
-
octubre
-
Actuación de Guineo en El Fechillo
22/10/09
Este sábado 24 de octubre vamos a actuar en El Fechillo, será la Gran Fiesta de la Música Hecha en Canarias, organizada por la asociación Canarias Habla y que también será retransmitida en directo por la emisora de radio del mismo nombre. Aún no sabemos el orden en el que tocaremos, las actuaciones
-
Actuación de Guineo en El Fechillo
-
agosto
-
Una pequeña jam session hecha con el TBX-303
29/08/09
Y el resto de la artillería pesada de mi humilde estudio :-). El tema no está muy allá, pero bueno, una jam es una jam, aunque sea electrónica.
http://www.youtube.com/watch?v=jacsAHBcSw0
ACTUALIZACIÓN: El fabricante del cacharro (Analogue Solutions) ha puesto en su página del T -
Un nuevo cacharro en la familia
23/08/09
Hace algunos días que me llegó: El sintetizador TBX-303 de Analogue solutions, un clon más que brutal del mítico sintetizador de bajos TB-303 de Roland (el original ya no lo fabrica Roland). Tuve que intercambiar algunos correos con el fabricante ya que me llegó descalibrado, pero ahora, al fin ya e
-
Una pequeña jam session hecha con el TBX-303
-
junio
-
Guineo en la final de Audiciones 2009
05/06/09
Hemos quedado finalistas en el concurso de maquetas Audiciones 2009 organizado por la Fundación Canal de Isabel II de Madrid. El martes 30 de junio acudiremos a Madrid en viaje relámpago para defender nuestros temas ante el jurado de la final.
Ganemos o no, será una experiencia única y un
-
Guineo en la final de Audiciones 2009
-
mayo
-
Nueva versión de Sonority
28/05/09
Sonority es un motor de síntesis de sonido mediante modelado analógico implementado en ANSI C que utiliza exclusivamente aritmética de punto fijo (formato Q16.16, 16 bits de parte entera y 16 bits de parte fraccionaria, 32 bits en total).
En esta nueva versión se han añadido dos modos de -
Interface MIDI E/S para la Nintendo DS
24/05/09
Dotar de interface MIDI a la Nintendo DS a través del cartucho de E/S DSerial Edge no es ningún secreto. El propio creador de la DSerial Edge, Natrium42, ha publicado en la página MIDI de su wiki código de ejemplo y un circuito que permite la construcción de este interface de una manera sencilla. La
-
Nueva versión de Sonority
-
abril
-
Mi primer programa "serio" para la DS
12/04/09
Animado por un compañero de trabajo (Marcos) he hecho una paqueña aplicación para la DS.
¿Cansado de que cuando oyes el partido de turno por la radio mientras lo ves por la tele te canten el gol antes de verlo? :-D Pues esta es tu solución: DS Delay Line es una línea de retardo de audio:
-
Mi primer programa "serio" para la DS
-
febrero
-
Concierto de Guineo en el Duke's Club
24/02/09
Este viernes 27 de febrero actuaremos en el Duke's Club (Avda. de Tirajana, 1, Playa del Inglés) a partir de las 23:00. ¡Teníamos unas ganas de que nos saliera ya un bolo! :-)
Guineo: http://guineo.avelinoherrera.com
Duke's Club: http://www.dukesclub.net
-
Concierto de Guineo en el Duke's Club
-
enero
-
Versión inicial de SoE
19/01/09
SoE es una librería/aplicación hecha en C++ que permite crear un canal de comunicación serie virtual entre dos equipos mediante paquetes raw ethernet. Cuando se compila y se ejecuta en ambos equipos crea, en cada uno de ellos, un terminal virtual /dev/pts/N que permite la comunicación entre ambos eq -
Código de ejemplo de la DSerial Edge parcheado
12/01/09
La nueva versión del SDK libre devkitPro para la Nintendo DS (sourceforge) da varios errores de compilación cuando se intenta compilar el código fuente de ejemplo que viene con la tarjeta DSerial Edge.
En nds.avelinoherrera.com he puesto una versión parcheada del código de ejemplo que com -
Un tema mio en un vídeo publicitario
09/01/09
Hace algún tiempo Daniel Uranowski, diseñador 3D afincado en EEUU, se puso en contacto conmigo porque quería usar uno de mis temas (I Love Rhodes) en un vídeo publicitario que estaba haciendo. Daniel Uranowski fue el creador del vídeo musical Wanderlust de Björk.
El resultado ha sido éste -
Los Reyes Magos se han portado
07/01/09
Una DSerial Edge con un adaptador USB Transflash (microSD) y un cable USB a miniUSB incluidos... ¡Y vaya que si se han portado! :-D
ACTUALIZACIÓN. Toli ha soldado los conectores negros que venían sueltos en la caja de la tarjeta (yo soy un poco patoso soldando) y ya la he probado en mi DS
-
Versión inicial de SoE
-
noviembre
-
2008
-
diciembre
-
FHT
30/12/08
He encontrado un artículo muy interesante que habla sobre la FHT (Fast Hartley Transform), para los neófitos como yo: algo así como la FFT pero con números reales :-).
http://www.embedded.com/2000/0009/0009feat3.htm
El artículo incluye una implementación en C para los que tiene
-
FHT
-
noviembre
-
DSerial Edge a la venta
12/11/08
Los flipados del homebrew en la DS estamos de suerte. Ya se puede comprar en la tienda online Electrobee el nuevo cartucho DSerial Edge para Nintendo DS.
Algunas de las lindezas de esta joya:
- Soporta tarjetas microSD y microSDHC.
- Autoparcheado DLDI para sop -
Nuevos temas de Guineo
03/11/08
Se han añadido 5 temas nuevos de Guineo. Están disponibles tanto para escucha directa a través del reproductor flash como mediante descarga en formato mp3.
http://guineo.avelinoherrera.com
Espero que les gusten.
-
DSerial Edge a la venta
-
septiembre
-
Librería minimalista para clientes HTTP
09/09/08
En la sección soft he puesto una pequeña librería cliente HTTP minimalista que estoy haciendo para sistemas Linux empotrados (o embebidos). Se llama uhttp-client, compilada ocupa entre 20 y 30 Kbytes y soporta GET, POST así como el uso de cookies.
En el propio fichero comprimido hay un ej
-
Librería minimalista para clientes HTTP
-
agosto
-
Mi música más conocida
22/08/08
¿Quién me lo iba a decir? Después de la sorpresa que me dieron los del BBLUG (Bahia Blanca Linux Users Group) al utilizar uno de los temas del grupo en el que estoy (Guineo) en uno de los vídeos resúmen del Festival Latinoamericano de Instalación de Software Libre realizado en Argentina. Hoy ha sido
-
Mi música más conocida
-
junio
-
CPLDs con la Nintendo DS
26/06/08
Mi sueño de conseguir un interface potente para slot-2 en mi Nintendo DS está cerca de cumplirse :-D. Este colega se ha currado un grabador de JTAG para CPLDs de Xilinx (la terminología de los CPLDs aún me desorienta). Este mismo colega se ha currado este super engendro para la Nintendo DS que me pi
-
CPLDs con la Nintendo DS
-
mayo
-
Interface MIDI out para la Nintendo DS
23/05/08
Como soy un flipado del MIDI he cogido la interface GPO para la Nintendo DS que desarrollé hace algún tiempo y le he hecho una pequeña modificación para convertirla en una interface MIDI out :-). El grueso del trabajo hay que hacerlo por software ya que, al no tener una UART externa, hay que simular -
La final del concusro de maquetas de la Sala Paraninfo
16/05/08
No ha podido ser. Se nos ha resistido el premio en el concurso de maquetas de la Sala Paraninfo de este año :-). Nos quedamos con el trabajo bien hecho y lo orgullosos que nos sentimos de nuestro proyecto. La actuación de anoche fue apoteósica, teniendo en cuenta lo verde que estábamos con los temas -
Guineo en la final del concurso de maquetas de la Sala Paraninfo
09/05/08
Anoche lo conseguimos: Después de mucho trabajo y muchos nervios, hemos conseguido pasar las semifinales del concurso de maquetas de la Sala Paraninfo. La actuación de anoche salió redonda y a la gente le gustó :-). Razón más que suficiente para quedar satisfechos. Pero lo mejor de todo fue que el j
-
Interface MIDI out para la Nintendo DS
-
abril
-
Guineo en la semifinal de maquetas del Paraninfo
28/04/08
Nuestro recientemente creado grupo Guineo ha sido elegido semifinalista en el concurso de maquetas de la Sala Paraninfo. El grupo está formado por David (antiguo guitarrista de In Fussion) y yo (antiguo teclista de In Fussion :-)).
Hacemos música electrónica bailable (house, break beat, d -
Motor de síntesis por modelado analógico
17/04/08
En la sección soft he puesto sonority-0.1.tar.gz. Un pequeño motor de síntesis por modelado analógico que he hecho, con las siguientes características:
- Dos osciladores por voz (uno de ellos puede modular en AM a otro).
- Un suboscilador por voz.
- Un generador de ruido.
-
-
Guineo en la semifinal de maquetas del Paraninfo
-
marzo
-
Librería para realizar conexiones HTTP desde PHP
19/03/08
La forma habitual de realizar conexiones HTTP desde PHP es mediante la extensión PECL (un plugin de PHP que no siempre está presente). En la página de soft he puesto una pequeña librería que he hecho en PHP y que, mediante el uso de sockets permite realizar conexiones HTTP desde este lenguaje:
-
Nueva sección Nintendo DS
07/03/08
He inaugurado una nueva sección dedicada a la programación de la Nintendo DS con un mini-proyecto de puerto de salida de propósito general. Mi intención final es utilizarlo como puerto MIDI de salida (al igual que su homólogo para GBA, el MIDI Out Advance).
http://nds.avelinoherrera.com
-
Librería para realizar conexiones HTTP desde PHP
-
febrero
-
Nuevo temita acid en la sección Música
13/02/08
En la sección música he puesto un nuevo tema estilo acid house. Espero que les guste. Ya me dirán :-).
-
Nuevo temita acid en la sección Música
-
enero
-
Nueva versión de MinHttpd
25/01/08
En la sección soft he puesto una nueva versión mejorada del mini servidor web MinHttpd. Con un mejor soporte de variables GET y POST y con algunos bugs corregidos en el parser de peticiones.
Sección soft. -
Catálogo de títulos caseros para NDS
22/01/08
Una página que aglutina (casi)todo el software casero (homebrew) para la Nintendo DS separado por temáticas. Con descargas directas y enlaces a las páginas oficiales. Todo un repositorio.
http://www.dev-scene.com/NDS/Homebrew_Catalog
Feliz año :-)
-
Nueva versión de MinHttpd
-
diciembre
-
2007
-
diciembre
-
MinHttpd: un servidor web minimalista hecho en Java
19/12/07
En la sección soft acabo de poner el MinHttpd: un mini servidor web 100% java que he hecho para ser embebido en aplicaciones existentes y que requieran de un control via web sencillo. No es 100% compatible W3C pero soporta lo básico: métodos POST y GET, así como cookies. El JAR compilado ocupa unos -
E/S no bloqueante en Java
18/12/07
Muchas de las operaciones de entrada/salida que vienen en Java por defecto son operaciones bloqueantes y casi siempre hay que echar mano de los threads para "simular" un comportamiento no bloqueante, con el consiguiente overhead en la máquina virtual.
Desde JDK 1.4 existe la API -
De estreno en atlantes.org
14/12/07
El servidor gabiot.com será jubilado en breve y por tal motivo he tenido que buscar otro sitio en el que alojar mis páginas. Gracias a Juani he conseguido este espacio en atlantes.org.
Muchas gracias al administrador de atlantes.org por el subdominio y el hueco que me ha dejado en su serv -
Blog actualizado
13/12/07
Acabo de actualizar al blog a la versión 0.5.1 de SimplePHPBlog. Esta versión ya tiene un sistema anti-spam aceptable. Me falta subir algunas imágenes, pero los contenidos están totalmente actualizados.
Espero que esta versión no se me llene de spam como la anterior :-)
ACTUALI
-
MinHttpd: un servidor web minimalista hecho en Java
-
noviembre
-
Nueva sección PIC
09/11/07
He añadido una nueva sección PIC a la web. En ella iré poniendo los pequeños proyectos que vaya haciendo con microcontroladores PIC. He inaugurado la sección con un miniprototipo que generador de paquetes MIDI.
Sección PIC.
-
Nueva sección PIC
-
octubre
-
Libro sobre DSP gratis online
25/10/07
Seguro que muchos ya lo conocían: Yo lo descubrí hoy :-). En el siguiente enlace
http://www.dspguide.com/pdfbook.htm
Puede consultarse y/o bajarse el libro The Scientist and Engineer's Guide to Digital Signal Processing de Steven W. Smith. El autor no me suena pero lo cier -
Nuevo tema en la sección music
12/10/07
El primer tema que he hecho que se puede considerar de estilo house filtered. Ahora que lo pienso creo que es un poco largo, pero bueno, espero que les guste al menos un poco :-). Se titula IO.
Sección music.
P.S. La entrega de la casa está próxima ^_^ -
Nuevas versiones de AjaxRMI y AjaxRMIClient
02/10/07
En la sección soft he puesto dos nuevas versiones de las librerías AjaxRMI y AjaxRMIClient. En AjaxRMI se han corregido numerosos bugs y ya incluye una API totalmente asíncrona desde Javascript (ver arfc.js e index.html). En AjaxRMIClient se han corregido algunos problemas con los tipos.
-
Libro sobre DSP gratis online
-
septiembre
-
Mi proyecto de fin de carrera
26/09/07
El otro día estaba poniendo orden (bueno, más bien Mari que yo) en el piso y me topé con mi proyecto de fin de carrera impreso en su flamante libreta de anillas :-). ¡Qué recuerdos! El caso es que he buscado el PDF y lo he puesto en la sección soft (no se me ocurrió otra sección mejor).
S
-
Mi proyecto de fin de carrera
-
agosto
-
Java para la DS
09/08/07
En la web DrunkenCoders apareció ayer un post que anunciaba el port de la KVM de Sun (la máquina virtual de Java opensource destinada a dispositivos móviles) para Nintendo DS. Se ha añadido funcionalidad para leer de los botones y de la pantalla táctil, así como para la manipulación de sprites.
-
Java para la DS
-
junio
-
Java extremo
29/06/07
"Hay que ser masoca", dirán muchos, pero lo cierto es que las librerías Java que permiten la manipulación de bytecodes son muy interesantes. Imagínate poder definir una clase en tiempo de ejecución o añadir métodos o atributos a clases ya definidas, en tiempo de ejecución. La aplicación d
-
Java extremo
-
mayo
-
He conseguido un Roland MC-50
22/05/07
Lo ví el sábado por la tarde en una tienda Cash Converters de Las Palmas. Casi se me salen los ojos: un auténtico secuenciador Roland MC-50. Una máquina mítica donde las haya, y a 52 euros 8-). No podía dejarla escapar.
Me la vendieron sin adaptador de corriente y está en muy buen estado -
Versión asíncrona de PHPRFC
02/05/07
PHPRFC es una clase de Javascript que permite realizar llamadas a funciones de PHP desde Javascript. ARFC es la nueva versión asíncrona de PHPRFC. En este caso se trata de un implementación estática (ya no es una clase) y, al ser asíncrona, debe definirse una función de callback que será ejecutada c
-
He conseguido un Roland MC-50
-
abril
-
WAI-ARIA: Aplicaciones web AJAX accesibles
27/04/07
Para todos aquellos interesados en que su flamate aplicación AJAX sea accesible por personas con discapacidad (sobre todo visual), se está trabajando en un draft por parte del W3C: WAI-ARIA. Consiste en un conjunto de reglas de contrucción del documento HTML que permiten definir cómo se comunicará e -
Otro temita en la sección música
17/04/07
Ayer terminé de grabar el último temita que he hecho y que tiene un regusto analógico-acid bastante añejo x-). Espero que les guste y no sean muy crueles con las críticas... :-) -
phprfc versión 1.1
02/04/07
Acabo de poner la nueva versión 1.1 de librería phprfc. phprfc es una librería mixta php/javascript que permite realizar llamadas a funciones remotas de php desde javascript. Utiliza el paradigma AJAX para la comunicación cliente/servidor. Para más info, ver el fichero LEEME que viene dentro el tar.
-
WAI-ARIA: Aplicaciones web AJAX accesibles
-
marzo
-
Ya tenemos nuevas tocatas
18/03/07
Las citas serán: El 26 de mayo en Gran Canaria y el 29 de mayo en Tenerife. En Gran Canaria tocaremos probablemente en la sala Cuasquías mientras que en Tenerife la sala está aún por confirmar, aunque será en Santa Cruz o en La Laguna.
Tocaremos junto a C4 jazz band. Chiquito nivel.
-
Mari está malita :-(
15/03/07
Mi Mari está pachucha y mañana iremos al médico a ver que tal... :-(. Te quiero mucho, guapa, ya verás como te pones buena otra vez ;-) -
Viejas glorias en la NDS
15/03/07
No solo de MAME vive el hombre :-). El otro día instalé el PenkoDS, un emulador de MSX para Nintendo DS y que ya es compatible con la librería libfat/DLDI, con lo que podemos cargar nuestras roms e imágenes de diskete desde la tarjeta de memoria de la DS... 8-). Anoche me pegué un buen vicio al tetr -
Nuevo temita house
12/03/07
Ayer terminé un nuevo temita house y ya lo subí a la sección music. A ver qué les parece, espero comentarios {cons|des}tructivos. Desde que la semana pasada puse el contador de descargas en la web de música estoy sorprendido: 13 descargas de un tema es todo un récord para mí... jajajaja :-D
-
Ya tengo el M3 DS Simply
09/03/07
Ayer tarde llegó, junto con otras cosas que compraron otros compañeros de trabajo, mi ansiado M3 DS Simply. Ayer le pasé algunas ROMs de homebrew y algunas "copias de seguridad" que tenía por ahí y la verdad es que va de p*ta madre... 8-)
Chiquita viciada con la DS... El siguien
-
Ya tenemos nuevas tocatas
-
febrero
-
Vídeo de la actuación de In Fussion en La Grada y festival Movidia
28/02/07
En la sección ficheros de la página web oficial de In Fussion puede bajarse el vídeo de la actuación que hicimos el 18 de noviembre de 2006 en el Bar La Grada (junto al estadio insular, en Las Palmas de Gran Canaria).
Está en formato DivX-MP3 y ocupa 367 megas.
Por otro lado, y -
Coqueteando con el drum'n'bass
26/02/07
Pues eso, que ayer me puse a recopilar algunas ideas musicales que tenía por ahí sueltas y saqué un temita drum'n bass que, a mi personalmente, me gusta bastante. Tampoco es menos cierto que, como compositor, mi opinión debe ponerse en cuarentena... :-)
Aquí para bajártelo. -
Ansioso
19/02/07
Estoy desesperado por que empiece el mes que viene para pillarme el cartucho flash M3 Simply para la Nintendo DS. En principio puedo pillarlo en Las Palmas, aunque si no me cuadra, lo pillaré en alguna tienda por internet.
Ya me he bajado la toolchain devkitPro junto con la libnds y la li -
¡¡Ya tengo la NDS rosa!!
15/02/07
Ayer Mari, cuando llegué de la oficina, me dió una de las mayores sorpresas: ¡¡Me regaló una Nintendo DS por San Valentín!! ¡¡Me quedé alucinando!! Además, es el modelo rosa, el que más me gusta... :-P
Ya estoy echándole un vistazo a los cartuchos flash para NDS para ver si me pillo uno. -
http_post 0.1
13/02/07
He desarrollado una pequeña librería de C que permite, desde una aplicación CGI, estraer de forma sencilla, toda la información HTTP POST enviada desde un cliente. Soporta file upload tanto a fichero (poniendo en la variable global upload_path_prefix la ruta a la carpeta destino) como a memoria (pon -
De nuevo online
07/02/07
Hola a todos. Hacía tiempo que no pasaba por estos lares, se me ha hecho eterno :-). He tenido problemas con el router ADSL y gracias a Javier (un compañero de trabajo, que me prestó su router) estoy de nuevo conectado.
Pillé la varicela. Si, si, esa enfermedad que sólo da a los niños...
-
Vídeo de la actuación de In Fussion en La Grada y festival Movidia
-
enero
-
Drum'n'Bass en estado puro
18/01/07
Paseando por hispasonic.com me encontrado con esta joya en los foros:
http://hispasonic.com/index.php?name=PN
Son un conjunto de vídeos de youtube en los que hablan de un nota que toca drum'n'bass con batería real... La bomba, no se pierdan los vídeos :-). -
DUET
16/01/07
Degenerate Unmixing Estimation Technique es un algoritmo relativamente sencillo que permite, con bastante eficacia, extraer N fuentes de sonido de una mezcla estéreo aprovechando las diferencias de fase entre los canales izquierdo y derecho y suponiendo que los soportes de los espectros de cada fuen -
Sin ADSL
12/01/07
Desde hace varios días llevo con la ADSL de casa pa'lante y pa'trás que no me termina de funcionar bien. El router me pilla la señal DSL durante, a lo sumo, una hora y luego se queda muerto :-(. Creo que es el propio router que está un poco cascado: al hacerle el reset por hardware (usando -
El análisis de componentes independientes o la estadística aplicada al DSP
11/01/07
Últimamente me he estado iteresando por la separación de fuentes de sonido y me he topado con un montón de enlaces y de información sobre ICA (Independent Component Analysis) o análisis de componentes independientes. Esta técnica estadística permite separar las componentes estadísticamente independi -
Una tesis interesante
09/01/07
Navegando por la red me he topado con esta tesis doctoral de la Universidad de Tampereen.
La tesis, titulada Sound Source Separation in Monaural Music Signals, realiza un análisis exhaustivo de todos los algoritmos conocidos de separación de fuentes de sonido a partir de señales monoaural -
Ya tengo el número 7 de la Call MSX
03/01/07
Hoy me ha llegado el número 7 de la revista Call MSX que me envió Fran hace algunos días y para el que hice un artículo sobre aritmética en punto fijo con el Z80.
Con el paquete han llegado también dos cartuchos multirom para MSX que son de Airam pero que probaré antes de dárselos... no v -
Nuevo año, nuevo temita y nuevo enlace
01/01/07
Ayer terminé de hacer un temita house que empecé a hacer hace cosa de una semana. Está en la sección Música y espero que les guste. Es el primer tema más o menos serio que hago con el sintetizador Roland Fantom-XR y con el Soundart Chameleon.
El tema está secuenciado con el secuenciador M
-
Drum'n'Bass en estado puro
-
diciembre
-
2006
-
diciembre
-
DINAMISE v0.1 - Secuenciador MIDI para GBA
20/12/06
Ya terminé la primera versión de DINAMISE: un secuenciador MIDI estilo tracker para Gameboy Advance y que utiliza la interface midiout advance.
Las características de este secuenciador son:
- Hasta 16 patrones diferentes de hasta 64 filas cada uno.
- Hasta 100 patrones pue -
Primera pantalla del secuenciador MIDI para Gameboy Advance
19/12/06
La cosa va avanzando :-). Ya tengo una versión preliminar del secuenciador MIDI para GBA que utilizará el interface midiout-advance.
Como se puede ver, se trata de un secuenciador estilo tracker muy sencillo. Disponemos de hasta 16 patrones diferentes de 16 pistas cada uno; ca -
midiout-advance: A la segunda va la vencida
13/12/06
Ya hay nueva versión del interface MIDI de salida más famoso para Gameboy Advance :-). Ahora, SI es 100% compatible con el estándar MIDI con el coste adicional de que ahora el circuito externo debe tener una fuente de alimentación independiente de la consola. La anterior versión del interface entreg -
midiout-advance con el Roland Fantom-XR (2º acto)
12/12/06
Hoy he descubierto el problema que hay con el interface MIDI out de la Gameboy Advance y mi sintetizador Roland Fantom-XR: el bucle de corriente en el cable MIDI es de tan solo 1.2 mA, cuando el estándar MIDI determina que el bucle de corriente debe ser de entre 5 y 20 mA. He probado incluso elimin -
midiout-advance con el Roland Fantom-XR
12/12/06
Ya conseguí que el interface midiout para Gameboy Advance funcione con mi sintetizador Roland Fantom-XR. La solución ha sido un poco cutre: en vista de que no podía hacer que el Roland Fantom-XR reconociese las secuencias MIDI y de que el Chameleon sí que las reconocía opté por utilizar la caracterí -
Parches para Nullhttpd y Mgetty
05/12/06
Nullhttpd es un mini servidor web con multihilos, GPL y compilable tanto en Windows como en Linux. Soporta la interface CGI y lo estamos usando para un proyecto embebido en la oficina: compilado con la glibc6 ocupa tan solo 32 KBytes (un único ejecutable).
Debido a que sólo soporta CGIs P
-
DINAMISE v0.1 - Secuenciador MIDI para GBA
-
noviembre
-
Nuevo número de la revista Call MSX
28/11/06
Nuestra querida revista Call MSX va ya por el número 7. En la reunión de usuarios de MSX de Barcelona que tendrá lugar el 9 de diciembre (dentro de pocos días) será presentado en sociedad este nuevo número de la única revista impresa en habla hispana sobre el MSX.
Para este número 7 he es -
Driver LCD para Linux (kernel 2.2.X)
23/11/06
En la sección soft (subsección otros), he puesto un driver de linux 2.2.X para controlar displays LCD de hasta 20 columnas por 4 líneas compatibles Hitachi hecho para la empresa. El driver también funciona como driver de teclado PS2/AT. Ha sido diseñado para su uso con placas industriales embebidas -
Video de la actuación de Infussion en el Botavara
13/11/06
El pasado 12 de agosto nos hicimos una tocata en el Pub Botavara (en Pozo Izquierdo) y grabamos en vídeo la segunda mitad de la actuación. He puesto el video en la página del grupo: http://infussion.gabiot.com (sección ficheros). Está en formato MPEG2 con audio en MP2 y ocupa unos 200 Megas.
-
Nueva versión del plugin de exportación de C para Tiled
12/11/06
Tiled es un programa escrito en Java que permite diseñar escenarios y mapas para juegos mediante el sistema de baldosas (o "tiles"). Hace tiempo escribí para este programa un plugin que permitía exportar los mapas diseñados con él a formato .h (cabecera de C).
A partir de un correo qu -
Aritmética de punto fijo para el MSX
07/11/06
Estoy terminando de redactar un artículo para la revista Call MSX sobre el uso de aritmética en punto fijo en lenguaje ensamblador para el Z80. Hasta que salga este próximo número de la revista en diciembre puedes ir abriendo boca con el código fuente que añadido a la sección punto fijo de mi página
-
Nuevo número de la revista Call MSX
-
octubre
-
PHPRFC versión 1.0
24/10/06
Gracias a Javier (un compañero de trabajo) ha sido parcheada la librería PHPRFC ya que la versión anterior no permitía su ejecución en servidores no Unix. La búsqueda de ficheros PHPRFC_*.php se realizaba utilizando el comando ls. Ahora se realiza una búsqueda en el directorio actual mediante el com -
ush - Una shell minimalista para máquinas Linux con poca RAM
10/10/06
He desarrollado una pequeña shell para sistemas Linux con poca RAM. Compilándola con glibc ocupa 400Kb mientras que compilándola con libc5 ocupa 100Kb (en ambos casos enlazándola de forma estática).
Ciertamente no es el mejor ejemplo de shell para presentarla como práctica de sistemas ope
-
PHPRFC versión 1.0
-
septiembre
-
Realizar solicitudes HTTP/POST desde la Bash
26/09/06
En un post anterior hablaba de las bondades de los sockets en bash y de su gran utilidad a la hora de realizar scripts sin necesidad de programar en C ni en ningún otro lenguaje compilado. Gracias a esta cualidad de la bash he podido realizar solicitudes HTTP/POST a un servidor desde un script de fo -
Interface MIDI out para la Nintendo DS
22/09/06
Collin Meyer, a través de su blog nos informa que ya tiene a puntito de caramelo su secuenciador MIDI para Nintendo DS. El secuenciador requiere como puerto MIDI este sencillo circuito conectado al slot trasero de la DS (obviamente es necesario que el software arranque del slot GBA mediante WifiMe o -
Reproductor MP3 para la XBox
18/09/06
Ayer, a modo de prueba para la API de sonido de SDL (SDL_Audio), porté la librería mpglib que utiliza el programa mpg123 a XBox. El resultado de un pequeño reproductor MP3 que reproduce el alchivo example.mp3 que se encuentre en el mismo directorio que el programa default.xbe.
En la secci -
Mi primer 'Hola, Mundo' para XBox
15/09/06
Gracias a este hilo abierto por mí en http://forums.xbox-scene.com he conseguido leer ficheros de la unidad de DVD. Gracias a la ayuda del usuario friedgold ahora se que poniendo este código al principio del programa:
ANSI_STRING a1, a2;
RtlInitAnsiString(&a1, "\\??\\D:" -
Dándole vueltas a la XBox y la quedada de Asterisk
14/09/06
Hace tiempo que llevo intentando cargar ficheros de CD/DVD en la XBox pero nada, siempre me sale un error que dice que no es posible abrir el fichero. Hace algunos días abrí éste hilo y al final resulta que se trata de un problema del OpenXDK. Por lo que dice en algunas respuestas uno de los colabor -
Tercera y última entrega del tutorial sobre síntesis musical por ordenador
01/09/06
En la sección soft he puesto la tercera y última entrega del tutorial sobre síntesis musical por ordenador. En esta última entrega me he centrado más en la secuenciación y los efectos.
Primera entrega
Segunda entrega
Tercera y última entrega
Espero que encuentren útil
-
Realizar solicitudes HTTP/POST desde la Bash
-
agosto
-
Mi primer programa para la XBox
29/08/06
Ya conseguí hacer mi primer programa para la XBox :-). Lo he hecho utilizando el OpenXDK y las xdvdfs-tools. El código fuente se puede descargar de aquí.
El programita en cuestión lo único que hace es rellenar el framebuffer de la XBox con colores en escala de grises. Tampoco es para tira -
Empezar a programar la XBox
18/08/06
Hace algunos días, Manolo, un colega mío, me prestó su XBox chipeada. Ciertamente que no soy un gran amante de las consolas de sobremesa (de las de enchufar a la tele, vaya) pero tampoco es menos cierto que con semejante engendro en casa no iba a pasar la oportunidad de intentar programarlo... jejej -
Segunda entrega del tutorial sobre síntesis musical por ordenador
18/08/06
En la sección soft he puesto un enlace a la segunda entrega del tutorial sobre síntesis musical por ordenador. Aquí el enlace directo.
En esta segunda entrega se introducen los filtros digitales y se habla de otros métodos de síntesis menos convencionales. Se hace un pequeño repaso a los -
Tutorial sobre síntesis musical por ordenador
10/08/06
En la sección soft he colocado la primera entrega de un tutorial hecho por mí sobre síntesis musical por ordenador. Éste es el enlace directo.
He añadido un enlace al sitio web Acusmática: Hay varios textos interesantes sobre acústica y síntesis de sonido. Enhorabuena a Eduardo por el sit
-
Mi primer programa para la XBox
-
julio
-
Nuevos blogs sobre DSP de audio
31/07/06
Gracias a Hernán Ordiales he descubierto dos magníficos blogs hermanos: Audio Research y Gaussian Blog dedicados al maravilloso mundo del DSP de audio. Buen trabajo, chicos :-) -
Implementación en C del algoritmo de separación de fuentes de sonido
25/07/06
Por fin. Me he puesto en serio y ya he terminado de implementar el algoritmo de separación de fuentes de sonido por discriminación de azimut publicado por Dan Barry, Bob Lawlor y Eugene Coyle en la Conference on Digital Audio Efects (DAFX) de 2004. Para más información puede consultarse el PDF con l -
Corregido bug en PHPRFC
19/07/06
He corregido un problema en PHPRFC que hacía que se enviaran de forma errónea las cadenas de caracteres dentro de arrays.
En la sección soft puede encontrarse la última versión de esta librería, que permite llamar a funciones remotas implementadas en PHP desde Javascript utilizando el par -
Nuevas versiones de AjaxRMI y AjaxRMIClient
18/07/06
Ahora es posible realizar llamadas a métodos remotos también desde Java. Hasta ahora AjaxRMI estaba orientado únicamente a Javascript y permitía realizar llamadas a métodos remotos hechos en Java (implementados en un Servlet) desde cualquier navegador en Javascript utilizando el paradigma Ajax.
-
AjaxRMI-0.3
13/07/06
AjaxRMI es un conjunto de clases en Java y Javascript que permiten realizar llamadas desde Javascript a métodos de un servlet en Java.
// Javascript (CLIENTE)
var ajaxrmi = new AjaxRMI();
var ret = ajaxrmi.call('unMetodo', 'hola', ' mundo');
al -
Música electrónica canaria de calidad
10/07/06
El colectivo drone es la unión de varios músicos electrónicos canarios. La verdad es que la mayoría de los temas están super guapos: minimalismo, noise, funk electrónico, etc. Todo un conjunto de joyas que pululan por nuestro archipiélago alejadas de los circuitos comerciales y que no tienen nada qu -
Mini API estilo OpenGL para la Nintendo DS
06/07/06
Dos programadores conocidos de la escena GBA/NDS como son Michael Noland (Joat) y Jason Rogers (Dovoto) crearon no hace mucho la librería que está sirviendo como base para el desarrollo de programas homebrew en la Nintendo DS: la ndslib. Esta librería, que ha evolucionado a la actual libnds incluida -
Workbench en HTML/Javascript
03/07/06
Hay que joderse los rayes que se mete la peña con algunas páginas web :-). Estos de www.chiptune.com se han currado un pedazo de entorno al estilo Workbench del Commodore Amiga en HTML y Javascript que está que se sale.
Pásate por http://www.chiptune.com y alucina con la página. Y si aún
-
Nuevos blogs sobre DSP de audio
-
junio
-
Cartuchos CF y SD para Nintendo DS
30/06/06
Ya han llegado a españa ¡y a que precios! 8-) He estado mirando esta página de www.chollodigital.com: http://www.chollodigital.com/?v=pro&vcat=5 y la verdad es que ya no hay excusa para no tener una NDS. ¡Tengo unas ganas de tener una pa empezar a programarla! :-D En la página http://www.g6spain -
Prueba de sonido
30/06/06
Ayer por la noche hicimos una prueba de sonido en el pub El Ritual en Arinaga. En principio gustamos y parece ser que vamos a tocar allí una vez al mes por una cantidad de dinero. A ver si poco a poco nos podemos hacer un hueco, aunque aún hay que trabajar mucho con Vane, la cosa va bien.
-
Java para pobres
28/06/06
Hace algunos días descubrí la máquina virtual de Java con licencia GPL Waba. Lo mejor que tiene, sin duda, es que modificando tres ficheros C, siguiendo un pequeño tutorial, podemos portar la máquina virtual para que se pueda ejecutar en cualquier entorno. Un tal Justin Armstrong ha portado esta máq -
Reflexiones entorno a la vivienda
28/06/06
Mira que me dije al principio de hacer este blog que me iba a centrar en mis proyectos y en mis locuras sobre retrocomputación y música pero nada, la mente es terca :-D.
Esta mañana, viendo el programa Los desayunos de TVE antes de salir para la oficina estuve viendo la entrevista que le -
Maquinitas para hacer ruidos
27/06/06
Lo que daría un servidor por tener aunque sea una de estas en casita ^_^. Agüita con la cantidad de sonidos guapos que pueden hacerse con estas bestias de la síntesis analógica: Hay cosas que nunca pasan de moda y poder retorcer los potenciómetros de un sintetizador analógico y oir esas texturas ana -
Agüita con los montunos
25/06/06
Últimamente estoy intentando aprender a tocar montunos al piano y ¡mira que son difíciles! Los montunos son una de las formas típicas de tocar el piano de salsa y del jazz latino, la verdad es que suenan de vicio y le ayudan a uno a mejorar la técnica al piano, pero... joder, me dejan el brazo valda -
Programar para la venerable Atari 2600
21/06/06
La consola de las consolas. El sumun de la retrocomputación. La Atari 2600 fue una de las consolas con una mayor cantidad de juegos y también una de las más clonadas (yo tengo en casa una TV GAME, clon de la 2600 con varios juegos incluidos dentro).
Bucenando el otro día por la red pude v -
Somos famosos :-)
21/06/06
Jejeje, menuda sorpresa me llevé ayer noche cuando recibo la llamada de una chica que regenta un local en Arinaga pidiéndonos que fuéramos a tocar la noche de San Juan allí :-). La verdad es que fue una pena tener que decirle que no por lo precipitado del asunto, pero lo cierto es que uno se siente -
Fotos de la actuación en el Pub Acordes
13/06/06
El pasado viernes 9 de junio hicimos una actuación relámpago en el Pub Acordes del C.C. La Ciel de Vecindario. No tocamos muchos temas con voz ya que Vanesa aún está cogiéndole el tranquillo a las canciones. Ciertamente, no nos salió muy redonda la actuación, aunque también es cierto que la gente no -
Reproducir samples en el PSG del MSX
09/06/06
El PSG es el Programable Sound Generator que viene de serie en todos los modelos de MSX desde la primera generación. Se trata de un chip bastante simple en su concepción y permite reproducir hasta tres canales de tonos simultáneamente. Con este chip sólo es posible generar tonos de onda cuadrada y r -
Verónica se nos va
08/06/06
La verdad es que ha sido una pena. Nuestra cantante, Verónica, se ha ido del grupo. Diferencias a la hora de abordar el futuro del grupo así como alguna que otra desavenencia con uno de los componentes ha provodado este desenlace :-(
El ensayo de ayer ha sido el primero que hemos hecho sin Veró -
Port de newlib para Gameboy Advance
02/06/06
La librería newlib es una implementación orientada a sistemas embebidos de la libc de GNU y tal y como viene configurada por defecto es una librería muy buena para utilizarla en la Gameboy Advance, ya que permite el uso de rutinas estándar como memcpy, memset, etc; y, al mismo tiempo, contiene una i -
Vídeo de la actuación
01/06/06
Ya está colgado el vídeo de la actuación. Esta grabación no abarcó toda la actuación, ya que la cámara se quedó sin baterías a falta de una canción para terminar, pero bueno, está casi todo :-). Aquí tienen el ed2k ;-)
in fussion - actuacion charleston cafe 26-mayo-2006.avi
Son
-
Cartuchos CF y SD para Nintendo DS
-
mayo
-
Superactuación de anoche
27/05/06
Aunque los nervios casi nos traicionan al principio, lo cierto es que anoche fue una noche para recordar: In Fussion actuó en el Charleston Café y la actuación salió redonda. Nos equivocamos alguna que otra vez pero en estos casos la gente casi nunca se da cuenta de esos pequeños fallos ;-) jejeje. -
romfs para Gameboy Advance
26/05/06
En mi página de proyectos para Gameboy Advance he incluido un pequeño miniproyecto de implementación del sistema de archivos romfs. Aún no realiza comprobaciones de checksum pero permite acceder a los contenidos de un sistema de archivos .romfs simplementa concatenándolo a la ROM de la aplicación pr -
Actuación esta noche
26/05/06
Como decía Alfonso Arús en su ya mítico Vídeos de Primera: "¡Emoción! ¡Intriga! ¡Dolor de barriga!" Esta noche super actuación de In Fussion en el Charleston Café de Las Palmas de Gran Canaria a la 1 de la madrugada. Ya empiezo a estar nervioso... ^_^
No te preocupes, Jose, el e -
Nueva versión de AjaxRMI y concierto a la vuelta de la esquina
22/05/06
Acabo de subir a la sección soft una nueva versión del conjunto de clases AjaxRMI. Este conjunto de clases permite llamar desde Javascript directamente a métodos Java alojados en un servidor de aplicaciones utilizando el paradigma Ajax.
Por otro lado, ya queda menos para el concierto del -
Nueva versión de midiout-test
19/05/06
He retocado la aplicación de prueba del puerto MIDI de salida para la GBA y ahora envía mensajes active sense cada 200 milisegundos. El estándar MIDI obliga a hacerlo para que los receptores sepan que el extremo transmisor está activo. Con esta nueva característica ya si se puede decir que el midiou -
Cambios en la web de Gameboy Advance
17/05/06
En la web de Gameboy Advance http://gba.gabiot.com he puesto toda la información necesaria para construir el interface MIDI de salida para la GBA así como una sencilla aplicación de ejemplo (licencia GPL). En la misma web he puesto algunas fotos de cómo me ha quedado el invento a mi :-). Ya he manda -
Interface MIDI para la GBA (y IV)
16/05/06
¡¡¡ LO CONSEGUÍ !!!
:-D. Estoy que no quepo: Ya conseguí montarle un puerto MIDI de salida a la Gameboy Advance. He hecho una pequeña aplicación que envía un mensaje note on cuando pulsas el boton A y otro note off cuando pulsas en boton B. Lo he probado con el sintetizador Chameleon que -
Interface MIDI para la GBA (III)
14/05/06
Ya he conseguido conectar al puerto game link un circuito formado por dos diodos led y controlarlos desde un programa ecribiendo en el registro REG_R. En la sección GBA se pueden ver un resumen de lo que he hecho. El siguiente paso será instalar un conector DIN-5 hembra con dos resistencias de 150 ( -
Interface MIDI para la GBA (II)
10/05/06
Ayer me compré en Centro Mail un cable link de Gameboy Advance para dos jugadores. Mi idea inicial era cortarlo por la mitad para sacar directamente las señales del conector, sin embargo he optado por intentar una solución menos destructiva utilizando una placa de baquelita. Me he dado cuenta, ademá -
Interface MIDI para la GBA
08/05/06
Desde hace algunos días llevo dándole vueltas a la cabeza sobre lo de hacerle una interface de salida MIDI a la Gameboy Advance. Ya hay algunas aproximaciones al problema (como el interface MIDI para el sintetizador Little Sound DJ o para el sintetizador NanoLoop), pero tienen muchas limitaciones ya
-
Superactuación de anoche
-
abril
-
Algunas librerías útiles para la consola en Linux
28/04/06
En la sección soft he puesto, en la subsección otros un archivo tar.gz con dos librerías C de bastante utilidad para hacer programas en modo consola:
vt.h - Permite posicionar el cursor, borrar la pantalla, cambiar el color del texto, etc, sin necesidad de utilizar la librería curses ya q -
TR-626: Mi primer contacto con una máquina mítica
27/04/06
¡Quién lo iba a decir! :-). David, el guitarra el grupo tiene, ni más ni menos, que una mítica TR-626: Una caja de ritmos que comercializó Roland en 1987 y la primera basada totalmente en instrumentos muestreados a 12 bits (toda una revolución para la época). Esta máquina hizo las delicias de los gr -
nanoBackup
24/04/06
En la sección soft he puesto la primera versión de un sistema de backups cliente/servidor basado en scripts bash y xinetd que estoy desarrollando. Es super minimalista y sólo se requiere la instalación de un script bash en el cliente y de otro script bash en el servidor junto con un fichero adiciona -
Número 6 de la Call MSX
24/04/06
El 29 de abril en el marco de la RU de MSX de Barcelona se pondrá a la venta el nuevo número de la revista Call MSX. Entrevistas, nuevos artículos, análisis de juegos, trucos y mucho más :-D. Uno de los artículos, sobre compresión Huffman, lo redacté yo así que ya saben, a pillársela ;-)
-
Sockets en la Bash y nuevo combo para Java
21/04/06
La shell bash que todos los linuxeros tenemos en nuestras flamantes distribuciones no deja de sorprenderme. Resulta que es posible abrir sockets cliente mediante un único comando desde la misma shell:
# abrimos el socket
exec 5<>/dev/tcp/www.google.es/80
# enviamos la cade -
Cambios en la página de GBA
17/04/06
He realizado algunos cambios en la página del grupo (http://infussion.gabiot.com) y en la página dedicada a la programación de la GBA (http://gba.gabiot.com). En la página del grupo ya he añadido la biografía de Verónica y algunas fotos más, mientras que en la página sobre la GBA he añadido una nuev -
¡In Fussion ya tiene actuación!
16/04/06
Lo que oyen... En el grupo In Fussion ya tenemos actuación programada para el viernes 26 de mayo a la 1 de la madrugada en el Charleston Café.
No se pierdan el conciertazo del año ^_^, jejeje :-). El viernes llevé la maqueta al bar a la hora de apertura y me dieron cita para tocar sin ni siquie -
Semana santa
07/04/06
¡¡Bohhh!! ya es Semana Santa y, aunque pa mi no se va a notar demasiado, porque voy a currar de lunes a miércoles, si va a ser una semana movidita en el buen sentido. Esta noche quedada en el bote para organizar un asadero en el monte pal jueves santo :-) y mañana por la tarde/noche, asaderito en el -
Tablas ordenables por columnas en Java
05/04/06
En la sección soft he incluido, dentro del fichero TrucosSwing.tar.gz un conjunto de clases que he hecho y que permiten la implementación de tablas ordenables por columnas mediante clicks en la cabecera de cada columna (al estilo de la API de windows).
Dentro del tar.gz continuan estando otras
-
Algunas librerías útiles para la consola en Linux
-
marzo
-
Compresión Huffman en el MSX
29/03/06
Ya he terminado la adaptación del algoritmo de descompresión Huffman para el MSX. En la sección msx he puesto un tar.gz con todo el código. Para compilar esta implementación es necesario instalar el compilador SDCC y la utilidad hex2bin.
Al descomprimir el fichero tendremos una carpeta hu -
Nuevo tema, nuevas fotos y lavado de cara de algunas webs
28/03/06
En al sección music he subido un tema mío que hice hace un mes. No tiene demasiada gracia pero para mí es muy significativo ya que es el primer tema que hago sólo con los sonidos del sintetizador Chameleon y del Roland Fantom-XR, sin utilizar sonidos procedentes del ordenador. El ordenador lo he usa -
Lavado de cara de la página MSX y nueva versión de SendSMS
21/03/06
A mi página MSX (http://msx.gabiot.com) le he hecho un pequeño lavado de cara y he hecho algunas modificaciones debido a la nueva actualización del compilador SDCC que ha afectado, para bien, a algunos contenidos :-).
Por otro lado el pequeño programa que permite el envío de SMS a través -
Envío de mensajes SMS a través de módem GSM
16/03/06
En la sección soft hay una pequeña utilidad que permite el envío de SMS desde la línea de comandos nediante un módem GSM o un móvil que tengamos conectado a cualquier puerto serie.
Si, por ejemplo, tenemos el móvil en el puerto serie /dev/ttyS1 y hacemos:
./sendsms 34666123456 -
Compresión Huffman
14/03/06
Estoy preparando un artículo para la próxima entrega de la revista Call MSX sobre compresión Huffman. Ye terminé la implementación ANSI-C tanto del compresor como del descompresor. De la sección soft se puede descargar el código fuente completo de esta implementación que he hecho.
Gracias -
Unas clases útiles para Java
10/03/06
He estado escribiendo algunas clases que necesito para el soft que estoy haciendo en la oficina y las he puesto en la sección soft.
TrucosSwing.tar.gz - Contiene por ahora dos clases: Una que permite hacer componentes transparentes y otra que sirve como ejemplo de la aplicación del antial
-
Compresión Huffman en el MSX
-
febrero
-
Algunas cosas
24/02/06
Esta semana he comenzado a ir a clases de sistemas electrónicos de control discreto. Es el mismo profesor que tenía el año pasado en la signatura de control continuo, la diferencia con el año pasado es que este año no voy a poder hacer las prácticas con el resto de la gente por problemas de horario -
AjaxRMI 0.1
20/02/06
Hela aquí. Por fin :-). La primera versión (mas o menos) usable de la API en la que llevo trabajando algunos días y que, espero, me sirva de ayuda en los próximo proyectos.
AjaxRMI es un conjunto de clases en Java y en Javascript que permiten llamar métodos Java almacenados en un servidor -
Pequeño lavado de cara de la página del grupo
20/02/06
Anoche le estuve dando caña a la página desde casa e implementé una pequeña bitácora que, por lo pronto, no tiene soporte para comentarios. Con el tiempo espero añadirlo.
También he cambiado algunos colores y estilos: http://infussion.gabiot.com. -
Vocalista en el grupo y mi madre reina de la 3ª edad en Santa Cruz
17/02/06
Pues eso, ayer Verónica fue por primera vez a un ensayo nuestro y ya es nueva integrante del grupo. La verdad es que canta muy bien y la voz nos va a ayudar a competar y redondear el grupo, para que suene mejor :-).
La otra buena noticia es que ¡mi madre es la reina de la 3ª edad del carn -
Posible nueva vocalista para el grupo
14/02/06
Este jueves vamos a quedar en el local de ensayo con Verónica, una chica de Las Palmas, para ver si cuadra para cantar con nosotros. Al parecer le gusta el rollo de nuestros temas :-). A ver que tal sale la cosa. En el ensayo de ayer sacamos un temita nuevo smooth-jazz muy guapo... o al menos eso me -
Buenas noticias sobre la casa
08/02/06
Afortunadamente la inmobiliaria ya tiene la autorización de la comunidad de propietarios para cambiar el uso del piso que voy a comprar de office a vivienda en el registro de propiedad :-). A ver si ahora la cosa se agiliza, porque ya llevo desde octubre para comprar el dichoso piso :-/.
-
Canciones del grupo
02/02/06
El otro día fuimos a grabar a un mini-estudio y grabamos 4 temas de nuestro repertorio. La verdad es que la grabación deja mucho que desear y, bueno, aunque a caballo regalado no hay que mirarle el diente, lo cierto es que pa la próxima vez, con una mesita normalita y un portátil creo que lo vamos a
-
Algunas cosas
-
enero
-
Pitch shifting
24/01/06
Hace algunos posts hablé del sitio http://www.dspdimension.com y de la buena pinta que tenía el algoritmo de pitch shifting que describe con código fuente incluido. Pues bien, esta tarde, en lo que Mari le daba el último repasón a los apuntes para el exámen de mañana cogí el código fuente y lo adapt -
Fotos del asadero de este sábado
23/01/06
Hacía tiempo que no hacíamos un asadero/chuletada como Dios manda :-). Este sábado nos pusimos en serio y al final la cosa salió (faltó José, pero bueno...). Yo me lo pasé de puta madre y espero poder repetirlo ;-).
Sección fotos. -
Metrónomo para GBA
23/01/06
A raiz de un ensayo con el grupo en el que echamos de menos un metrónomo para tocar, me puse manos a la obra y ya he sacado la versión inicial de Ritma, un metrónomo sencillo para GBA que por ahora sólo permite elegir el tempo, pero no el compás, que es fijo de 4/4. En la siguiente versión se podrá -
OOP en Javascript
20/01/06
¡Qué equivocados estábamos los que, como yo, pensaban que la OOP de Javascript era prehistórica! :-). En http://phrogz.net/JS/Classes/OOPinJS.html hay un tutorial buenísimo sobre cómo implementar atributos y métodos privados a una clase en Javascript así como la herencia simple. La verdad es que est -
Noticias sobre la casa y parche para FOP
18/01/06
Hace algún tiempo hablaba yo por estos lares de las bondades del lenguaje XSL/FO para generar informes y documentos PDF. Una de las mejores implementaciones que hay de XSL/FO es la de Apache (ver http://xmlgraphics.apache.org/fop) pero la versión oficial tiene una tara, y es que no permite incluir -
Arreglado bug en PHPRFC
11/01/06
Ayer descubrimos un error en la librería PHPRFC que no permitía retornar adecuadamente arrays asociativos con un único elemento, ya que los trataba como arrays normales (con índices 0, 1, etc).
En la sección soft ya he puesto la nueva versión de la librería. No creo que haya gente que la -
Nueva página del grupo
10/01/06
Acabo de estrenar la página del grupo Infussion. La página aún está en versión preliminar a la espera de que le guste al resto de los integrantes del grupo y de que se empiece a subir material (fotos, mp3, etc). -
Time-stretch para todos
09/01/06
Hola.
Hacía tiempo que no me pasaba por la web http://www.dspdimension.com y la verdad es que la encuentro bastante cambiada (para bien, por supuesto :-). En la sección Tutorials hay un tutorial sobre la implementación del time-stretch en C que está que se sale 8-). Aunque desde que me compr
-
Pitch shifting
-
diciembre
-
2005
-
diciembre
-
Nueva versión de PHPRFC
27/12/05
Ya hay una nueva versión de la librería PHPRFC (llamada a funciones remotas en PHP desde Javascript) con soporte para PHP5 (que antes iba un poco mal :-). El pobre Javier (el compañero de curro) ya se las está viendo con PHPRFC para hacer una web para un cliente. Esperemos que no me odie por haber i -
Navidad y nuevos contenidos en la web de la Call MSX
26/12/05
Felicidades a todos :-). Ayer noche hice algunas actualizaciones en la página web de la revista Call MSX (http://callmsx.gabiot.com). Hay una nueva sección llamada nuevos_cartuchos que contiene algunas aclaraciones sobre el nuevo cartucho de sonido de Kralizec (aquí) y sobre el nuevo cartucho Dumas -
Nueva implementación de la FFT
23/12/05
He adaptado de http://faculty.prairiestate.edu/skifowit/fft una implementación de la FFT de Cooley-Tukey en C y la he puesto en la sección soft. Aún tengo que echarle un vistazo a la implementación que me mandó José (via comentarios), que también tiene buena pinta :-).
Sobre el algoritmo -
De nuevo online
23/12/05
Ya estamos de nuevo online. Después de múltiples problemas con la ADSL y con la configuración del servidor ya tenemos la máquina en marcha otra vez :-). A ver si la cosa va mejor ;-) -
Nuevo número de la revista Call MSX
09/12/05
Ya hay nuevo número de la revista amateur Call MSX dedicada al mundo del MSX y con el nuevo número, actualización de la web correspondiente :-). En http://callmsx.gabiot.com podremos encontrar un pequeño resumen del contenido de este nuevo número de la revista más vendida de MSX en español (¿será po -
Una FFT muy pedagógica
09/12/05
He encontrado una implementación muy sencilla y pedagógica (aunque no muy eficiente en términos de memoria) del algoritmo de Cooley-Tukey de FFT para arrays de tamaño potencia de 2. Se pueden obtener del depatramento de informática de la universidad de Princeton, más concretamente en los siguientes -
Nuevo grupo
07/12/05
Ya soy el teclista del grupo In Fussion. Ensayamos dos veces por semana y la verdad es que el grupo suena muy bien. A ver si no la cago y sigue sonando bien conmigo a los teclados :-). En cuanto tenga algunos MP3 decentes los pondré por estos lares para que los critiquen. -
Perceptrón multicapa en PHP
02/12/05
Estoy preparando una pequeña librería para implementar perceptrones multicapa en PHP con algoritmo de aprendizaje backpropagation. en la sección soft he puesto un versión preliminar que, por ahora, funciona más o menos bien (supongo que es mejorable).
Si te gustan las redes neuronales y e
-
Nueva versión de PHPRFC
-
noviembre
-
La FFT de la sección soft está mal
29/11/05
Ayer estuve haciendo una pruebas para implementar el algoritmo de separación de fuentes de sonido mediante acimut que comenté en el anterior post y me di cuenta de que el algoritmo de la FFT/IFFT que tengo colgado en la sección soft está mal. Hice unas pruebas de error cuadrático medio entre x e IFF -
Documentación sobre síntesis y procesado de audio
26/11/05
Ayer descubrí una joya de la documentación :-). Se trata de la DAFx o International Conference on Digital Audio Effects. La última ha sido la celebrada en Madrid, en la Politécnica (http://dafx05.ssr.upm.es). De esta última conferencia no he podido encontrar PDFs ni documentación útil asociada. Sin -
Cambio de servidor y de look
25/11/05
Hola. Hacía bastante tiempo que no posteaba, primero debido a que José (compañero de curro y administrador de esta máquina) estaba reinstalado todo el sistema Linux de nuevo con una distro más actualizada y segundo porque Mari (mi novia) está la pobre con un esguince de tobillo de grado 3 que la tie -
Con fiebre y jugando con la Gameboy Advance
07/11/05
Pues eso, desde esta mañana estoy con una gripe de esas matadoras a tope :-(. No sé si mañana podré ir a la oficina. El caso es que aproveché el estar en casa para coger el juegazo que estoy haciendo, el MatchIt, y probarlo en una Gameboy Advance física (la mía). Fíjense si me flipé que grabé un vid -
Paquetes raw ethernet en Linux
03/11/05
En la sección "soft" he puesto un targz con dos aplicaciones sencillitas para acceder desde C a bajo nivel a los interfaces de red ethernet en Linux. En programa eth_send permite enviar paquetes ethernet crudos con mensajes de texto en su interior, mientras que el programa eth_recv permite
-
La FFT de la sección soft está mal
-
octubre
-
Reproductor OggVorbis para la Gameboy Advance
26/10/05
Acabo de terminar la versión preliminar de un reproductor de ficheros OggVorbis para Gameboy Advance utilizando una adaptación de la librería Tremor, una librería desarrollada en un 90% en ANSI C y que utiliza aritmética de punto fijo para decodificar los streams Ogg. Aún tengo que optimizar algunas -
MOD player en punto fijo: ahora para GBA
21/10/05
Ya he conseguido adaptar el reproductor de ficheros MOD en punto fijo para la Gameboy Advance. Al final me ahorré las divisiones precalculándolas, ya que sólo se realizaban entre un conjunto bastante limitado de números. El reproductor tiene un rendimiento bastante mejorable y aún consume mucha CPU; -
MOD player en punto fijo
17/10/05
Hacía tiempo que no posteaba algo por aquí. Lo cierto es que estoy algo estresadillo ya que voy a comprarme un piso en Las Palmas y estoy de papel en papel y tiro porque me toca.. :-). Sin embargo el estrés no me impide el loable ejercicio de la programación y acabo de subir a la sección "soft& -
Fotos de la feria MSX Bussum 2005 en Holanda
11/10/05
En la sección "fotos" he puesto algunas fotos que hizo Fran (AKA Saeba, el editor de la revista Call MSX) en la reunión de usuarios de MSX que tuvo lugar la semana pasada en Bussum (Holanda).
Fíjense en la última foto. Es un prototipo de OneChip MSX. ¡A que está guapo! 8-) -
Primeras (tímidas) fotos de la Call MSX en la reunión de usuarios de MSX en Bussum
07/10/05
Fran aún me tiene que mandar las fotos que hizo él con su cámara, pero bueno, entre el archivo fotográfico hecho por http://www.msx.org se puede ver tímidamente la revista Call MSX (aquí y aquí). A ver si Fran me manda las fotos que hizo él pa ponerlas en la sección "fotos" :-). (Fran es e -
Arreglados algunos errores en PHPRFC
07/10/05
He arreglado algunos errores en el manejo de caracteres especiales (comilla doble, comilla simple, barra invertida, etc) en PHPRFC. Esta librería permite hacer llamadas directas a funciones remotas hechas en PHP desde Javascript utilizando el paradigma AJAX.
¿Hay alguien que le haya echad -
Nueva versión de MatchIt
03/10/05
He hecho algunas mejoras en el juego MatchIt para Gameboy Advance que estoy desarrollando. Ya tiene una ventana inicial, varios niveles de dificultad de juego y "game over" :-). Le he añadido al código fuente la información de copyleft: ya es oficialmente GPL ;-) y Elena me va a echar una -
Edición especial de la revista Call MSX
03/10/05
Pues eso, que ya tenemos nuevo número de la revista amateur Call MSX. Es una edición especial en inglés que su redactor Fran (AKA Saeba) ha llevado este fin de semana a la reunión de usuarios de MSX de Bussum en Holanda.
Una pequeña preview de la revista se puede ver en la página oficial -
Versión preliminar de Matchit
03/10/05
"Matchit" es el primer juego que estoy desarrollando para la Gameboy Advance. Se trata de un juego de puzle estilo tetris en el que lo que tenemos que hacer es encajar una fila de fijas de diferentes colores de tal forma que coincidan el mayor número de colores posibles.
Esta ve
-
Reproductor OggVorbis para la Gameboy Advance
-
septiembre
-
Códigos de barras con XSL-FO
29/09/05
Esto del XSL-FO para generar documentos PDF es una gozada :-). En la sección "soft" he puesto una pequeña hoja de estilo de transformación para XSL-FO que permite incluir códigos de barras en documentos PDF de forma sencilla utilizando el estándar Code 39.
Con sólo poner el tag -
Nueva versión de PHPRFC
29/09/05
Ya está disponible una nueva versión de la librería PHPRFC para realizar llamadas a funciones remotas en PHP desde Javascript. Esta nueva versión ya maneja sin problemas caracteres especiales como la comilla simple y la comilla doble dentro de las cadenas tanto Javascript como PHP.
Secció -
XSL-FO o como crear PDFs a partir de XML
23/09/05
En la sección soft he puesto un ejemplo del uso de Formatting Objects para transformar XML en PDF utilizando hojas de estilo de transformación XSL. La verdad es que esta tecnología está que se sale para generar informes y otros escritos de forma estándar. Échenle un vistazo a los XML del ejemplo y a -
Programar en Pascal para la Gameboy Advance
21/09/05
Y es que un tal Fancesco se ha currado, junto con otro colega, el backend del Free Pascal para la Gameboy Advance y además se ha currado una GbaLib para esta versión del Free Pascal que tiene muy buena pinta :-).
Más info en http://itaprogaming.free.fr y en http://fpc4gba.pascalgamedevelo -
¡Aprobé el exámen de Control Contínuo!
20/09/05
Jijiji, estoy que me salgo :-). Hace un rato bajé de Tafira pa ir a ver la nota del exámen de Sistemas Electrónicos de Control Contínuo (3º de telecos) y me llevé esta grata sorpresa:
Ya sé que un 6 tampoco es como pa matarse pero bueno, esa asignatura se me atragantó un poco -
Fuentes 8x8 para todos
19/09/05
Acabo de descubrir una mina de oro 8-). En http://hoe.pocketheaven.com/hacks/Fonts/ hay un montón de fuentes 8x8 listas para ser usadas en la GBA o en otros dispositivos pequeños. Están en formato BMP y sólo soportan el conjunto de caracteres ASCII pero están que se salen ^_^. Por lo que se puede ob -
Nuevas cositas para la GBA
18/09/05
En la sección "gameboy advance" he añadido el fichero mode4font.tar.gz que es un ejemplo de uso de fuentes de caracteres 8x8 en el modo gráfico 4 (240x160 a 256 colores) de la Gameboy Advance. El fichero main.c incluye la función
puts(int x, int y, u8 color, char *s)
-
Qué pequeño es el mundo... del MSX
15/09/05
Ayer, mientras esperaba a la salida del exámen a que pasara la guagua de la línea 7 pa ir pa Las Palmas y portando yo, orgulloso, mi camiseta MSX recién estrenadita me para un estudiante peninsular y me dice: "Oye, ¿Dónde has conseguido esa camiseta?" :-) El pive en cuestión era también un -
Exámen de Control Contínuo y nueva versión de PHPRFC
14/09/05
Acabo de llegar de la ULPGC y tengo la mano dolorida de tanto escribir. El exámen fue matador pero creo que lo voy a aprobar :-). A ver si cuadra ^_^.
Aparte de eso acabo de subir una nueva versión de la librería PHPRFC (que permite hacer llamadas a funciones PHP alojadas en el servidor w -
Más lógica borrosa en PHP
12/09/05
He liberado una nueva versión de la librería de lógica borrosa en PHP. Esta nueva versión incluye una clase InferenciadorBorroso que permite aplicar de forma sencilla la librería y también he añadido una simulación de ejemplo (ayudándome de la librería jsGraphics de Walter Zorn) que aplica la lógica -
Lógica borrosa y PHP
06/09/05
En la sección "soft" he subido una pequeña librería para PHP que permite implementar lógica borrosa en nuestros scripts PHP. La he desarrollado porque la vamos a utilizar en un proyecto de la empresa para toma de decisiones.
Está licenciada GPL y aún es una versión bastante verd -
Dibujar desde Javascript
01/09/05
Me acabo de quedar alucinado viendo una librería que se han currado los de http://www.walterzorn.com. La librería te permite dibujar desde código Javascript directamente en la página web: líneas, elipses, polígonos, texto con diferentes estilos, etc... y todo utilizando una API sencilla que recuerda
-
Códigos de barras con XSL-FO
-
agosto
-
Vocoder
31/08/05
En la sección "soft" he añadido un vocoder en C. Utiliza filtros de estado variable discretos para implementar los filtros paso banda y una simplificación de la transformada de Hilbert discreta para implementar los seguidores de envolvente.
Junto al enlace para bajar el código f -
Algunos cambios en la sección Gameboy Advance
28/08/05
He hecho la sección "gameboy advance" bilingüe y he añadido un nuevo ejemplo al apartado de gráficos: Un pequeño programa que muestra cómo se accede a la memoria de video de la Gameboy Advance en el modo gráfico 4 (240x160 a 256 colores), tanto a la memoria de pantalla como a la memoria de -
Java WebStart y JNLP
26/08/05
En la sección "soft" he añadido un pequeño .tar.gz con un ejemplo didáctico de utilización del protocolo JNLP (Java Network Launching Protocol) para la ejecución de aplicaciones remotas firmadas sobre protocolo HTTP. El fichero contiene scripts orientados para la utilización de JNLP en Lin -
Hoy hace 28 añitos que nací
25/08/05
Pues eso; y, bueno, podría parecer que pongo este post para que me feliciten y, bueno, es posible que eso sea cierto (para qué engañarnos :-). Espero segir muchos años manteniendo esta página y seguir añadiendo contenidos que sirvan de utilidad para programadores, músicos y gente de la esfera MSX y -
Más cosas con AJAX
23/08/05
Chiquito vicio no he cogido yo con el AJAX este :-). En la sección "soft" acabo de subir el PHPCFE (PHP Compressed Files Explorer), una pequeña utilidad web hecha por el menda basada en Javascript, PHP y XML (AJAX) que permite explorar desde el navegador del cliente el contenido del ficher -
Ayer murió Bob Moog, el pionero de los sintetizadores
23/08/05
Es curioso. Los grandes medios de masas sólo se ocupan de recordarnos las muertes de las personas célebres, casi nunca de las personas que contribuyeron a mejorar este mundo un poco más. Tampoco es que Bob Moog haya sido un mecenas ni un profeta religioso, pero sí el inventor del sintetizador tal y -
Implementación de un doble buffer de sonido en la Gameboy Advance
19/08/05
¡Lo conseguí! :-) Anoche me di cuenta del error lamentable que estaba cometiendo en algunas líneas de código al tratar un array de bytes con signo como si fuese un array de enteros de 32 bits sin signo (chiquita diferencia). El caso es que el fichero directsound.tar.gz que hay ahora para bajarse ya -
Día lluvioso en Las Palmas
18/08/05
Hoy desde la madrugada se ha puesto a llover que da gusto (con aparato eléctrico y todo) y, para colmo de males, la solana de casa no es tan impermeable al agua como el obrero que vino nos hizo hacer creer. Suerte que por estos lares el régimen de lluvias no es muy alto que si no... :-)
A -
Algunas cosillas para programar la Gameboy Advance
17/08/05
En la sección "gameboy advance" he añadido algunas cosillas nuevas:
bin2o.cpp - Una pequeña utilidad que permite convertir cualquier fichero binario en formato ELF object file de tal manera que, enlazándolo con la aplicación principal podemos acceder a los datos de ese fichero m -
Camiseta MSX :-)
13/08/05
¡A que está guapa la camiseta que me hice ayer con el logo del MSX! 8-) jejeje, ahora si que soy un auténtico retro-man... xD -
XML/XSLT
11/08/05
No, no se me han trabado los dedos en el teclado :-D. Es que hace poco descubrí las hojas de estilo para transformación de XML (también conocidas como XSLT) y todo el potencial que tienen. Se pueden utilizar para implementar pequeñas rutinas que se ejecutan en el navegador y que permiten realizar cá -
Gran invento el AJAX este
10/08/05
Hace algunos posts hablé de una pequeña librería que hice que permitía acceder a bases de datos PostgreSQL desde Javascript mediante PHP y XML, utilizanto el paradigma AJAX (Asynchronous Javascript and XML).
Ahora, rizando el rizo, he puesto una pequeña utilidad que, utilizando el mismo p -
Dos buenos libros
08/08/05
Hacía tiempo que no hacía comentarios literarios así que aquí van algunos.
Vicente Romero - Donde anidan los Ángeles: Un ensayo muy bueno sobre las personas más desamparadas (las que se encuentran en zonas de conflicto, los desplazados, los hambrientos...). Un recorrido por las zonas más -
Plugin de exportación de ficheros .h para Tiled
03/08/05
Hace algunos días comentaba por estos lares que estaba echándole un vistazo a unos programas de edición de gráficos basados en baldosas. Al final el que más me gustó fue Tiled (http://tiled.rpgdx.net), por su sencillez y por lo fácil que resultaba implementar plugins para él.
Tan fácil es -
Conversor de imágenes a .h para Gameboy Advance
01/08/05
En la sección "gameboy advance" he añadido una pequeña utilidad hecha por mi en Java para convertir imágenes (GIF, PNG y JPEG) indexadas de 256 colores a ficheros .h optimizados para ser usados con la Gameboy Advance (paleta RGB de 15 bits, com 5 bits por cada componente). Es un único fich
-
Vocoder
-
julio
-
Cliente OBEX para consola
31/07/05
OBEX es un protocolo de intercambio de ficheros bastante extendido en los dispositivos móviles (Siemens, Nokia, Motorola, y algunos fabricantes más lo implementan en sus dispositivos). Existe un proyecto muy ambicioso llamado OpenOBEX que permite acceder mediante software libre a este tipo de dispos -
Acceder a bases de datos PostgreSQL desde Javascript
29/07/05
Acabo de terminar una pre-beta de una clase Javascript que accede, mediante PHP y XML a bases de datos PostgreSQL utilizando una notación sencilla:
var c = new JSSQLConnection('host=maquina user=yo dbname=datos');
var res = c.query('SELECT * FROM informes');
-
Editores de mapas para juegos basados en baldosas
27/07/05
Ya me queda menos pa poder presentar mi primera "gran producción" para la Gameboy Advance... jajaja x-D. Bueno, ahora en serio, estoy siguiendo los tutoriales de http://gbajunkie.co.uk y, buscando un editor de mapas basado en baldosas (tiles), me he encontrado con estas dos joyas: http://t -
Nueva sección Gameboy Advance
11/07/05
En tiempos en los que la Nintendo DS gana cada vez más cuota sólo a mi se me ocurre crear una nueva sección (en inglés) sobre la programación de la Gameboy Advance :-). ¿Será porque aún no me he pillado la NDS? ;-) Bueno, pues eso, por ahora la sección sólo tiene algunos enlaces y un tar.gz con códi -
Emulador de Super NES para Gameboy Advance
09/07/05
Acabo de probar el emulador de Super NES para Gameboy Advance, el SNESAdvance (http://www.snesadvance.org) en la Gameboy Advance y es la bomba :-). Como no encontraba el Pang para GBA puse el emulador de SNES en la GBA y me bajé la ROM del Super Buster Brothers (Remake de Pang para SNES). Va de mara -
Programar consolas basadas en chips ARM
03/07/05
Voy a salirme de la literatura por un momento para sumergirme en mis orígenes ;-). Hace ya casi un año (o más, no recuerdo bien) me compré una Gameboy Advance y un cartucho flash USB para poder pasarle ROMs desde el ordenador (siempre backups, por supuesto ;-) ). El asunto es que hacía algún tiempo -
Otra novela más: Ensayo sobre la ceguera
03/07/05
Últimamente estoy enganchadísimo a la lectura (como mi novia Mari :-) ) y la última joya (hay que llamarla así) que ha pasado por mis manos es "Ensayo sobre la ceguera" de José Saramago.
Una extraña ceguera se extiende por toda la población de forma alarmante. Nadie se libra, ex
-
Cliente OBEX para consola
-
junio
-
Los Cien Golpes
28/06/05
Ayer terminé de leer "Los Cien Golpes" de Melissa Panarello. Una mezcla de erotismo y romanticismo que no deja indiferente. Está confeccionado a modo de diario y en él se narra la búsqueda de emociones de una joven adolescente de clase media italiana (entre los 14 y los 16 años).
-
Crónicas Marcianas y otras cosas
25/06/05
Anoche me acabé el libro "Crónicas Marcianas" y la verdad es que se lo recomiendo a todo el mundo. Una gran obra de ciencia ficción, la verdad es que hace tiempo que no leo literatura de calidad de ciencia ficción y/o terror actual, casi siempre me remito a clásicos. No hace mucho me leí & -
Crónicas Marcianas
22/06/05
No, tranquilos, no voy a hablar de los aspavientos de los invitados en un programa de una conocida cadena privada española :-). Estoy hablando de la clásica novela de Ray Badbury y cuyo título fue cogido prestado por el programa homónimo de Telecinco. Ayer empecé a leerla y la verdad es que tiene bu -
El Linux de la Nintendo DS ya tiene teclado
20/06/05
Y qué mejor forma de añadirle un teclado que poniéndolo en la pantalla táctil :-). El kernel de Linux para la Nintendo DS es una derivación del proyecto ucLinux (Linux para microprocesadores sin unidad de gestión de memoria, o lo que es lo mismo, sin memoria protegida). Hace algún tiempo que se cons -
Añadido ping a bitacoras.net
17/06/05
Hola a todos. He cambiado la coniguracion al blog para que genere pings hacia bitacoras.net cada vez que aparezca un nuevo post. De hecho este post está sirviendo de pruebas para ver si se actualiza correctamente :-). Un saludo.
-
Nuevos fuentes sobre síntesis musical
17/06/05
Hola de nuevo. En la sección "soft" del menú he añadido varios códigos fuente de ejemplo sobre síntesis musical. Son, en su mayoría, pequeñas rutinas que permiten explorar los diferentes tópicos relacionados con la síntesis musical por ordenador (todas de cosecha propia): generadores de se -
Sony PSP con firmware 1.5 crackeada
16/06/05
Hola. Me enteré ayer y aún estaba con la duda hasta que hoy probamos el exploit en la PSP que tenemos en la oficina. En resumen: ¡Está QUE TE CAGAS! 8-). Ya se puede ejecutar código desde el Memory Stick en la PSP (es un poco raro de hacer pero funciona). Lo mejor de todo es que el kit de desarrollo -
ShakeTracker para gcc3
15/06/05
Hola. Cansado de esperar a que Juan Linietsky parchee su fantástico programa secuenciador MIDI ShakeTracker para Linux para que compile con gcc3 y superiores; me he puesto manos a la obra y lo he parcheado yo. Ahora ya compila perfectamente con gcc3, aunque cuando intentas exportar la canción a fich -
Mi primera entrada en el blog :-)
15/06/05
Hola a todo el mundo, hoy estreno este blog :-). Intentaré hablar y comentar acerca de los proyectos que estoy llevando a cabo. Tanto los relacionados con la música como los relacionados con el MSX ;-)
-
Los Cien Golpes
-
diciembre