Table des matières:
- Étape 1: Configuration de Soundflower avec Max et votre DAW
- Étape 2: Décidez de votre chemin de traitement du signal
- Étape 3: Ajout d'un mélange sec
- Étape 4: Changement de hauteur avec un Pitchshifter
- Étape 5: DISTORSION
- Étape 6: La puissance du drone
- Étape 7: Entrer dans le Bizarre: Modulation en anneau
- Étape 8: Retard et dégradation du signal… Degrad… Deg… D…
- Étape 9: Réverbération de style Belton Brick
- Étape 10: Trémolo stéréo aléatoire
- Étape 11: Oscilloscopie
- Étape 12: Présentation du module de traitement du signal
- Étape 13: Section 2: le générateur d'accords
- Étape 14: Obtenir des notes pour alimenter l'arpégiateur
- Étape 15: Arpéger ces accords
- Étape 16: Le « jeu de clés »
- Étape 17: Réaliser la magie avec la génération de notes autonome
- Étape 18: Touches finales
- Étape 19: Envelopper le tout
Vidéo: Générateur de boucle ambiante Max MSP : 19 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ceci est un tutoriel sur la façon de commencer à créer un générateur de boucle ambiante dans Max MSP.
Ce didacticiel s'attend à ce que vous ayez une compréhension de base de Max MSP, des interfaces DAW et du traitement du signal. Si vous souhaitez utiliser le programme conçu dans ce didacticiel, n'hésitez pas à le télécharger, gratuit à utiliser (mais pas à vendre ou à republier) !
Le programme que nous allons concevoir comporte DEUX parties principales:
1) Un processeur multi-signaux
2) Un générateur de notes semi-aléatoires
Le générateur de notes fonctionne lentement le long d'une clé/échelle dans des motifs semi-aléatoires, alimentant les données MIDI dans une DAW, qui à son tour renvoie l'audio dans Max pour être traité.
Voici un lien vers le fichier de correctif final:
Fournitures:
- Connaissances de base Max MSP et MIDI
- MSP max.
- Interface audio (nous utilisons Logic Pro X)
- Fleur de son
- (Facultatif) Quelques bons plugins d'instruments logiciels pour votre DAW
Étape 1: Configuration de Soundflower avec Max et votre DAW
Soundflower est un programme qui permet d'envoyer de l'audio entre les programmes sur Mac. Nous l'utiliserons pour transférer l'audio de notre DAW dans Max.
L'utilisation de Soundflower avec votre DAW ne pourrait pas être plus simple ! Téléchargez simplement Soundflower, et il deviendra disponible pour être utilisé comme sortie et entrée audio. Si nous créons des objets adc~ (entrée audio) et dac~ (sortie audio), nous pouvons voir que Soundflower 2ch et Soundflower 64ch deviennent des chemins audio utilisables. Nous utiliserons Soundflower 2ch (2 canaux) pour ce programme.
Dans Max, ajoutez une bascule pour activer et désactiver votre entrée, et un curseur de gain pour le volume, et vous serez sur la bonne voie.
Dans votre DAW, sous Préférences > audio, vous verrez l'entrée audio et la sortie audio. Nous utiliserons Soundflower 2ch comme sortie audio.
Étape 2: Décidez de votre chemin de traitement du signal
En termes simples, votre audio sera-t-il déformé dans un tas de canaux différents, ou tous en une seule ligne ?
Nous avons décidé d'utiliser un traitement audio parallèle - notre signal sera déformé sur plusieurs canaux différents. Cela nous donne l'avantage d'un son global plus clair et de plus de contrôle pour notre signal, mais pousse beaucoup de volume dans le gain principal, ce qui entraîne un certain écrêtage. Nous avons décidé que plus de contrôle valait un peu de distorsion audio, car cela créera de toute façon des boucles ambiantes !
De plus, vous devrez décider quels effets vous souhaitez créer. Nous allons montrer quelques types d'effets ici si vous voulez des idées.
Étape 3: Ajout d'un mélange sec
Nous avons d'abord ajouté un "mélange sec" afin d'avoir un signal audio séparé et non affecté. Cela a été fait en exécutant la sortie adc~ dans un curseur de gain (avec un cadran pour le rendre facile à voir), dans un filtre svf~ avec un cadran pour ajuster le filtrage passe-bas, puis dans le gain principal et vers le dac~. Avoir un mix sec peut être assez pratique, nous le suggérons donc si vous voulez que les choses sonnent assez clairement et faciles à tester !
Nous avons peut-être un peu attiré votre attention là-bas - nous allons exécuter tous nos effets dans des filtres svf~ séparés pour avoir des cadrans de tonalité pour chaque canal de signal. Cela facilite le nettoyage de l'espace audio lorsqu'un effet particulier est trop haute fréquence. Nous avons fabriqué tous nos filtres passe-bas svf~ (en les branchant sur la sortie passe-bas), de sorte qu'ils coupent progressivement les hautes fréquences en baissant la molette. Cependant, svf~ a également un passe-bande (fréquence sélective), un passe-haut (suppression des basses) et d'autres filtres utiles. Expérimentez pour voir ce que vous aimez et ce dont vous avez besoin, ou même utilisez plusieurs filtres !
Étape 4: Changement de hauteur avec un Pitchshifter
Pour un pitchshifter simple et facile à utiliser, copiez le code du pitchshifter à partir du guide d'aide du pitchshifter dans Max. Notre code est très similaire, mais supprime des fonctionnalités telles que le glissement et plusieurs paramètres de qualité audio pour réduire l'encombrement. Exécuter votre audio dans celui-ci (à partir de adc~ pour le son parallèle ou à partir du mixage sec pour le son en série) vous permet d'utiliser une molette pour ajuster le niveau de changement de hauteur.
Comme pour le mix sec, nous avons ajouté un curseur de gain et un objet svf~ pour permettre le contrôle du volume et la mise en forme de l'égaliseur.
Étape 5: DISTORSION
L'utilisation de l'objet overdrive~ est le moyen le plus simple d'ajouter de la distorsion. Vous pouvez exécuter cela dans un curseur de gain et un filtre et l'appeler un jour. Cependant, nous sommes allés plus loin. Tout d'abord, nous avons exécuté les chemins audio gauche et droit dans des objets de déphasage~ séparés - ceux-ci placent les chemins audio gauche et droit hors de phase, "épaississant" l'audio comme le ferait une pédale de chorus.
De plus, nous avons envoyé l'audio résultant dans un objet cascade~ avec un filtre graphique attaché. Cela vous permet de déformer l'audio plus ou moins dans certaines fréquences et avec autant de bandes de filtres que vous le souhaitez. Notre filtergraph de distorsion a été modelé d'après la distorsion d'une pédale Boss HM-2 Heavy Metal des années 1980.
À ce stade, nous avons également commencé à ajouter des objets omx.peaklim~ après des effets particulièrement bruyants - cet objet limite le signal audio qui le traverse comme le ferait un compresseur, ce qui permet d'éviter plus facilement l'écrêtage du chemin audio final.
Étape 6: La puissance du drone
Nous avons également jugé nécessaire d'ajouter une fréquence de "bourdonnement" à notre patch. Bien que cela aurait pu être accompli avec un objet cycle pour créer un simple oscillateur, cela n'aurait pas été très adaptatif aux changements de volume ou de fréquence dans l'audio d'origine. Par conséquent, nous avons utilisé un filtre svf~ pour créer un chemin audio ultra résonnant. En exécutant l'audio dans un filtre svf~ et en réglant la résonance sur 1, nous créons une fréquence de bourdonnement qui se déplace vers l'intérieur et l'extérieur comme le fait notre chemin audio, et peut ensuite être ajustée pour le volume, la tonalité et la fréquence. Ajuster le cadran attaché ajustera la fréquence de bourdonnement.
Étape 7: Entrer dans le Bizarre: Modulation en anneau
Maintenant, nous passons à autre chose en ajoutant la modulation en anneau ! Cet effet amusant et cool est extrêmement simple à réaliser et très mal compris car il sonne… un peu funky. Ceci est accompli en attachant un cadran à un objet *~ dans l'entrée droite et dans l'entrée gauche en attachant notre cadran. Nous sommes allés un peu plus loin - lorsque notre modulateur en anneau est complètement abaissé, une porte ferme son signal numérique, et donc le signal de modulation en anneau est totalement coupé. De plus, il peut également être basculé pour sortir vers un autre * objet qui réduit la fréquence d'une quantité spécifiée. De cette façon, nous pouvons avoir une modulation en anneau "fine", de type trémolo, et une modulation en anneau plus rapide et plus étrange. Comme les autres effets, cela a été exécuté dans un curseur de gain et un filtre svf~.
Étape 8: Retard et dégradation du signal… Degrad… Deg… D…
Ici, nous créons un délai avec contrôle du temps, un cadran de rétroaction, un cadran de tonalité et une dégradation de l'échantillon. Cela nous permet d'imiter un délai analogique en rendant progressivement le signal plus silencieux et plus déformé. Pour ce faire, nous utilisons des objets connectés tapin~ et tapout~. Nous écrivons 5000 après tapin~ pour nous assurer qu'il dispose de 5000 ms de temps de mémoire. L'ajout d'un objet degrade~ permet de détruire progressivement le signal. Ensuite, nous exécutons l'audio de adc~ à notre objet degrade~, dans tapin~, dans tapout~, et simultanément de nouveau dans degrade~ de a *~ et hors de *~ jusqu'à notre contrôle de gain. Faire cela nous permet d'attacher une molette pour régler le volume du retard qui revient en lui-même et d'avoir un signal retardé provenant de l'objet *~ vers nos sorties. De plus, placer l'objet degradation avant tapin~ nous permet d'ajouter de plus en plus de réduction d'échantillon à mesure que le signal est retardé. Consultez notre image et notre code pour une vue claire de la façon dont tout cela a été fait.
Étape 9: Réverbération de style Belton Brick
Une reverb en brique Belton fait référence à une réverbération équipée d'une puce Accu-Bell BTDR Digi-log conçue par Brian Neunaber de Neunaber Effects. Cette puce permet de simples réverbérations à ressort utilisant des lignes à retard en cascade. Pour émuler cela, nous avons codé un autre délai, avec un cadran pour ajuster le temps et la rétroaction. Le temps ne franchira jamais les 100 ms et le retour est plafonné à 80 %. Ce simple delay donne un son de réverbération à ressort facile ! Dans un contrôle de gain et de tonalité une fois de plus.
Étape 10: Trémolo stéréo aléatoire
Notre effet de signal final ! Ici, nous avons créé le même code que celui utilisé auparavant pour le modulateur en anneau, avec quelques rebondissements: la profondeur du trémolo est aléatoire et il y a un trémolo pour les canaux gauche et droit. De plus, nous avons installé cet appareil en série, de sorte que tous les effets viennent maintenant avant lui, de sorte que chaque signal est affecté par les trémolos.
Pour ce faire, nous imitons le code du ring mod d'avant, avec quelques modifications: le signal passe maintenant par deux portes qui s'ouvrent lorsque l'autre est fermée. Cela permet au signal d'être affecté ou non affecté, plutôt qu'affecté ou désactivé uniquement. Cela a été fait avec l'objet !-. Notre cadran tombe sur un objet rand~, puis *~ et un +~, et jusqu'à un autre *~ dans l'entrée droite et l'audio dans la gauche. Ici, nous avons un trémolo aléatoire qui s'allume lorsque le cadran est en haut et en bas lorsqu'il est éteint !
Cela ne nécessite pas de contrôle de gain ou de tonalité, il va donc directement à l'objet dac~.
Étape 11: Oscilloscopie
Enfin, nous ajoutons un objet scope~ connecté à la sortie audio du contrôle de gain principal. Nous avons également ajouté une molette pour régler sa sensibilité !
Étape 12: Présentation du module de traitement du signal
Nous terminons cette section en donnant à notre code un peu de flair dans le mode de présentation. Ajoutez simplement des cadrans individuels et des zones de commentaires au mode de présentation, et vous serez prêt à partir ! Nous avons donné au nôtre une touche supplémentaire avec des boîtes colorées et diverses décisions de police et de conception artistique. De plus, la conception était basée sur des conceptions de pédales de guitare: des cadrans dans des rangées et des sections étiquetées pour rendre le chemin du signal simple à comprendre. Amusez-vous avec cette partie!
Étape 13: Section 2: le générateur d'accords
Nous avons maintenant un processeur de signal entièrement fonctionnel dans Max, nous avons juste besoin de l'audio pour l'alimenter. En utilisant Soundflower, nous pouvons router tout le son émis via le processeur de signal, tant que la source est votre ordinateur !
Cependant, afin de créer nos propres boucles ambiantes, nous devrons créer un autre patch Max. Grâce à la puissance du MIDI, le patch fini servira efficacement de nouveau contrôleur MIDI pour votre DAW, en lui envoyant directement des notes vous permettant d'utiliser n'importe quel instrument de votre choix ou de votre conception ! Contrairement à un contrôleur MIDI externe, avec la puissance de max, nous pouvons créer un contrôleur MIDI qui peut jouer tout seul, vous permettant de le moduler facilement avec le processeur de signal.
Pour une génération de notes unique, nous utiliserons un arpégiateur pour générer des accords, et plus tard nous verrons comment mettre en place un algorithme qui permettra à l'arpégiateur de sauter entre les accords.
Étape 14: Obtenir des notes pour alimenter l'arpégiateur
Avant de pouvoir assembler un arpégiateur, nous devons être en mesure de générer les accords pour qu'il puisse s'enchaîner. En MIDI, chaque note du clavier correspond à un nombre, le do médian étant 60. Heureusement, les nombres sont séquentiels, donc en appliquant un peu de solfège, nous pouvons générer les intervalles corrects qui correspondent aux différentes armures.
Les signatures de clé que vous utilisez dépendent de vous, mais vous pouvez également suivre les 4 signatures de clé que nous avons sélectionnées. Plus tard, nous ajouterons à cette partie du code pour lui permettre de parcourir les armures de façon autonome.
En se référant à la première image, la majeure partie de cette section n'est que le calcul qui correspond aux intervalles de ces clés. En commençant par la case la plus à gauche intitulée '60', c'est la racine. Chaque fois que la racine change, les intervalles changeront en conséquence en fonction de la clé actuelle. Par exemple, si la clé majeure est sélectionnée, les intervalles correspondants sont 4 et 7. Cela passe ensuite par les cases +0, ce qui ajoutera cet intervalle à la racine et vous fournira les 3 notes pour faire un accord majeur, à partir de n'importe quelle racine !
Étape 15: Arpéger ces accords
Reportez-vous à la photo ci-dessus pour le code de l'arpégiateur. L'objet compteur et les boîtes d'objet 0, 1 et 2 attachées vous permettront de contrôler la direction de l'arpégiateur à partir de Up, Down et UpDown.
Comme indiqué ci-dessus, le générateur d'intervalles que nous venons de mettre en place est acheminé vers les boîtes « int », de sorte que, au fur et à mesure que le compteur et les boîtes de sélection s'exécutent, il passera par l'accord de l'autre morceau de code. Cela passe ensuite par les cases « makenote » et « noteout » pour enfin transformer ces numéros MIDI en son !
Prenez note de l'objet 'port "from Max 1"' connecté à la boîte 'noteout', car c'est ce qui vous permet d'envoyer les informations MIDI de Max dans votre DAW.
L'objet 'metro' détermine combien de temps s'écoule entre chaque intervalle en millisecondes. Je l'ai par défaut à 500 ms, et si vous suivez le code joint, en utilisant l'objet curseur, vous pouvez ajuster le nombre de millisecondes entre chaque intervalle
Étape 16: Le « jeu de clés »
La photo ci-dessus est le morceau de code qui permettra au programme de parcourir automatiquement les armures de touches, vous permettant de créer des accords spontanés lorsque vous sélectionnez différentes notes fondamentales.
L'objet 'select' fonctionne de manière très similaire à celui de la section arpégiateur, cependant au lieu d'une séquence spécifique, nous utilisons la case 'urn' pour parcourir les touches de manière aléatoire. Ce qui rend la boîte « urne » différente de « aléatoire », c'est qu'elle ne répétera pas un nombre tant qu'elle n'aura pas parcouru toute la plage, ce qui nous fournit à son tour une répartition uniforme des sauts entre les différentes touches.
Étape 17: Réaliser la magie avec la génération de notes autonome
Ce morceau de code est ce qui amène ce correctif à pouvoir s'exécuter de manière autonome. Si nous nous référons au générateur d'accords depuis le début de cette section, changer la racine remplira automatiquement les intervalles suivants, nous pouvons donc l'utiliser pour générer des progressions d'accords uniques !
L'élément clé ici est le "itable", ou le grand carré avec les petits rectangles bleus à l'intérieur. En attachant ceci au paramètre metro de l'arpégiateur (la case réglée sur 500), nous pouvons contrôler le point exact dans la séquence de l'arpégiateur que l'accord change. Étant donné que l'arpégiateur fonctionne par ensembles de 3, la taille de l'itable est définie sur 12, pour tenir compte de 4 cycles, et la plage est définie sur 2, avec 2 servant de « non » et 1 servant de « oui » pour si ou de ne pas changer l'accord. Avec la séquence dans le code principal, l'arpégiateur passerait à une triade, puis un nouvel accord serait généré et passerait à travers cette triade, et ainsi de suite.
Les cases "aléatoires" déterminent à quelle distance se trouve la nouvelle racine par rapport à l'original, je l'ai actuellement configurée pour qu'elle puisse aller jusqu'à une demi-octave vers le haut ou vers le bas.
Dans l'image complète du code, vu à gauche, la boîte de numéro 67 en bas est attachée à la boîte de numéro de racine du générateur d'accords, donc quel que soit le numéro généré à partir de l'itable et son algorithme attaché ira à l'accord générateur, puis dans l'arpégiateur où il jouera le nouvel accord sélectionné. La case numéro 67 au-dessus de celle-ci qui se trouve dans la case '+0' est attachée à l'objet piano illustré ci-dessus, qui est également attaché à la case numéro racine du générateur d'accords. C'est ainsi que lorsque l'algorithme de ce morceau de code génère un nombre, il est également sélectionné sur le piano afin de déclencher la lecture de cette note.
Dans le code final, cette section apparaît deux fois, la seule différence étant l'itable. Reportez-vous à l'itable joint séparément pour savoir comment faire en sorte qu'un nouvel accord soit généré après que l'arpégiateur ait répété une séquence 4 fois.
Étape 18: Touches finales
Vous devriez maintenant avoir un arpégiateur entièrement fonctionnel ! Cependant, si vous souhaitez ajouter un peu plus de contrôle, le morceau de code illustré ci-dessus vous permettra de contrôler la durée des notes jouées, de sorte que vous puissiez obtenir de longues notes parfaites pour une boucle ambiante lente et bourdonnante.
Un objet « stop » est également joint, ce qui est particulièrement utile lorsque vous exécutez Max via un DAW. Dans le cas où Max commence à avoir des problèmes pour communiquer les données MIDI, vous pouvez l'ignorer et l'arrêter sans fermer complètement Max ou votre DAW.
Étape 19: Envelopper le tout
Le programme est maintenant fonctionnel, il ne reste plus qu'à tout organiser en mode présentation. Il n'y a pas de solution unique à tout cela, cela dépend entièrement de ce que vous voulez pouvoir contrôler à partir d'un niveau de surface.
Ma sélection couvre l'essentiel de tout ce que je souhaite pouvoir moduler facilement, vous pouvez donc y ajouter ou en retirer comme bon vous semble.
Il ne vous reste plus qu'à vous familiariser avec ces deux patchs et à commencer à créer de la musique !
Prendre plaisir!
Conseillé:
Comment modifier un servo pour obtenir un retour en boucle fermée : 7 étapes
Comment modifier un servo pour obtenir un retour en boucle fermée : ► Lorsque vous pilotez un servo avec un microcontrôleur (comme Arduino), vous ne pouvez lui donner que des ordres d'emplacement cible (en signal PPM). Avec cet ordre, le servo se déplacera vers cette cible emplacement. Mais ce n'est pas instantané ! Vous ne savez pas exactement quand le lo
Contrôleur pour 3 antennes à boucle magnétique avec interrupteur de fin de course : 18 étapes (avec photos)
Contrôleur pour 3 antennes à boucle magnétique avec interrupteur de fin de course : ce projet est destiné aux amateurs de jambon qui n'en ont pas dans le commerce. C'est facile à construire avec un fer à souder, un boîtier en plastique et un peu de connaissances en arduino. Le contrôleur est fabriqué avec des composants économiques que vous pouvez trouver facilement sur Internet (~20 €)
La Chaise Longue Interactive Avec Arduino Et Max/MSP. : 5 Étapes
La Chaise Longue Interactive Avec Arduino Et Max/MSP.: L'idée est de créer une chaise longue interactive: un utilisateur qui s'assoit dans le transat déclenche une ambiance sonore et visuelle lui rappelant la mer, la plage… donc un capteur de luminosité (placé sous le transat) reliés à
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Générateur - Générateur CC utilisant un interrupteur à lames : 3 étapes
Générateur - Générateur CC utilisant un commutateur Reed : Générateur CC simple Un générateur à courant continu (CC) est une machine électrique qui convertit l'énergie mécanique en électricité à courant continu.Important : Un générateur à courant continu (CC) peut être utilisé comme moteur à courant continu sans aucune construction changements