Síntesi de so

Síntesi de so

by MicroBlocks

Boards
Boards:

ESP32

Component/s
Components:

Speaker

Configuració

Per a aquesta activitat necessitareu alguna manera de transportar un senyal elèctric des de la placa cap a un altaveu. La manera més senzilla de fer-ho és simplement connectar un petit altaveu o un connector minijack al pin DAC o PWM de la placa. En el cas de l'ESP32, el DAC està disponible al pin 25, però té una resolució molt baixa, de manera que obtindreu un so molt millor si connecteu amb un pin PWM. En aquesta activitat utilitzarem el pin A0, que equival al pin 2 de l'ESP32, però qualsevol altre pin PWM també servirà.

La connexió és molt senzilla. El terminal positiu s'ha de connectar al pin PWM i el terminal negatiu a terra (GND). Si feu servir un mòdul d'altaveu com el de la imatge, és probable que tingui un connector que encaixi en un port PWM analògic de la vostra placa.

Una Mica de Teoria

Què és el So?

Percebem so quan l'aire en moviment arriba a les nostres orelles. El so és, simplificant-ho molt, aire en moviment. Estem submergits en un gran volum de fluid —l'aire— que es pot veure alterat quan determinats objectes es mouen dins seu. Aquestes pertorbacions es propaguen pel fluid i poden acabar arribant a una membrana extremadament sensible —el timpà— situada a l'interior de l'orella, la qual genera senyals elèctrics proporcionals a la magnitud d'aquestes pertorbacions. Aquests senyals es transporten fins al cervell, que els interpreta com a sons.

Els instruments constitueixen una categoria molt especial d'objectes capaços de generar so. Tots els instruments harmònics —és a dir, pràcticament tots els instruments que poden produir notes diferents— vibren de manera que el seu so es pot descriure com la combinació de diverses ones sinusoidals.

Què és una Ona Sonora?

Una ona sonora no és res més que una successió de nivells de pressió sonora. Igual que una pedra llençada a l'aigua crea una sèrie d'ones a la seva superfície, un objecte que genera so crea una sèrie d'ones a l'aire. No es poden veure com les ones de l'aigua, però sí que es poden percebre amb el sentit de l'oïda o, si el so és extremadament fort i greu, fins i tot amb tot el cos.

Una ona sinusoidal és justament el tipus particular d'ona que veuríeu en llençar una pedra a un llac. És una ona que transita de manera contínua i suau entre un pic alt i un pic baix.

Una ona sinusoidal, com ja hem dit abans, és també el tipus d'ona que generen els instruments harmònics. El so que emeten aquests instruments normalment correspon a la suma de diverses ones sinusoidals simultànies, igual que passa en la intersecció de les ones que observem en un llac quan s'hi llencen diverses pedres alhora.

Dispositius Electrònics de So

Com passa sovint, la tecnologia s'inspira en la natura. Els micròfons funcionen d'una manera molt semblant a les orelles. Una membrana fina i molt sensible rep les vibracions de l'aire, i aquestes vibracions es transformen en nivells de tensió elèctrica mitjançant un electroimant. Aquests senyals es transmeten després a algun equip d'àudio.

Curiosament, en el cas dels micròfons aquest procés també és reversible. Un altaveu no és més que un micròfon funcionant al revés. Quan s'envia corrent elèctric a un altaveu, un electroimant mou una membrana de forma proporcional, i això genera vibracions a l'aire que reprodueixen el mateix so que havia originat aquells senyals elèctrics.

Música Electrònica

La invenció de l'altaveu, per primera vegada a la història de la humanitat, va fer possible generar qualsevol mena d'ona sonora, i no només aquelles que es poden produir a partir de les vibracions dels materials naturals. Ja no calia pinçar una corda, colpejar una membrana o fer passar aire per un tub per generar ones, sinó que se'n podien crear de formes totalment arbitràries.

L'altaveu, juntament amb qualsevol dispositiu capaç de generar senyals que hi connectem, ha donat lloc a sons que la humanitat mai no havia sentit abans. La música electrònica és la música que aprofita aquesta nova manera de generar ones sonores.

Per tant, si voleu crear música electrònica, el primer que heu de fer és aprendre a generar diferents tipus d'ones.

Generació d'una Ona Senzilla

Com hem vist, una ona elèctrica no és més que una seqüència de tensions. La successió més senzilla que podem imaginar és aquella que canvia bruscament d'un valor a un altre a intervals regulars.

Com que el vostre altaveu està connectat al pin 2 (A0), el codi següent hauria de canviar alternativament el nivell de tensió d'aquest pin cada 3 mil·lisegons:

Si tot va bé, hauríeu de sentir un so com aquest:


Aquesta és la que anomenem una ona quadrada, i si obriu el fitxer d'àudio en un editor de so i n'amplieu la vista, veureu immediatament per què rep aquest nom:

El món físic mai no és perfecte, però les transicions entre nivells de tensió alts i baixos d'aquesta ona presenten angles que s'aproximen força als 90°. Aquests angles rectes són el motiu del nom que donem a aquesta ona.

Ara doneu una ullada als dos paràmetres que podeu modificar al codi anterior i escolteu quin efecte provoquen en l'ona quadrada resultant.

El primer és l'interval amb què els valors canvien de baix a alt. Proveu de duplicar-lo, passant de 3 mil·lisegons a 6:


Augmentar l'interval dona com a resultat un so més greu. En concret, duplicar l'interval fa que el so sigui una octava més baixa.

Si observeu l'ona també hi veureu una cosa molt interessant:

Així doncs, sembla que la component horitzontal d'una ona determina la seva alçada tonal. En la terminologia de les ones, aquesta característica s'anomena freqüència. Com més alta és la freqüència, més sovint es repeteix l'ona i més agut és el so.

Ara modifiqueu l'altre paràmetre: el valor que s'assigna al pin. El valor inicial era 1024. Proveu de reduir-lo a la meitat:


L'àudio resultant sona més fluix, i la forma de l'ona també ho reflecteix:

Podeu veure que la component vertical d'una ona en determina el volum. En terminologia tècnica, aquesta característica rep el nom d'amplitud. Com més gran sigui l'amplitud, més estirada verticalment serà l'ona i més alt serà el seu volum.

La Biblioteca de Síntesi Analògica

Generar ones escrivint directament els valors al bloc d'escriptura analògica és un exercici interessant perquè permet veure com les variacions de tensió afecten directament el so que es genera, però ben aviat esdevé una tasca feixuga.

Per això, MicroBlocks proporciona una biblioteca que abstrau bona part d'aquests conceptes perquè us pugueu centrar a modelar el so i crear música. Comencem important la biblioteca Síntesi analògica des de la carpeta So del navegador de biblioteques.

Formes d'Ona

La biblioteca Síntesi analògica proporciona blocs per a les cinc formes d'ona fonamentals de la síntesi sonora: sinusoidal, quadrada, triangular, dent de serra i soroll.

Dediqueu uns minuts a experimentar amb aquestes diferents formes d'ona i observeu com sonen. Proveu de modificar les seves freqüències —el primer paràmetre— i amplituds —el segon—, i observeu com això afecta la seva alçada i volum. Tingueu en compte que la biblioteca Síntesi analògica proporciona un rang d'amplituds molt ampli —de 0 a 32768— per tal d'oferir-vos prou resolució per barrejar diverses ones.

En primer lloc, heu de configurar la biblioteca perquè enviï el so al pin PWM on heu connectat l'altaveu. En el nostre cas, aquest és el pin digital 2 (A0).

Ara heu de demanar a la biblioteca Síntesi analògica que generi contínuament la forma d'ona que volem escoltar:


Si no sentiu res, proveu primer d'apujar el volum. Algunes ones poden ser molt silencioses, especialment en comparació amb la primera prova on s'escrivien els valors directament al pin PWM.

La següent prova que val la pena fer és sumar unes quantes ones. La manera més senzilla de fer-ho és simplement sumar-les aritmèticament utilitzant el bloc: Suma aritmètica


Per generar ones complexes us caldrà sumar moltes ones, i la quantitat de blocs + imbricats es farà difícil de gestionar. Per això us suggerim que utilitzeu el bloc sum Imatge del bloc "sum", que també podreu trobar a la categoria Operadors, al final del segon grup de blocs.


Podeu provar diferents relacions entre freqüències i amplituds i observar com afecten el timbre final del so. També podeu utilitzar una ona per modular la freqüència o l'amplitud d'una altra:



Portes i Disparadors

Ara que heu estat experimentant amb la creació de textures sonores, estaria bé poder utilitzar-les com a instruments per a interpretar patrons i melodies.

La biblioteca de Síntesi Analògica s'inspira en els sintetitzadors físics, on els generadors de so estan "tancats" darrere d'una porta (gate) . Aquestes portes es poden obrir, o disparar (trigger), a demanda, ja sigui prement una tecla del teclat, enviant un senyal específic al sintetitzador o per algun altre mitjà.

La biblioteca proporciona uns quants generadors amb porta, un per a cadascuna de les formes d'ona bàsiques.

Proveu-ne un.

Ara, si executeu aquest script, no passarà res. Això és perquè les portes romanen tancades fins que algun element les dispara. Per reproduir una nota en una porta només cal utilitzar el bloc toca la nota MIDI.


Fixeu-vos que el bloc toca la nota MIDI espera com a paràmetre una tecla MIDI. En poques paraules, MIDI és un estàndard que pràcticament tots els instruments electrònics entenen. Les notes MIDI s'especifiquen mitjançant nombres: el valor 60 correspon al Do central d'un piano (normalment C3) i cada unitat representa un semitò.

Nombres de les notes MIDI disposats en un teclat de piano

Proveu a utilitzar una llista de nombres per definir una melodia i reproduir-la a través d'una porta:


Envoltants Acústics

Un altre concepte que la biblioteca Síntesi analògica pren dels sintetitzadors és la idea d'envoltant acústic (envelope). Un envoltant acústic és, en poques paraules, la indicació de quant de temps hauria de trigar una porta a obrir-se —atac— i quant de temps hauria de trigar a tancar-se —extinció—.

Tipus d'envoltants acústics

Hi ha molts tipus diferents d'envoltants acústics, però la biblioteca Síntesi analògica utilitza la més senzilla de totes: l'Atac-extinció lineal (linear Attack-Release, abreujat AR). Altres sistemes poden afegir més etapes a l'envoltant o permetre definir una forma —una funció— per a alguna o totes les etapes.

Per definir l'envoltant acústic per a una porta concreta podeu utilitzar el bloc següent:

Ara és un bon moment per experimentar amb diferents valors d'atac i d'extinció per familiaritzar-se amb l'efecte que cadascun té sobre el so final.

Sintetitzar Instruments Simples

Xilòfon

Amb totes aquestes eines ja podeu crear aproximacions senzilles d'alguns instruments acústics. Per exemple, sabem que un xilòfon ha de tenir un atac molt curt. Quan es colpeja una de les barres de fusta, el so arriba gairebé instantàniament a la seva amplitud màxima. Tot seguit, la nota comença a decaure gairebé immediatament, sense mantenir el volum durant gaire temps. Amb aquesta informació, i sabent que tots els instruments harmònics produeixen sons basats en ones sinusoidals, podeu configurar un xilòfon amb els següents valors:


Flauta

Una flauta, en canvi, trigarà una mica a vibrar a ple volum. Per tant, el temps d'atac serà una mica més llarg. La nota es pot mantenir al volum màxim tant de temps com permetin els pulmons de l'intèrpret. Quan es deixa de bufar, el so decau amb força rapidesa, però no de manera brusca. En conseqüència, el temps d'extinció hauria de ser relativament curt, però no massa.

Alguna cosa així hauria d'anar bé:


Sintetitzar Instruments Més Complexes

Tanmateix, hi ha alguna cosa que no acaba de quadrar. Penseu en els envoltants acústics d'un piano i d'un violí.

Quan es prem una tecla del piano, s'activa un petit martell que colpeja una corda gairebé instantàniament. Aleshores, el so comença a decaure gairebé a l'instant, sense mantenir el volum gaire temps.

En canvi, quan es frega l'arquet sobre la corda d'un violí, el so augmenta gradualment fins a arribar al seu volum màxim. El volum es manté mentre es frega la corda, i després el so decau bastant ràpidament, però no de manera brusca.

Si aquestes descripcions us resulten familiars és perquè descriuen els mateixos envoltants acústics del xilòfon i la flauta. Òbviament, però, un piano i un xilòfon sonen de manera clarament diferent, com també ho fan una flauta i un violí.

Aleshores, què fa que aquests instruments tinguin sons tan diferents?

Timbre

El timbre és la característica que dona a cada instrument la seva personalitat; és el que permet distingir dos instruments encara que toquin la mateixa nota exacta amb el mateix volum. L'envoltant acústic forma part del que defineix el timbre, però hi una altra característica física que hi juga un paper encara més important: l'espectre de freqüències.

Quan es toca una tecla d'un piano, el martell colpeja una única corda, però aquesta vibració fa que moltes altres cordes també vibrin per simpatia a freqüències que són múltiples superiors o inferiors de la nota particular que s'ha tocat. A més, la mateixa corda colpejada no vibra d'una manera purament sinusoidal. Vibra igualment amb una barreja de freqüències que també són múltiples enters de la freqüència fonamental.

Aquestes freqüències addicionals són el que, en teoria musical, s'anomenen harmònics (overtones).

Ja ho hem insinuat, però és important remarcar que les freqüències d'aquests harmònics mantenen sempre una relació de múltiples enters amb la nota principal. Això vol dir que, si toqueu una nota A4 (La), que té una freqüència de 440 Hz, els seus harmònics apareixeran a 880 Hz, 1760 Hz, 3520 Hz, 7040 Hz, etc. Alguns d'aquests harmònics seran tan febles que pràcticament no contribuiran al timbre, mentre que d'altres tindran gairebé el mateix volum que la freqüència fonamental. En alguns instruments, els sobretons també poden anar en la direcció contrària, amb un to més greu. En aquest cas serien 110 Hz, 55 Hz, 27,5 Hz, etc.

Els volums i les freqüències d'aquests harmònics, en relació amb la nota principal, defineixen l'espectre de freqüències d'un instrument i, conjuntament amb l'envoltant acústic, donen a cada instrument el seu so característic.

No és tan senzill!

Alguns instruments presenten un espectre diferent segons la nota fonamental. Altres, com les cornamuses, tenen un bordó, una nota que sona constantment en segon pla. Altres incorporen un pessic de soroll a la seva forma d'ona. Per a aquesta activitat hem triat instruments relativament canònics perquè ens permeten il·lustrar els principis bàsics de la síntesi sonora, però la teoria del so és pràcticament infinita.

Aproximació a un Piano

Tot i que tant la flauta com el xilòfon també presenten un munt d'harmònics, aquests tenen un pes relativament menor que l'envoltant acústic en la definició del seu timbre, i és per això que hem pogut aproximar el seu so tan fàcilment. Aquest no és el cas del piano, on els harmònics són absolutament necessaris si volem obtenir una aproximació convincent del seu so.

En un piano, la freqüència més intensa és la fonamental, seguida pel segon i el tercer harmònic, cadascun aproximadament amb la meitat del volum de l'anterior. També hi ha indicis d'altres harmònics, però de moment ens quedarem amb aquests.

Definiu un nou bloc que retornarà la suma de totes aquestes freqüències per a una porta determinada. A la categoria Els meus blocs, feu clic a Crea un bloc reportador i anomeneu-lo porta del piano. Això crearà la definició del bloc a l'àrea de scripts.

A continuació, feu clic a la capçalera de la definició del bloc creat i afegiu un paràmetre al bloc fent clic a la fletxa d'expansió ▶ situada al costat del nom del bloc. El nom per defecte del nou paràmetre és foo, però el podeu canviar per un de més descriptiu fent-hi clic amb el botó dret i seleccionant reanomena…. Un nom com gate podria ser una bona opció.

Després d'això, haureu d'esbrinar la freqüència i l'amplitud actuals d'aquesta porta i desar-los en variables locals. Anomeneu-les de manera adient i utilitzeu els blocs amplitud per a porta i freqüència per a porta de la biblioteca Síntesi analògica per obtenir els seus valors.

No trobo el bloc de variables locals!

Assegureu-vos que esteu en mode avançat activant-lo al menú d'opcions (icona d'engranatge). Un cop activat, trobareu el bloc initialitza variable local a la categoria Variables.

Afegiu ara les tres ones principals que componen l'espectre de freqüències del timbre del piano:

  • Una ona sinusoidal amb la freqüència fonamental i amplitud completa.
  • Una ona sinusoidal amb el doble de la freqüència fonamental i la meitat de l'amplitud.
  • Una ona sinusoidal amb el triple de la freqüència fonamental i una quarta part de l'amplitud.

Finalment, assigneu a la porta 1 exactament el mateix envoltant acústic utilitzat per al xilòfon, reproduïu contínuament el bloc de piano —també a la porta 1— i toqueu alguna melodia.


Si teniu certa edat i vàreu tenir algun dels primers orgues electrònics, com el Casio PT-1, aquest so us evocarà molts records! No és el so de piano més realista del món, però sí una aproximació força convincent.

Aproximació a un Violí

Ara que ja sabeu com funciona, feu un bloc que simuli un violí. Els harmònics principals del violí són els següents:

  • La freqüència fonamental a plena amplitud.
  • El primer sobretò a gairebé plena amplitud.
  • El segon, tercer i quart sobretò a ¾ d'amplitud.

El violí té molts més harmònics, però aquests són suficients per obtenir una aproximació raonable.

I aquest és el resultat de reproduir la mateixa melodia amb el violí:


El so és una mica suau i li falten molts més harmònics, però recorda força un violí, almenys un violí sintetitzat en un orgue electrònic retro.

Instruments de Percussió

Quan parlem d'instruments de percussió distingirem dos grans grups: harmònics i inharmònics.

Els instruments harmònics són aquells basats en ones sinusoidals, on els harmònics són múltiples enters de la freqüència fonamental. Com ja hem dit, pràcticament tots els instruments acústics capaços de produir diferents notes són harmònics, i també ho són els tambors que generen el so mitjançant una membrana flexible en vibració.

En els instruments inharmònics podem trobar formes d'ona aleatòries o potser sumes d'ones sinusoidals que no corresponen a múltiples enters de la nota fonamental. En aquest grup hi trobem instruments com els plats, la caixa o les campanes.

Bombo

Quan es colpeja un bombo, la membrana vibra a plena amplitud gairebé a l'instant i després comença a decaure també força ràpidament. Es pot aproximar la forma d'ona amb una simple ona sinusoidal de baixa freqüència, ja que els bombos solen produir sons bastant greus.

Proveu-ho:


El resultat no està del tot malament, però s'assembla més al so d'un baix que no pas al d'un bombo. La raó és que, tot i que hem aplicat l'envoltant acústic al so del bombo, l'instrument real presenta una altra característica: a mesura que la vibració de la membrana s'esmorteix, la seva freqüència també canvia, vibrant cada cop menys ràpidament a mesura que progressa el so. Dit d'una altra manera, un bombo comença amb una amplitud màxima i una alta freqüència, i després, tant l'amplitud com la freqüència disminueixen gradualment fins que el so s'apaga i es torna extremadament greu.

Això és precisament el que permet simular el bloc rampa de freqüència. Configureu una rampa per a la porta 1 que comenci amb la freqüència completa i acabi, per exemple, al 30% de la freqüència inicial.


Caixa

La caixa, en canvi, és un instrument inharmònic. Es pot obtenir un so que s'hi aproximi aplicant un envoltant acústic a una porta de soroll i disparant-la amb una nota bastant aguda. Per ser exactes, la caixa també té una membrana que vibra de manera harmònica, però les molles metàl·liques situades a la part inferior anul·len pràcticament qualsevol component sinusoidal que pugui existir.


Charles (Hi-hat)

El hi-hat també és un instrument inharmònic i es pot aproximar igualment amb una porta de soroll, però el temps d'extinció és molt més curt que el de la caixa i no sona tan fort.


Nous Instruments Electrònics

Fins ara heu intentat aproximar sons produïts per instruments acústics existents, però res no us impedeix inventar instruments nous que facin servir diferents formes d'ona, envoltants acústics i espectres de freqüències.

Aquí en teniu un que m'he inventat:


Composició Musical i Live Coding

Ara que ja sabeu com crear els vostres instruments i sons, potser voldreu posar-ho en pràctica per compondre música, potser fins i tot interpretant-la en directe davant d'un públic.

MicroBlocks ofereix diverses biblioteques molt útils per a aquesta tasca, especialment Escales i acords i Ritme. Per aprofundir-hi, us recomanem que doneu una ullada a l'activitat Música en directe amb dispositius MIDI, però en lloc d'enviar missatges MIDI a un sintetitzador extern, podeu encaminar les notes MIDI a una porta de Síntesi Analògica.

Aquí teniu un exemple senzill d'una melodia de síntesi, una caixa i un hi-hat tocant al mateix temps:


Ara ja esteu perfectament equipats per gaudir creant la vostra pròpia música a partir dels vostres propis sons inventats!

CC-BY-SA

© by MicroBlocks 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.