Synthétiseur virtuel

Voici le fameux synthétiseur virtuel en Flash 5 qui a toujours, même aujourd'hui, un certain succès et un temps d'avance sur l'utilisation des possibilités du lecteur Flash sur le son embarqué. Il s'agit en effet d'une véritable synthèse sonore aussi rudimentaire que le permette le player Flash, mais ici le même sample sonore est utilisé pour reproduire le son du synthétiseur sur toutes les notes de chaque gamme et sur 8 voies simultanées. Cela donne lieu à un poids total de quelques 40ko pour l'ensemble de l'animation, ce qui est assez exceptionnel pour les sons que le fichier permet d'obtenir surtout au format Flash 5.
Juge par toi même de ses capacités en utilisant la souris pour cliquer sur les touches du synthétiseur, changer l'enveloppe ADSR des deux oscillateurs virtuels, enregistrer et jouer les morceaux composés.

 

Aide

Aide contextuelle :
Chaque passage de la souris sur un des boutons déclenche l'apparition d'un texte décrivant l'action qu'il provoque sur la console.
Ton clavier d'ordinateur peut permettre de jouer un morceau avec pour chaque rangée de la touche :
  • W : notes entières de l'octave 0
  • Q : dièses de l'octave 0
  • A : notes entières de l'octave 1
  • ² : dièses de l'octave 2
  • Touche MAJ enfoncées,  tu obtiens 2 octaves Supérieures.
La molette de pitch :
Elle peut-être manipulée grâce à la souris en la déplaçant vers le haut ou le bas.
Ecran analogique des oscillateurs
Les deux écrans analogiques représentant chacun un des deux oscillateurs peuvent être utilisés pour changer leur enveloppe ADSR.
Bouton enveloppe ADSR
Les points qui composent cette enveloppe ADSR: Attack, Decay, Release, et Sustain.
Il suffit de les déplacer pour que chaque note jouée prenne les caractérisques de l'enveloppe nouvellement définie.
Tu remarqueras que le deuxième oscillateur est éteint par défaut mais qu'il peut-être allumé pour obtenir un son plus expressif et surtout en décalant un peu son accord avec le premier oscillateur, un son plein d'harmoniques. L'accord de chacun des oscillateurs peut-être changé, provocant ainsi le changement d'accord de ton morceau, pour lui donner le ton qui lui convient.
Le bouton de volume :
Il ne se contente pas de régler le volume de zéro à cent, puisqu'il peux dépasser la valeur théorique maximale fixée à cent en provoquant l'affichage de l'intitulé "OVER" sur la console et donne ainsi un son trés particulier aux notes jouées plus tu grimperas dans les volumes élevés (comme si la saturation était poussée à fond). Il n'y a pas de magie là-dedans c'est un bug du player Flash dont l'outil profite pour créer un effet sonore supplémentaire, et sur lequel le tutoriel reviendra par la suite.
Bouton Enregistrement
Le bouton d'enregistrement déclenche immédiatement l'enregistrement de ton morceau au tempo choisi en lançant pendant une mesure le métronome le temps de prendre le rythme et sa position sur le clavier pour jouer. Pendant que tu joueras, si tu manipules le volume, mets en circuit le deuxiéme oscillateur, changes les enveloppes ADSR des oscillateurs, ou bien sûr joues avec la mollette de pitch, l'enregistrement en prendra compte et reproduira fidèlement chacune de ces actions pendant la lecture du morceau.
Bouton Stop
Le bouton Stop arrête l'enregistrement ou la lecture d'un morceau, il change d'état lorsqu'il est cliqué.
Bouton play
Le bouton Play indique que le morceau est prêt à être joué et permet de le lancer.

La version de ce synthétiseur virtuel ne comporte pas de possibilité d'enregistrement sur le serveur.

 

 

Comment ça marche ?

Un tutoriel simple te permettra de comprendre au mieux la méthode pour créer de la synthèse sonore en Flash et comment s'y prendre pour créer toi même ton propre synthétiseur ou quelques effets sonores embarqués au poids extrêmement réduit.

 

 
 

Principe

Pour créer une note de synthèse, la même technique est toujours utilisée, il s'agit de générer un signal de base dont la forme peut varier suivant trois grandes lignes:
Onde de forme sinusoïdale
L'onde est de forme sinusoidale.
Onde de forme triangulaire
L'onde est en dent de scie.
Onde de forme carrée
L'onde est de forme carrée.

Ensuite des modifications diverses et nombreuses du signal sont possibles; et nous allons d'ailleurs utiliser un signal bien particulier pour les besoins de notre outil.

 

La durée d'une oscillation du signal vas représenter la note jouée. En effet, lorsque qu'un tel signal est de la longueur suffisante pour être joué 440 fois par seconde (440Hz) on obtient le LA 4, soit la note de référence utilisée pour accorder les instruments et définir les tons en général. Ce sample est environ d'une durée de 2.272727 millisecondes. Mais il est extrêmement plus simple d'utiliser la valeur minimale de la fréquence d'échantillonnage courante sur nos ordinateurs d'aujourd'hui, et donc celle utilisée par Flash lui-même lors de l'import du son. En sachant que cette fréquence équivaut à 44100Hz, soit une totalité de 44100 samples par secondes sur le fichier MONO du sample, la longueur de la note de référence LA 4 est donc de 44100/440 soit 100-101 samples (précision maximale atteinte).

 

Pour obtenir la note d'un demi ton supérieure, il faut multiplier la fréquence de la note actuelle par la racine douzième de 2, soit environ 1,059. Pour composer la gamme musicale complète, cette formule doit donc être appliquée à partir du LA de référence et chaque note lui sera de n demi-tons supérieure ou inférieure en les liants à la formule: 440*1.059^n.

 

 
 

Application

Pour l'instant, rien ne nous permet de supposer que l'utilisation d'un tel sample dans Flash puisse permettre de générer des signaux de fréquence différente. Seulement, c'est sans compter sur les nouvelles possibilités apportées depuis Flash 5 sur le son, puisque désormais il est possible de jouer un son attaché depuis la librairie avec un paramètre à la fonction Sound.start([secondOffset, loop]); qui permet de jouer le son en commençant à un certain offset sur la longueur du son, et qui par grande chance a été programmée en bas-niveau, ainsi la précision du paramètre peut-être portée au dix millième de secondes prés, juste ce qu'il fallait pour travailler sur des samples aussi courts. Ainsi, en décalant le point de départ du son, le sample s'en trouve raccourci d'autant, et même si le signal généré n'est plus strictement identique à l'original la différence est quasiment inaudible sur un signal carré ou même triangulaire.

Pour s'en convaincre, ouvre Cool Edit Pro, va dans le menu "Generate" puis "Tones" et génère un son avec l'onde triangulaire en LA 4. La note est sélectionné par défaut, tu n'auras qu'à cliquer sur "OK". Change le timestamp de référence temporelle pour l'avoir en samples (click droit sur le timestamp en bas de l'écran de la zone d'édition) Ensuite, il suffit de sélectionner 101 samples (44100Hz divisés par 440Hz) sur le signal généré et de l'exporter en WAV, ce qui nous donne un sample unique d'un signal triangulaire dont la représentation est identique à la photographie du dessus et que tu pourras télécharger directement ici: signal triangulaire, il pèse seulement 244 octets, ce qui est d'un intérêt certain.

Pour jouer ce son dans Flash, apprend d'abord qu'il ne faudra pas l'exporter au format MP3 qui ne gère pas bien les si petites durées, mais au format RAW, c'est à dire au format WAV par défaut du système (AIFF sous MAC).

  1. Importe ce signal dans l'environnement auteur de Flash.
  2. Intégre le son sur la scène en tant que son événementiel sur la première frame.
  3. Passe le paramètre Loop à 440 pour le faire jouer une seconde précisément.
  4. Puis tu exporteras l'animation obtenue en n'oubliant pas de sélectionner l'export au format RAW.
  5. Tu obtenez un LA 4 parfait et continu!

 

 
 

Exemple

 télécharger le fichier FLA de l'exemple.

 

 
 

Ecoute

  •  jouer un son continu généré par une oscillation à 440Hz d'un signal carré.
  •  jouer un son continu généré par une oscillation à 440Hz d'un signal triangulaire.
  •  jouer un son continu généré par l'oscillation à 440Hz d'un signal sinusoïdal.
  •  jouer un son continu généré par l'oscillation à 440Hz d'un signal carré modifié.

 

 
 

Téléchargements

  •  télécharger le sample au format WAV d'une oscillation à 440Hz d'un signal carré.
  •  télécharger le sample au format WAV d'une oscillation à 440Hz d'un signal triangulaire.
  •  télécharger le sample au format WAV d'une oscillation à 440Hz d'un signal sinusoïdal.
  •  télécharger le sample au format WAV d'une oscillation à 440Hz d'un signal carré modifié.

 

 
 

Jouer la gamme

Pour jouer la gamme avec un seul sample, il suffit d'appliquer la formule que nous venons de voir dans une fonction Flash qui vas se charger de réduire la durée du sample mis en boucle de façon à moduler la fréquence du signal généré.