8 Ritmos y melodías -Félix Delgado Plana

 Creación de Música y Sonidos con Notas MIDI-

https://www.youtube.com/watch?v=pPtVjC-Hdik


Duración estimada: 25-30 minutos
Nivel: Intermedio / Avanzado
Objetivo: Aprender a utilizar los bloques de sonido de Scratch para tocar notas musicales, cambiar instrumentos, ajustar el tempo, crear bucles rítmicos y explorar la importación de archivos MIDI.


1. Introducción a los Bloques de Sonido en Scratch

Scratch nos permite crear música y efectos de sonido utilizando el estándar MIDI (Musical Instrument Digital Interface). Los bloques de sonido se encuentran en la categoría "Sonido".

Los dos bloques principales que vamos a usar son:

Bloque

Función

fijar instrumento a [1]

Selecciona el instrumento MIDI que sonará.

tocar nota [60] durante [0.5] pulsos

Toca una nota específica con una duración determinada.


2. Los Instrumentos MIDI

El bloque fijar instrumento a [1] nos permite elegir entre diferentes instrumentos del estándar MIDI.

  • Número 1: Piano acústico.

  • Número 2: Piano eléctrico.

  • Número 3: Órgano.

  • ... y muchos más (hasta 128 instrumentos).

Ejemplo:

text

fijar instrumento a [1]  // Piano


3. Las Notas Musicales (Numeración MIDI)

En Scratch, las notas musicales se representan con números. El número 60 corresponde a un Do central (Do4 en notación científica).

3.1. Correspondencia de Notas

Nota

Número MIDI

Do (C)

60

Do# (C#)

61

Re (D)

62

Re# (D#)

63

Mi (E)

64

Fa (F)

65

Fa# (F#)

66

Sol (G)

67

Sol# (G#)

68

La (A)

69

La# (A#)

70

Si (B)

71

Do (siguiente octava)

72

Nota: No estamos limitados a los números del 48 al 72. Podemos usar números más altos (ej. 75, 87) para notas más agudas.

3.2. Duración de las Notas (Pulsos)

El valor en durante [0.5] pulsos determina cuánto tiempo suena la nota.

  • 1 pulso = una negra (en compás de 4/4).

  • 0.5 pulsos = una corchea.

  • 0.25 pulsos = una semicorchea.


4. Ejemplo Práctico 1: Tocar una Melodía Simple

Vamos a programar una melodía que suene al presionar la barra espaciadora.

Código de la Melodía

text

al presionar tecla [espacio]

fijar instrumento a [1]  // Piano

tocar nota [64] durante [0.25] pulsos  // Mi

tocar nota [63] durante [0.25] pulsos  // Re#

tocar nota [64] durante [0.25] pulsos  // Mi

tocar nota [65] durante [0.25] pulsos  // Fa

tocar nota [64] durante [0.5] pulsos   // Mi

tocar nota [69] durante [0.5] pulsos   // La

tocar nota [64] durante [0.25] pulsos  // Mi

tocar nota [63] durante [0.25] pulsos  // Re#

tocar nota [64] durante [0.25] pulsos  // Mi

tocar nota [65] durante [0.25] pulsos  // Fa

tocar nota [64] durante [0.5] pulsos   // Mi

tocar nota [68] durante [0.5] pulsos   // Sol#


5. Ejemplo Práctico 2: Cambiar el Tempo (Velocidad)

El tempo controla la velocidad de la reproducción. Se mide en pulsos por minuto (ppm).

  • Tempo alto (ej. 200 ppm): Reproducción rápida.

  • Tempo bajo (ej. 60 ppm): Reproducción lenta.

Código con Tempo Variable

text

al presionar tecla [espacio]

fijar tempo a [120] ppm

tocar nota [64] durante [0.25] pulsos

tocar nota [63] durante [0.25] pulsos

tocar nota [64] durante [0.25] pulsos

tocar nota [65] durante [0.25] pulsos

...


6. Ejemplo Práctico 3: Bucle con Velocidad Creciente

Vamos a hacer que una melodía se repita 3 veces, y cada vez aumente la velocidad.

Código con Bucle y Variable

  1. Creamos una variable llamada tmp (tempo).

  2. La inicializamos en 75.

  3. Repetimos 3 veces:

    • Aumentamos tmp en 20 (75 → 95 → 115).

    • Fijamos el tempo al valor de tmp.

    • Tocamos la melodía.

text

al presionar tecla [espacio]

fijar [tmp] a [75]

repetir [3]

    cambiar [tmp] por [20]

    fijar tempo a [tmp] ppm

    tocar nota [64] durante [0.25] pulsos

    tocar nota [63] durante [0.25] pulsos

    tocar nota [64] durante [0.25] pulsos

    tocar nota [65] durante [0.25] pulsos

    tocar nota [64] durante [0.5] pulsos

    tocar nota [69] durante [0.5] pulsos


7. Ejemplo Práctico 4: Acordes (Varias Notas a la Vez)

Scratch permite reproducir más de un sonido al mismo tiempo, lo que facilita la creación de acordes.

Código para un Acorde

text

al presionar tecla [espacio]

tocar nota [60] durante [0.5] pulsos  // Do

tocar nota [64] durante [0.5] pulsos  // Mi

tocar nota [67] durante [0.5] pulsos  // Sol

Resultado: Suenan las tres notas simultáneamente, formando un acorde de Do mayor.


8. Percusión con "Tocar Tambor"

Scratch también tiene un bloque específico para percusión:

  • Bloque: tocar tambor [12] durante [0.29] pulsos.

  • Función: Reproduce un sonido de batería o percusión.

  • Números de tambor: Del 1 al 18 (ej. 1 = Bombo, 12 = Hi-hat, etc.).

Ejemplo:

text

tocar tambor [12] durante [0.29] pulsos  // Hi-hat

tocar tambor [1] durante [0.5] pulsos    // Bombo


9. (Avanzado) Truco: Importar Archivos MIDI con Python

Para quienes no saben música, existe un truco para convertir archivos MIDI a proyectos de Scratch usando Python.

Requisitos

  1. Python 2 instalado en el ordenador.

  2. Pip (gestor de paquetes de Python).

  3. Scratch 2.0 (versión offline o online).

Pasos para Importar un MIDI

  1. Instalar Python 2: Durante la instalación, activa la opción "Añadir Python al PATH".

  2. Instalar Pip:

    • Descarga el archivo desde bit.ly/get-pip y ejecútalo.

  3. Descargar el script "Scratch 2.0 MIDI Importer":

    • Busca en GitHub el repositorio y descarga el archivo ZIP.

    • Descomprime la carpeta.

  4. Instalar el script:

    • Abre un terminal o línea de comandos.

    • Navega hasta la carpeta descomprimida.

    • Escribe: python setup.py install.

  5. Convertir el MIDI:

    • Coloca tu archivo MIDI en la carpeta de ejemplos (examples/import_midi).

    • Ejecuta el comando:

    • text

    • python imports_midi [nombre_midi.mid] [nombre_scratch.sb2]

    • Obtendrás un archivo .sb2 listo para abrir en Scratch 2.0 con tu canción ya compuesta.


10. Resumen de Bloques y Conceptos

Categoría

Bloque

Función

Sonido

fijar instrumento a [n]

Selecciona el instrumento MIDI.

Sonido

tocar nota [n] durante [x] pulsos

Toca una nota con duración específica.

Sonido

fijar tempo a [n] ppm

Cambia la velocidad de reproducción.

Sonido

tocar tambor [n] durante [x] pulsos

Reproduce un sonido de percusión.

Control

repetir [n]

Repite un bloque de código varias veces.

Datos

Variable tmp

Almacena valores temporales (ej. tempo).


11. Ejercicio Propuesto

  1. Crea una melodía con 8 notas.

  2. Haz que se repita 4 veces, aumentando el tempo en 10 cada vez.

  3. Añade un acorde al final de cada repetición.

  4. Incluye un golpe de tambor al inicio de cada repetición.


12. Conclusión

  • Los bloques de sonido en Scratch permiten crear música, melodías y efectos de forma sencilla.

  • La numeración MIDI nos da acceso a un amplio rango de notas e instrumentos.

  • Podemos controlar la velocidad, crear acordes y añadir percusión.

  • Para usuarios avanzados, existe la posibilidad de importar archivos MIDI desde Python, lo que abre un mundo de posibilidades musicales sin necesidad de conocimientos previos de teoría musical.

Comentarios

Entradas más populares de este blog

1.4 - Interfaz de usuario-Xnergic TCM

1.7 - Bloques de uso más común-Xnergic TCM

1.5 - Personajes-Xnergic