Inhoudsopgave:

Sample Pad-controller met pure data: 4 stappen
Sample Pad-controller met pure data: 4 stappen

Video: Sample Pad-controller met pure data: 4 stappen

Video: Sample Pad-controller met pure data: 4 stappen
Video: Making Generative Music | Intro to Pure Data 2024, Juli-
Anonim
Sample Pad-controller met pure data
Sample Pad-controller met pure data

In deze Instructable zal ik een controller maken waarmee sommige oude Roland elektronische drumkit-pads geluiden kunnen triggeren zonder de originele drummodule die bij de kit is geleverd.

Ik zal Pure Data gebruiken om een patch te maken om enkele wav-bestanden te laden en ze vervolgens af te spelen wanneer het invoer ontvangt van een seriële invoer.

De seriële invoer komt van een Arduino, die de pads leest met behulp van de analoge pinnen en de waarden naar de patch stuurt.

Benodigdheden

Arduino Microcontroller (ik heb gekozen voor de Arduino Mega, met zijn 16 analoge pinnen die 16 padingangen mogelijk maken, of 8 stereopads in mijn geval)

Pads voor invoer (ik gebruik enkele oude Roland-pads, maar hetzelfde uitgangspunt kan ook worden toegepast op piëzo-pads)

Een apparaat dat Pure Data kan uitvoeren - dit kan van alles zijn, van een Raspberry Pi tot een pc. Het is een geweldig stukje software dat op Linux, Mac of Windows kan draaien. Ik gebruik een oude Windows 8-tablet.

Stap 1: Waarom pure data?

Ik werk al een aantal jaren aan muziekprojecten en in die tijd heb ik allerlei software en hardware gebruikt om mijn eindproduct te maken. Normaal gesproken zou ik Python gebruiken voor zoiets als dit, maar bij een ander recent project dat ik begon, was het duidelijk dat ik iets meer geschikts nodig had om de verwerking van meerdere audiobestanden aan te kunnen. Ik kwam Pure Data tegen en gebruik het sindsdien voor mijn audioprojecten!

De op objecten gebaseerde stijl en de visuele editor maken het samenstellen van uw audioketen echt snel en eenvoudig, en dankzij de enorme reeks externe bibliotheken kunnen veel functies eenvoudig worden toegevoegd.

Pure Data maakt het eenvoudig om audiobestanden te laden en af te spelen, en ook om seriële commando's te ontvangen en te routeren, dus het gebruik ervan voor dit project was een no-brainer!

Stap 2: Maak uw invoerapparaat

Creëer uw invoerapparaat
Creëer uw invoerapparaat

Deze stap is afhankelijk van het beoogde gebruik, maar de basis blijft hetzelfde.

Sluit uw invoerapparaten aan op de analoge pinnen van uw microcontroller en ook op de voeding; wanneer de pads worden geraakt, stuurt deze een waarde naar de pinnen. De analoge pinnen lezen waarden tussen 0 en 1023; we kunnen deze waarde gebruiken om het volume te bepalen om het geluid af te spelen!

De bijgevoegde afbeelding toont een Arduino Uno en drie TRS-ingangen; de Roland-pads die ik gebruik, hebben een hoofdpad en een rimpad die via een TRS-aansluiting worden verzonden. Om ze met mijn arduino te gebruiken, heb ik ze op een breadboard geplaatst en breadboard-draden gebruikt om de jacks met mijn analoge pinnen te verbinden.

Wanneer u klaar bent, worden de aansluitingen geboord en gemonteerd in een projectbehuizing en rechtstreeks op de Arduino aangesloten.

Upload ten slotte de bijgevoegde code SamplePadController.ino naar uw arduino. Als u meer invoer moet toevoegen, kopieert u gewoon de structuur in het bestand om ze toe te voegen aan de seriële opdrachtregel die naar de patch is verzonden.

Stap 3: Stel het Pure Data Device in

Het Pure Data-apparaat instellen
Het Pure Data-apparaat instellen
Het Pure Data-apparaat instellen
Het Pure Data-apparaat instellen

Download Pure Data van de Pure Data-website voor het door u gekozen systeem en voeg vervolgens de comport extern toe door naar help > externen zoeken te gaan en 'comport' in te voeren. Hierdoor kan uw apparaat communiceren met seriële.

Download de bijgevoegde bestanden, wijzig de twee.txt-bestandsextensies in.pd en open het bestand SamplePad.pd.

Voeg de wav-bestanden toe aan de mediamap - het maakt het gemakkelijk om ze in de patch te adresseren.

Als u ctrl+e gebruikt om de bewerkingsmodus te openen, kunt u de com-poort van 9 wijzigen zodat deze overeenkomt met die van uw Arduino-seriële poort, en ook de namen van de wav-bestanden voor gebruik wijzigen. Als je ze in de mediamap in de map van het project (in afbeelding 2) hebt geplaatst, kun je ernaar verwijzen met./media/filename.wav

De manier waarop patch werkt is heel eenvoudig; het opent, laadt vervolgens de wav-bestanden en opent vervolgens de seriële poort om met de arduino te communiceren. Wanneer de Arduino er een reeks waarden naartoe stuurt, stuurt hij de invoer naar elk van de pads; pad1, pad2 enz. de ontvangen waarde speelt dan het bestand dat dat als het volume gebruikt, zolang de waarde hoger is dan 0. Als de pad niet is geraakt, wordt er geen geluid gespeeld. Eenvoudig!

Stap 4: Verder ontwikkelen

De modulaire manier waarop deze patch is samengesteld maakt het eenvoudig om deze in de toekomst uit te breiden; voeg extra sensoren toe aan je microcontroller, en om hem bruikbaar te maken in de patch, voeg je gewoon de naam van de waarde toe aan de 'route', kopieer het stuk objecten van een van de bestaande ingangen, sluit ze aan op de routing en voila!

Er is zoveel meer dat de Pure Data-omgeving kan doen, en ik smeek jullie allemaal om er eens naar te kijken en het eens te proberen. Je zult een aantal geweldige audioprojecten kunnen maken!

Aanbevolen: