Table des matières:

Synthèse du son analogique sur votre ordinateur : 10 étapes (avec photos)
Synthèse du son analogique sur votre ordinateur : 10 étapes (avec photos)

Vidéo: Synthèse du son analogique sur votre ordinateur : 10 étapes (avec photos)

Vidéo: Synthèse du son analogique sur votre ordinateur : 10 étapes (avec photos)
Vidéo: [TUTO] Améliorer la Qualité Sonore de son PC | Windows 7/8/10 2024, Novembre
Anonim
Synthèse sonore analogique sur votre ordinateur
Synthèse sonore analogique sur votre ordinateur

Vous aimez le son de ces vieux synthétiseurs analogiques ? Vous voulez jouer avec un à votre rythme, chez vous, aussi longtemps que vous le souhaitez, GRATUITEMENT ? C'est ici que vos rêves Moog les plus fous deviennent réalité. Vous pouvez devenir un artiste d'enregistrement électronique ou simplement créer des sons cool et trippants à écouter sur votre lecteur mp3. Tout ce dont vous avez besoin est un ordinateur ! Tout se fait grâce à la magie d'un simulateur de circuit libre appelé LTSpice. Maintenant, je sais que vous êtes probablement en train de dire "Gee willikers, Tyler, je ne sais rien sur l'exécution d'un simulateur de circuit - ça a l'air DIFFICILE!". Ne t'inquiète pas, Bunky ! C'est facile et je vais vous donner quelques modèles pour commencer et les modifier pour faire les bruits étranges que vous voulez. Vous n'êtes pas sûr que cela en vaille la peine ? Voici un lien vers un fichier son prêt à être lu (il est fait à partir de "composition_1.asc" à l'étape 7 de cet 'ible) que vous pouvez essayer. Je l'ai converti de.wav en mp3 pour réduire le temps de téléchargement. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3Il y a des basses basses dans le son alors écoutez avec un casque ou de bons haut-parleurs. Si vous aimez ce que vous voyez, votez pour moi ! Remarque: j'ai joint des fichiers schématiques pour LTSpice que vous pouvez exécuter sur votre ordinateur, mais pour une raison quelconque, lorsque vous essayez de les télécharger, les noms et les extensions sont modifiés. Le contenu des fichiers semble correct, donc après avoir téléchargé les fichiers, changez simplement les noms et les extensions et ils devraient fonctionner. Les noms et extensions corrects sont affichés sur les icônes sur lesquelles vous cliquez pour télécharger.

Étape 1: Tout d'abord

LTSpice est un programme Windows, mais ne vous laissez pas abattre. Il fonctionne très bien sous Wine sous Linux. Je soupçonne qu'il n'y a aucun problème à l'exécuter dans le client VMWare, VirtualBox ou d'autres outils de virtualisation sous Linux, et probablement aussi sur Mac. Téléchargez une copie de LTSpice pour Windows (pouah !) ici: https://www.linear.com/ designtools/software/ltspice.jspInstallez-le. Qu'est-ce que LTSpice ? C'est un simulateur de circuit dans le domaine temporel que tout amateur d'électronique doit savoir utiliser. Je ne vais pas fournir de tutoriel détaillé sur son fonctionnement ici, mais j'expliquerai quelques éléments que vous devrez savoir au fur et à mesure. Un mot d'avertissement - il est facilement possible de produire des fréquences trop basses ou trop haut pour entendre. Si vous faites cela et que vous conduisez vos haut-parleurs coûteux avec un ampli de haute puissance, vous risquez de faire exploser vos haut-parleurs/ampli en morceaux. Regardez TOUJOURS les formes d'onde avant de les lire et veillez à limiter le volume lorsque vous lisez un fichier pour la première fois, par mesure de sécurité. C'est toujours une bonne idée de lire les fichiers via des écouteurs bon marché à faible volume avant d'essayer des haut-parleurs.

Étape 2: Saisie

Saisir
Saisir

L'entrée dans le simulateur se présente sous la forme d'un diagramme schématique. Vous sélectionnez les composants, les placez sur le schéma, puis les câblez ensemble. Une fois que votre circuit est terminé, vous dites au simulateur comment vous voulez qu'il simule le circuit et quel type de sortie vous voulez. Jetez un œil au schéma appelé resistances.asc. Vous verrez qu'il existe un circuit qui comprend une source de tension, une paire de résistances, un nœud de sortie étiqueté, une terre et une ligne de commande de texte. Regardons chacun. C'est maintenant le bon moment pour ouvrir le fichier de circuit lié ci-dessous. Ground: C'est le composant LE PLUS CRITIQUE sur votre schéma. Vous DEVEZ avoir une terre connectée à au moins un point de votre circuit ou vous obtiendrez des résultats très étranges de vos simulations. La source de tension: Si vous mettez une tension dans un circuit, vous devez lui dire s'il s'agit de courant alternatif ou continu. (ou quelque chose de plus complexe), quelle est la tension, la "résistance interne" de la source, etc. Vous pouvez entrer ces paramètres en faisant un clic droit avec le pointeur sur la source. Tout ce dont vous avez vraiment besoin est la résistance pour des simulations simples. Résistances: Les résistances sont assez faciles à comprendre. Faites un clic droit pour définir la valeur de la résistance. Ignorez tous les autres paramètres qui pourraient s'y cacher. Nœuds d'entrée et de sortie étiquetés: juste des noms pour les nœuds du circuit qui sont conviviaux. - utilisez des noms tels que "sortie", "entrée", etc. La directive de simulation: l'instruction.tran indique au simulateur comment vous voulez que le circuit soit simulé. Il s'agit d'un simulateur de domaine temporel, ce qui signifie qu'il analyse le circuit à différents moments. Vous devez lui dire quel doit être le pas de temps maximum et combien de temps la simulation doit s'exécuter en "temps de circuit", pas en temps réel. Si vous dites au simulateur de fonctionner pendant 10 secondes de temps de circuit et que vous définissez le pas de temps maximum sur 0,001 seconde, il analysera le circuit au moins 10 000 fois (10 s/0,001 s) puis s'arrêtera. Lorsque la simulation s'exécute, la tension à chaque nœud du circuit et les courants entrants et sortants de chaque nœud seront calculés et enregistrés à chaque pas de temps. Toutes ces informations seront disponibles pour tracer sur un affichage comme un écran d'oscilloscope (temps de l'axe horizontal, tension ou courant sur l'axe vertical. Alternativement, vous pouvez également envoyer la sortie vers un fichier audio.wav que vous pouvez lire sur un ordinateur, graver sur un CD ou convertir en mp3 pour jouer sur votre lecteur mp3.

Étape 3: sortie

Sortir
Sortir

La sortie peut être un tracé graphique de la tension en fonction du temps, de la tension en fonction de la tension, etc., ou un fichier texte composé d'un ensemble de tensions ou de courants à chaque pas de temps, ou un fichier audio.wav que nous allons beaucoup utiliser dans cette instructable. Téléchargez et ouvrez le fichier "resistors.asc". Cliquez sur le symbole du petit homme qui court (partie supérieure gauche de l'écran) et le circuit devrait fonctionner. Cliquez maintenant sur l'étiquette "OUT" dans le circuit. Vous verrez la tension étiquetée "sortie" affichée sur la sortie graphique le long d'un axe horizontal qui représente le temps. C'est la tension mesurée par rapport à la terre (c'est pourquoi vous avez besoin d'au moins une terre dans chaque circuit !). Ce sont les bases. Essayez de changer l'une des valeurs de résistance ou la tension, puis relancez la simulation et voyez ce qui arrive à la tension de sortie. Vous savez maintenant comment faire fonctionner un simulateur de circuit. Facile n'est-ce pas ?

Étape 4: Maintenant du son

Maintenant du son !
Maintenant du son !

Ouvrez le circuit appelé "dizzy.asc". Celui-ci est un générateur de bruit étrange qui utilise un modulateur et quelques sources de tension pour produire un fichier audio de qualité CD (16 bits, 44,1 ksps, 2 canaux) avec lequel vous pouvez jouer. Le composant modulateur est en fait un oscillateur. La fréquence et l'amplitude sont toutes deux réglables comme un VCO et un VCA dans un vrai synthétiseur analogique. La forme d'onde est toujours sinusoïdale, mais il existe des moyens de la modifier - nous en reparlerons plus tard. Les limites de fréquence sont définies par les paramètres de marque et d'espace. Mark est la fréquence lorsque la tension d'entrée FM est de 1V et space est la fréquence lorsque la tension d'entrée FM est de 0V. La fréquence de sortie est une fonction linéaire de la tension d'entrée FM, donc la fréquence sera à mi-chemin entre la marque et les fréquences spatiales lorsque la tension d'entrée FM est de 0,5 V et sera 2x la fréquence de marque lorsque la tension d'entrée FM est de 2 V. le modulateur peut également être modulé en amplitude via la broche d'entrée AM. L'amplitude de sortie du modulateur (oscillateur) correspondra à la tension appliquée à l'entrée de tension AM. Si vous utilisez une source CC avec une tension de 1, l'amplitude de sortie sera de 1 V (cela signifie qu'elle oscillera entre -1 et +1 V). Le modulateur a deux sorties-sinus et cosinus. Les formes d'onde sont exactement les mêmes, sauf qu'elles sont déphasées de 90 degrés. Cela peut être amusant pour les applications audio stéréo. Il existe une instruction.tran qui indique au simulateur le pas de temps maximum et la durée de la simulation. Dans ce cas, temps de circuit (temps total de simulation) = temps de fichier audio. Cela signifie que si vous exécutez la simulation pendant 10 secondes, vous obtiendrez un fichier audio de 10 secondes. L'instruction.save est utilisée pour minimiser la quantité de données que le simulateur enregistrera lors de l'exécution de la simulation. Normalement, il enregistre les tensions à chaque nœud et les courants entrants et sortants de chaque composant. Cela peut ajouter BEAUCOUP de données si votre circuit devient compliqué ou si vous exécutez une longue simulation. Lorsque vous exécutez la simulation, sélectionnez simplement une tension ou un courant dans la liste de la boîte de dialogue et le fichier de données (.raw) sera petit et la simulation s'exécutera à la vitesse maximale. Enfin, l'instruction.wave indique au simulateur de créer un fichier audio stéréo de qualité CD (16 bits par échantillon, 44,1 ksps, deux canaux) en mettant la tension sur "OUTL" dans le canal gauche et la tension sur "OUTR" dans le canal droit. Le fichier.wav se compose d'échantillons de 16 bits. La sortie pleine échelle dans le fichier.wav (tous les 16 bits d'un échantillon sont activés) se produit lorsque la tension en sortie est exactement de +1 volt ou -1 volt. Votre circuit de synthétiseur doit être configuré pour générer des tensions ne dépassant pas +/- 1 V sur chaque canal, sinon la sortie du fichier.wav sera "écrêtée" chaque fois que la tension dépasse +1 ou -1 V. un fichier audio échantillonné à 44,1 ksps, nous avons besoin du simulateur pour simuler le circuit au moins 44, 100 fois par seconde, nous avons donc défini le pas de temps maximum à 1/44, 100 sec ou environ 20 microsecondes (us).

Étape 5: Autres types de sources de tension, autres types de sons

Autres types de sources de tension, autres types de sons
Autres types de sources de tension, autres types de sons
Autres types de sources de tension, autres types de sons
Autres types de sources de tension, autres types de sons

Un synthétiseur analogique a besoin d'une source de bruit aléatoire. Vous pouvez générer du bruit à l'aide d'une "source de tension comportementale" (bv) et vous pouvez l'allumer et l'éteindre à l'aide d'un "interrupteur commandé en tension" (sw). L'utilisation du composant bv pour générer du bruit consiste à définir la tension en fonction d'une formule. La formule pour générer du bruit ressemble à ceci: V=white(time*X)*Y La fonction white crée une tension aléatoire entre -0,5 et +0,5 V en utilisant la valeur de temps actuelle comme graine. Le réglage de Y sur 2 donne une oscillation de +/- 1V. Le réglage de X entre 1 000 (1e3) et 100 000 (1e5) affecte le spectre du bruit et modifie le son. Le commutateur commandé en tension nécessite également que certains paramètres soient définis dans une instruction.model. Vous pouvez utiliser plusieurs commutateurs à tension contrôlée et plusieurs déclarations de modèle pour que chacun se comporte différemment si vous le souhaitez. Vous devez indiquer au simulateur les résistances "on" et "off" et la tension de seuil à laquelle il bascule. Vh est la "tension d'hystérésis". Réglez-le sur une valeur positive comme 0,4 V et il n'y aura pas de clics lorsque l'interrupteur s'ouvre et se ferme. source - voir easy_gated_noise.asc, ci-dessous.

Étape 6: cloches, tambours, cymbales, cordes pincées

Cloches, tambours, cymbales, cordes pincées
Cloches, tambours, cymbales, cordes pincées

Les cloches, les tambours, les cymbales et les cordes pincées sont tous percutants. Ils ont un temps de montée relativement rapide et un temps de décroissance exponentiel. Ceux-ci sont faciles à créer en utilisant des sources de tension sinusoïdales et comportementales combinées à des circuits simples. Regardez le schéma "bell_drum_cymbal_string.asc". Les sources de tension pulsées avec la résistance, le condensateur et la diode créent les formes d'onde de montée rapide et de décroissance exponentielle lente nécessaires. Ces tensions de sortie modulent les sorties de sources comportementales configurées comme sources de bruit aléatoire ou d'onde sinusoïdale. Lorsque la tension de la source pulsée augmente, elle charge rapidement le condensateur. Le condensateur se décharge alors à travers la résistance. La diode empêche la source de tension de décharger le condensateur lorsque la tension de la source est à zéro. Des valeurs de résistance plus élevées augmentent le temps de décharge. Vous pouvez spécifier le temps de montée de la source pulsée - la cymbale est une source nise avec un temps de montée très rapide. Le tambour est également une source de bruit qui fonctionne à une fréquence plus basse et a un temps de montée plus lent. La cloche et la corde utilisent des sources d'ondes sinusoïdales qui sont également modulées par des sources pulsées. La cloche fonctionne à une fréquence plus élevée et a un temps de montée plus rapide que la corde. Exécutez la simulation et écoutez le résultat. Notez que la batterie apparaît dans les deux canaux alors que tous les autres sons sont soit le canal droit, soit le canal gauche. Les deux résistances à la sortie du tambour sont chargées de mettre le son dans les deux canaux.

Étape 7: Tout assembler

Mettre tous ensemble
Mettre tous ensemble

OK, maintenant vous avez vu comment faire des sons et comment façonner les enveloppes et les moduler en fréquence. Il est maintenant temps de rassembler quelques sources différentes dans un seul schéma et de générer quelque chose d'intéressant à écouter. Comment faire en sorte que cette source de bruit entre dans la composition à 33 secondes ? Comment allumer cette sonnerie à 16 secondes, puis l'éteindre, puis la rallumer à 42 secondes ? Une façon consiste à utiliser une source de tension comportementale pour produire le son souhaité, puis à l'allumer et à l'éteindre en multipliant la tension génératrice de son par une autre tension qui allume et éteint le son, comme cela a été fait dans bell_drum_cymbal_string.asc. Vous pouvez faire le même genre de chose pour faire entrer et sortir les sons. L'idée ici est de configurer des sons répétés, puis d'utiliser des sources supplémentaires pour ajouter ces sons à votre composition aux moments souhaités en multipliant leurs tensions par les tensions sonores. Vous pouvez inclure autant de tensions dans la sortie sonore finale que vous le souhaitez, continuez simplement à les multiplier (identique au "et" logique). En démarrant les sons d'un seul coup, ils resteront parfaitement synchronisés tout au long de la composition afin qu'ils ne soient jamais en avance ou en retard dans le temps de la musique. Regardez composition_1.asc. Il y a deux cloches, une dans chaque canal. Les tensions pulse_bell fonctionnent tout au long de la simulation, mais les sons n'apparaissent dans la sortie que lorsque V(bell_r) et V(bell_l) ne sont pas égaux à 0.

Étape 8: rampe exponentielle

Rampe exponentielle
Rampe exponentielle
Rampe exponentielle
Rampe exponentielle

Mise à jour 7/10- scroll to bottomVoici un circuit qui génère une rampe exponentielle appliquée à une paire de sources de bruit. V1 et V2 génèrent des rampes linéaires qui commencent à 0 et montent jusqu'à X volts (canal gauche) et Y volts (canal droit) dans les périodes prd_l et prd_r. B1 et B3 utilisent une formule pour convertir les rampes linéaires en rampes exponentielles avec des amplitudes maximales de 1V. B2 et B4 génèrent un bruit aléatoire dont l'amplitude est modulée par les rampes exponentielles et par les paramètres amp_l et amp_r (commandes de niveau simples). J'ai joint un fichier mp3 généré par ce circuit pour que vous puissiez entendre à quoi cela ressemble. Vous devrez probablement renommer le fichier pour le faire jouer. X et Y définissent les limites de tension des rampes linéaires. Finalement, les rampes des deux canaux sont mises à l'échelle à 1 V, mais en réglant X et Y, vous pouvez contrôler la pente de la rampe exponentielle. Un petit nombre comme 1 donne une rampe presque linéaire, et un grand nombre comme 10 donne une rampe exponentielle très raide. Les périodes de rampe sont définies à l'aide des paramètres prd_l et prd_r. Le temps de montée de la rampe linéaire est défini sur la valeur prd_l ou prd_r moins 5 ms, et le temps de descente est défini sur 5 ms. Le temps de chute assez long empêche de cliquer à la fin de chaque rampe lorsque l'amplitude retombe à zéro. out_l et out_r sont les produits des tensions de bruit aléatoire basées sur le temps, des tensions de rampe exponentielles et des paramètres amp_l et amp_r. Notez que la valeur de bruit aléatoire du canal droit utilise une "graine" différente de celle du canal gauche. Cela maintient le bruit dans chaque canal aléatoire et différent du canal opposé. Si vous utilisez la même graine, à la même valeur temporelle, vous obtiendrez la même valeur aléatoire et le son se retrouvera au centre au lieu d'être perçu comme deux sources différentes, une dans chaque canal. Cela pourrait être un effet intéressant avec lequel jouer… Mise à jour: notez que la forme d'onde passe de 0V à une valeur positive. Il est préférable que la tension oscille entre des valeurs positives et négatives égales. J'ai retravaillé le schéma pour faire exactement cela, mais cela a augmenté un peu la complexité de l'équation qui définit la forme d'onde. Téléchargez exponential_ramp_noise.asc (rappelez-vous que le serveur Instructables changera le nom et l'extension lorsque vous l'enregistrerez).

Étape 9: rampe exponentielle appliquée à une onde sinusoïdale

Rampe exponentielle appliquée à une onde sinusoïdale
Rampe exponentielle appliquée à une onde sinusoïdale

Cette page montre comment utiliser la rampe exponentielle de l'étape précédente pour moduler une source sinus (en fait, sinus et cosinus). La source de tension comportementale est utilisée pour transformer une rampe linéaire en une rampe exponentielle qui pilote l'entrée FM sur un composant modulate2. L'amplitude est modulée à la fois par une rampe exponentielle rapide et une onde sinusoïdale lente. Écoutez l'exemple de fichier, cela semble assez étrange.

Étape 10: Suggestions

1) Vous pouvez faire varier la durée totale de la simulation - maintenez-la courte pendant que vous jouez avec des composants et lorsque vous obtenez le son que vous aimez, puis réglez le simulateur pour qu'il fonctionne pendant 30 minutes (1800 secondes) ou aussi longtemps que vous le souhaitez. Vous pouvez copier des circuits d'une page à une autre et vous pouvez créer des sous-circuits afin de pouvoir simplement connecter de petits modules de circuits ensemble, comme si vous utilisiez une carte de brassage sur un vrai synthétiseur.2) La fréquence d'échantillonnage d'un CD est de 44,1 ksps. Si vous maintenez le pas de temps maximum à 20 us, vous obtiendrez une sortie "propre" car le simulateur aura des données disponibles pour chaque nouvel échantillon. Si vous utilisez un pas de temps plus petit, la simulation sera lente et n'aura probablement aucun effet sur le son. Si vous utilisez un pas de temps plus long, vous entendrez peut-être des alias que vous aimerez ou non.3) utilisez l'instruction.save dialogbox sur votre schéma et lorsque vous exécutez la simulation et sélectionnez une seule des tensions ou des courants pour conserver le taille du fichier.raw petite. Si vous ne faites pas de sélection, TOUTES les tensions et courants seront enregistrés et le fichier.raw deviendra TRÈS volumineux.4) essayez d'utiliser des fréquences très basses pour moduler des fréquences plus élevées5) essayez d'utiliser des fréquences plus élevées pour moduler des fréquences plus basses.6) combiner les sorties de certaines sources basse fréquence avec certaines sources haute fréquence pour rendre les choses intéressantes.7) utiliser une source de tension pulsée pour moduler un sinus ou une autre source pour fournir le rythme.8) utiliser des circuits analogiques pour façonner les impulsions de tension en quelque chose que vous voulez.9) utilisez des expressions mathématiques pour définir la sortie d'une source de tension comportementaleAmusez-vous !

Conseillé: