Inhoudsopgave:

Raspberry Pi Stompbox Synth Module - Ajarnpa
Raspberry Pi Stompbox Synth Module - Ajarnpa

Video: Raspberry Pi Stompbox Synth Module - Ajarnpa

Video: Raspberry Pi Stompbox Synth Module - Ajarnpa
Video: The SquishBox: a Raspberry Pi Synthesizer 2024, Juli-
Anonim
Raspberry Pi Stompbox Synth-module
Raspberry Pi Stompbox Synth-module
Raspberry Pi Stompbox Synth-module
Raspberry Pi Stompbox Synth-module

Het doel van dit project is om een op Fluidsynth gebaseerde geluidsmodule in een stompbox te plaatsen. De technisch klinkende term "geluidsmodule" betekent in dit geval een apparaat dat MIDI-berichten opneemt (d.w.z. nootwaarde, volume, toonhoogteverbuiging, enz.) en echte muzikale geluiden synthetiseert. Combineer dit met een MIDI-controller - die legio, goedkoop en vaak erg cool zijn (zoals keytars!) - en je hebt een synthesizer die je eindeloos kunt modificeren en tweaken, en ontwerpen op een manier die bij je speelstijl past.

Een breed overzicht van dit project is dat we een kleine linux-computer met één bord nemen (in dit geval een Raspberry Pi 3), een karakter-LCD, een paar drukknoppen en een USB-geluidskaart bevestigen (aangezien het ingebouwde geluid van de Pi niet erg goed is)), en prop alles in een Hammond 1590bb-stompbox (zoals die gebruikt worden voor gitaareffecten) met enkele externe aansluitingen voor USB MIDI, stroom en audio-uitgangen. Vervolgens configureren we de interne software om bij het opstarten een programma uit te voeren dat FluidSynth draait (een uitstekende, gratis softwaresynthesizer voor meerdere platforms), het LCD-scherm bestuurt en ons patches en instellingen laat wijzigen met behulp van de drukknoppen.

Ik zal niet ingaan op de kleinste stapsgewijze details over deze build (er zijn tal van hey-ik-made-a-cool-framboos-pi-case tutorials die er zijn), maar zal in plaats daarvan proberen te focussen op waarom ik verschillende keuzes in de constructie en het ontwerp als ik ging. Op deze manier kunt u hopelijk wijzigingen aanbrengen die passen bij uw eigen doeleinden zonder vast te zitten aan dingen die later niet blijken te werken.

UPDATE (mei 2020): Hoewel deze instructable nog steeds een geweldige plek is om te beginnen voor een project als dit, heb ik veel verbeteringen aangebracht aan zowel de hardware- als de softwarekant. De nieuwste software is FluidPatcher, beschikbaar op GitHub - bekijk de wiki voor veel details over het instellen van de Raspberry Pi. Bekijk mijn site Geek Funk Labs voor continu nieuws en updates over de SquishBox!

Benodigdheden

Dit is een korte lijst van (en uitleg voor) de meer cruciale componenten:

  • Raspberry Pi 3-computer - Elke linux-computer met één bord zou kunnen werken, maar de Pi 3 heeft genoeg verwerkingskracht om Fluidsynth zonder enige latentie te laten werken, en genoeg geheugen om grote soundfonts te laden. Het nadeel is dat het een slecht geluid aan boord heeft, dus je hebt een USB-geluidskaart nodig. De CHIP is een alternatief dat ik aan het onderzoeken ben (kleinere footprint, beter geluid, maar minder geheugen/processor)
  • Hammond 1590BB behuizing - Ik raad aan om er een te kopen die pre-gepoedercoat is als je kleur wilt, tenzij het schilderen van stompboxen iets is wat je leuk vindt. Ik heb veel prikborden doorzocht, maar ik denk dat ik niet het geduld of het juiste type verf heb, want na twee pogingen zijn mijn resultaten behoorlijk matig.
  • USB-geluidskaart - U kunt een geschikte van deze vrij goedkoop vinden. Volgens deze mooie Adafruit-tutorial (een van de vele), moet je het bij een houden die de CM109-chipset gebruikt voor maximale compatibiliteit.
  • Character LCD - er zijn veel verschillende plaatsen om ze te krijgen, maar de pinouts lijken vrij standaard te zijn. Zorg ervoor dat je achtergrondverlichting hebt, zodat je je presets kunt zien wanneer je in de rokerige clubs speelt.
  • Momentaire stompschakelaars (2) - Een beetje moeilijker te verkrijgen, maar ik kreeg een tijdelijke in plaats van een schakelaar, zodat ik meer veelzijdigheid kon hebben. Ik kan toggle in software simuleren als ik dat gedrag wil, maar op deze manier kan ik ook verschillende functies hebben voor kort tikken, lang drukken, enz.
  • Adafruit Perma-Proto Hat voor Pi - Dit hielp me om het LCD-scherm en andere componenten aan te sluiten op de uitbreidingspoort van de Pi zonder veel extra ruimte in beslag te nemen. Als ik had geprobeerd een gewoon perfboard te gebruiken, zou het over de zijkanten van de Pi moeten uitsteken om verbinding te maken met alle benodigde GPIO-pinnen. De dubbelzijdige beplating en bijpassende montagegaten waren ook erg handig. In het licht van dit alles was het echt de goedkoopste optie.
  • USB-connectoren - 1 B-type vrouwelijk voor stroom, en twee van elk A-type mannelijk en vrouwelijk om dunne, flexibele verlengkabels te maken voor interne verbindingen.
  • 1/4" audio-aansluitingen - Ik heb een stereo en een mono gebruikt. Op die manier kan de stereo een hoofdtelefoon/mono-aansluiting zijn, of gewoon het linkersignaal voeren als de andere aansluiting is aangesloten.

Stap 1: Interne elektronica

Interne elektronica
Interne elektronica
Interne elektronica
Interne elektronica
Interne elektronica
Interne elektronica

We zullen het LCD-scherm en de bijbehorende componenten en de drukknoppen verbinden met de Pi Hat. We zullen ook een USB-B- en USB-A-aansluiting toevoegen om respectievelijk stroom en een MIDI-apparaat aan te sluiten. We brengen de USB-A-poort over omdat we een van de USB-poorten van de Pi moeten gebruiken om de geluidskaart aan te sluiten, die we in de behuizing willen hebben, dus we kunnen de USB-poorten niet gelijk met de zijkant van de doos hebben. Ik gebruikte een USB-B-poort voor stroom omdat ik het gevoel had dat het meer straf zou kunnen hebben dan de micro-USB-voedingsconnector van de Pi, en ik kon geen goede oriëntatie vinden waar de connector toch naast de rand van de doos zou kunnen zijn.

U moet een mes gebruiken om de sporen tussen de gaten te snijden waar u de pinnen voor de USB-aansluitingen gaat solderen. Pas op dat u geen van de interne sporen in het bord knipt die de andere pinnen verbinden - of als u dit per ongeluk doet (zoals ik), sluit u ze opnieuw aan met behulp van een jumperdraad. De Vcc- en GND-pinnen van de USB-B-aansluiting gaan respectievelijk naar 5V en GND op de uitbreidingspoort van de Pi. Op deze manier kun je je stompbox van stroom voorzien met een telefoonoplader (ervan uitgaande dat deze voldoende stroomsterkte heeft - 700 mA lijkt voor mij te werken, maar misschien wil je meer om er zeker van te zijn dat de USB-poort voldoende stroom heeft om je controller van stroom te voorzien) en een USB A-B-kabel.

Ik vind dat stukken lintkabel heel goed werken om dingen met veel pinnen te verbinden zonder al te veel draadspaghetti. Ik deed dit in plaats van mannelijke headers in het LCD-scherm te solderen en het vervolgens in de hoed te solderen, omdat ik het gevoel had dat ik wat vrijheid nodig had om het LCD-scherm te positioneren, zodat ik het mooi gecentreerd kon krijgen. Het LCD-scherm moet worden geleverd met een potentiometer die u gebruikt om het contrast aan te passen - zorg ervoor dat u dit op een plek plaatst waar het niet door het LCD-scherm wordt bedekt, zodat u een gat in de doos kunt maken om het te bereiken en het contrast eenmaal aan te passen alles is gemonteerd.

Raadpleeg het schema voor details over wat waar wordt aangesloten. Merk op dat de drukknoppen zijn aangesloten op 3.3V - niet op 5V! De GPIO-pinnen zijn alleen geschikt voor 3,3 V - 5 V zal uw CPU beschadigen. De USB-A-aansluiting wordt aangesloten op een andere strook lintkabel, die u vervolgens kunt solderen op een USB-stekker die u op een van de USB-poorten van de Pi voor uw MIDI-controller aansluit. Snijd eventueel extra metaal van de plug zodat het minder uitsteekt, en gebruik hete lijm voor trekontlasting - het hoeft niet mooi te zijn omdat het in de doos verborgen zal zijn.

Stap 2: Bedrading audio-uitgang

Bedrading audio-uitgang
Bedrading audio-uitgang
Bedrading audio-uitgang
Bedrading audio-uitgang
Bedrading audio-uitgang
Bedrading audio-uitgang

Het maakt niet uit hoe klein een USB-geluidskaart je vindt, hij of zijn stekker zal waarschijnlijk te ver uit de USB-poorten van de Pi steken om alles in de doos te laten passen. Dus soldeer nog een korte USB-connector uit een lintkabel, USB-stekkers en hete lijm zoals weergegeven in de bovenstaande afbeelding. Mijn geluidskaart was nog steeds een beetje te dik om met al het andere in de behuizing te passen, dus ik deed het plastic eraf en wikkelde het in wat ducttape om te voorkomen dat het tegen dingen zou kortsluiten.

Om audio van de geluidskaart naar uw 1/4"-aansluitingen te krijgen, knipt u het uiteinde van een 3,5 mm koptelefoon- of AUX-kabel. Zorg ervoor dat deze 3 connectoren heeft - tip, ring en sleeve (TRS), in plaats van 2 of 4 De huls moet worden geslepen, de punt is meestal het rechterkanaal en de ring (de middelste connector) is meestal links. U kunt de punt en de ring gewoon aansluiten op twee mono (TS - tip, huls) 1/4"-aansluitingen en klaar mee, maar je kunt wat meer veelzijdigheid krijgen met een klein beetje extra bedrading. Zoek een TS-aansluiting met een derde kortstondig contact, zoals schematisch weergegeven in het bovenstaande diagram. Bij het insteken van een stekker wordt dit contact verbroken, dus zoals je hopelijk kunt zien aan de hand van het schema, gaat het linkersignaal naar de TS-bus als er een stekker in zit, en naar de ring van de TRS-bus als er geen stekker in zit. Op deze manier kunt u een hoofdtelefoon aansluiten op de stereo-aansluiting, een enkele monokabel in de stereo-aansluiting voor een gecombineerd rechts/links (mono) signaal, of een kabel in elke aansluiting voor afzonderlijke rechter en linker (stereo) uitgangen.

Ik heb de aardpennen van de jacks aangesloten op die van de kabel die van de geluidskaart komt, zodat alles in de doos dezelfde aarde deelt en ik het vervelende gezoem van aardlussen vermijd. Afhankelijk van waar je op bent aangesloten, kan dit echter het tegenovergestelde effect hebben - dus misschien wil je een schakelaar toevoegen waarmee je de aarde op de 1/4"-aansluitingen kunt aansluiten of "optillen".

Stap 3: De behuizing voorbereiden

De behuizing voorbereiden
De behuizing voorbereiden
De behuizing voorbereiden
De behuizing voorbereiden
De behuizing voorbereiden
De behuizing voorbereiden

Deze stap behandelt het snijden van gaten in de doos voor het scherm, knoppen, connectoren, enz. En epoxy-afstandhouders in de behuizing om de Pi-hoed te monteren.

Begin met het plaatsen van alle componenten in de behuizing om ervoor te zorgen dat alles past en op de juiste manier is georiënteerd. Meet vervolgens zorgvuldig en markeer waar u gaten gaat maken. Bij het snijden van ronde gaten, raad ik aan om met een klein beetje te beginnen en tot de maat te werken die je nodig hebt - het is gemakkelijker om het gat te centreren en minder waarschijnlijk dat je boor vastloopt. Rechthoekige gaten kunnen worden gesneden door een gat in tegenovergestelde hoeken van de beoogde opening te boren en vervolgens met een decoupeerzaag naar de andere twee hoeken te snijden. Deze dikte van aluminium snijdt eigenlijk prima met een decoupeerzaag, zolang je voorzichtig gaat. Een vierkant bestand is erg handig voor het afkanten van hoeken van openingen. Maak de openingen voor de USB-stekkers een beetje royaal voor het geval je dikke kabels hebt.

Een tweetraps epoxy (zoals de Gorilla Glue op de afbeelding) werkt goed om de afstandhouders voor de hoed aan de metalen behuizing te bevestigen. Kras het oppervlak van de behuizing en de onderkant van de afstandhouders een beetje op met staalwol of een schroevendraaier zodat de epoxy een betere grip krijgt. Ik raad aan om je afstandhouders aan de Pi-hoed te bevestigen voordat je ze vastlijmt, zodat je weet dat ze correct zijn geplaatst - er is hier niet veel bewegingsruimte. Ik heb maar drie afstandhouders gebruikt omdat mijn LCD de vierde in de weg stond. Meng de twee componenten van de epoxy, plak wat op de afstandhouders en klem ze op hun plaats. Vermijd wiebelen of herpositioneren van de onderdelen na meer dan 10-15 seconden, anders wordt de verbinding broos. Geef het 24 uur om in te stellen, zodat u kunt blijven werken. Het duurt een paar dagen voordat het volledig is uitgehard, dus benadruk de hechting niet onnodig.

Tenzij je nog een hobby wilt maken van het schilderen van stompboxen, raad ik aan om het aluminium kaal te laten (eigenlijk geen slechte look) of een voorgeverfde behuizing te kopen. Verf wil niet hechten aan metaal. Als je het wilt proberen, schuur dan overal waar je wilt dat de verf blijft plakken, gebruik eerst een goede autobodyprimer spuitverf, breng meerdere lagen van de gewenste kleur aan en laat het dan zo lang mogelijk drogen. Serieus - de maniakken op de prikborden suggereren dingen zoals het drie maanden in de volle zon laten staan, of een week in een broodroosteroven die op laag staat. Na het afschuren van de gekreukte, afbladderende resten van mijn eerste verfbeurt, krijg ik bij mijn tweede poging nog steeds chips en gutsen van dingen als pennen in mijn gigbag, en de afwerking kan worden gedeukt met een vingernagel. Ik besloot toe te geven en ging voor punkstijl, met behulp van white-out marker voor de belettering.

Stap 4: Software-installatie

Software-installatie
Software-installatie
Software-installatie
Software-installatie

Voordat je alles in de stompbox propt en vastschroeft, moet je software op de Raspberry Pi instellen. Ik raad aan om te beginnen met een nieuwe installatie van het Raspbian-besturingssysteem, dus haal een recente kopie van de Raspberry Pi Foundation-site en volg de instructies daar om het op een SD-kaart te zetten. Pak een toetsenbord en scherm of gebruik een consolekabel om voor de eerste keer in te loggen op je Pi en ga naar een opdrachtregel. Om er zeker van te zijn dat u over de meest recente software- en firmware-updates beschikt, voert u

sudo apt-get update && sudo apt-get upgrade

sudo rpi-update

Vervolgens wil je er zeker van zijn dat je wifi kunt gebruiken om naar de Pi te ssh-en en wijzigingen aan te brengen zodra deze in de behuizing is dichtgeknoopt. Zet eerst de ssh-server aan door te typen

sudo raspi-config

en ga naar "Interfacing-opties" en schakel de ssh-server in. Voeg nu een draadloos netwerk toe aan de pi door het bestand wpa_supplicant.conf te bewerken:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

en voeg aan het einde de volgende regels toe:

netwerk={

ssid="uw-netwerk" psk="uw-wachtwoord" }

Vervang uw netwerk en uw wachtwoord hierboven door waarden voor het netwerk waarmee u de Pi standaard wilt verbinden - hoogstwaarschijnlijk uw wifi-router thuis, of misschien de hotspot op uw telefoon of een laptop die in de toegangspuntmodus draait. Een ander alternatief om verbinding te maken met je Pi is om hem in te stellen als wifi-toegangspunt, zodat je er gewoon verbinding mee kunt maken, waar je ook bent. Met de interface die ik hieronder heb geschreven, kun je ook een ander bluetooth-apparaat met de Pi koppelen, waarna je er verbinding mee kunt maken via serial-over-bluetooth.

Om FluidSynth te installeren, typt u

sudo apt-get install fluidsynth

De bestanden die bij deze stap zijn gevoegd, bieden een interface tussen de stompbox-bedieningselementen en FluidSynth en moeten worden gekopieerd naar de map /home/pi. Hier is een korte uitleg van wat elk bestand doet:

  • squishbox.py - Een python-script dat start en communiceert met een instantie van FluidSynth, invoer leest van de stompbox-knoppen en informatie naar het LCD-scherm schrijft
  • config_squishbox.yaml - Een configuratiebestand in het (meestal) door mensen leesbare YAML-formaat dat instellingen en patchinformatie voor het squishbox-programma opslaat
  • fluidsynth.py - Een python-wrapper die bindingen biedt aan de C-functies in de FluidSynth-bibliotheek, met veel extra bindingen die door mij zijn toegevoegd om toegang te krijgen tot meer van de functionaliteit van FluidSynth
  • ModWaves.sf2 - Een heel klein soundfont dat ik heb verstrekt om het gebruik en de kracht van modulatoren in het Soundfont-formaat te demonstreren

Het hebben van een python-script dat het FluidSynth-proces instelt en alle knoppen/LCD-dingen afhandelt, werkt redelijk goed - MIDI-berichten gaan rechtstreeks naar FluidSynth en het script werkt er alleen mee als dat nodig is.

Het python-script heeft een aantal python-bibliotheken nodig die niet standaard zijn geïnstalleerd. Je kunt ze rechtstreeks vanuit de Python Package Index installeren met behulp van de handige pip-tool:

sudo pip install RPLCD pyyaml

Ten slotte wil je dat de Pi het python-script uitvoert bij het opstarten. Om dit mogelijk te maken, bewerkt u het bestand rc.local:

sudo vi /etc/rc.local

Voeg de volgende regel in net voor de laatste regel 'exit 0' in het bestand:

python /home/pi/squishbox.py &

Stap 5: Eindmontage

Eindmontage
Eindmontage
Eindmontage
Eindmontage
Eindmontage
Eindmontage

Voordat je alle stukjes in de doos stopt, is het een heel goed idee om alles aan te sluiten en ervoor te zorgen dat de software werkt, zoals aangetoond in de bovenstaande afbeeldingen. Afbeeldingen 3-6 tonen alle afzonderlijke onderdelen en geleidelijk hoe ze in mijn doos passen. Het LCD-scherm wordt eigenlijk op zijn plaats gehouden door de draden die ertegenaan drukken, maar je kunt wat hete lijm gebruiken of wat meer montageschroeven toevoegen als je dat niet leuk vindt. De oranje ducttape op het deksel van de doos is om te voorkomen dat de Pi kortsluit tegen het metaal.

Mogelijk moet u experimenteren en opnieuw configureren om de dingen passend te krijgen. Snug is goed - hoe minder onderdelen in de doos wiebelen, hoe beter. Warmte lijkt geen probleem te zijn en ik heb geen problemen gehad met het wifi-signaal dat werd geblokkeerd door de behuizing. Niet afgebeeld zijn enkele zelfklevende rubberen voetjes (u kunt ze vinden bij een ijzerhandel) aan de onderkant van de doos om te voorkomen dat deze verschuift tijdens een stampsessie.

Pas op voor onvoorzien stoten/squishing/buigen wanneer dingen aan elkaar worden geschroefd. Een ding om te controleren is dat er voldoende ruimte is voor de 1/4 jacks wanneer kabels worden geplaatst - de punten steken iets verder uit dan de jackcontacten. Ook heb ik in mijn build de Pi iets te dicht bij de rand gemonteerd van de doos en de lip op het deksel drukte op het uiteinde van de SD-kaart en brak hem - ik moest een inkeping in de lip maken zodat dit niet zou gebeuren.

Stap 6: Gebruik

Image
Image
Gebruik
Gebruik
Gebruik
Gebruik

De geluidsmodule die ik in deze stappen heb beschreven en het uitvoeren van de hierboven geleverde software is vrij bruikbaar en uitbreidbaar uit de doos, maar er zijn veel aanpassingen/variaties mogelijk. Ik zal de interface hier kort beschrijven - ik ben van plan om het voortdurend bij te werken in een github-repository, waar ik hopelijk ook een bijgewerkte wiki zal bewaren. Ten slotte zal ik bespreken hoe u de instellingen kunt aanpassen, nieuwe geluiden kunt toevoegen en uw eigen wijzigingen kunt aanbrengen.

Sluit om te beginnen een USB MIDI-controller aan op de USB-A-aansluiting van de doos, een 5V-voeding in de USB-B-aansluiting en sluit een hoofdtelefoon of een versterker aan. Na een tijdje zal het LCD-scherm een "squishbox v xx.x" bericht tonen. Zodra een patchnummer en naam verschijnen, zou u noten moeten kunnen spelen. Door kort op een van beide knoppen te tikken, verandert de patch, door een van beide knoppen een paar seconden ingedrukt te houden, komt u in een instellingenmenu, en als u een van beide knoppen ongeveer vijf seconden ingedrukt houdt, krijgt u de mogelijkheid om het programma opnieuw op te starten, de Pi opnieuw op te starten of de Pi uit te schakelen (NB de Pi onderbreekt de stroomtoevoer naar zijn GPIO-pinnen niet wanneer hij stopt, dus het LCD-scherm zal nooit worden uitgeschakeld. Wacht ongeveer 30 seconden voordat u de stekker uit het stopcontact haalt).

De opties van het instellingenmenu zijn:

  • Update Patch - slaat alle wijzigingen die u heeft aangebracht in de huidige patch op in een bestand
  • Nieuwe patch opslaan - slaat de huidige patch en eventuele wijzigingen op als een nieuwe patch
  • Kies Bank - het configuratiebestand kan meerdere sets patches hebben, hierdoor kunt u ertussen schakelen
  • Set Gain - stel het algehele uitgangsvolume in (fluidsynth's 'gain'-optie), te hoog geeft vervormde output
  • Chorus/Reverb - wijzig de reverb- en chorus-instellingen van de huidige set
  • MIDI Connect - probeer een nieuw MIDI-apparaat aan te sluiten als je het verwisselt terwijl het programma draait
  • Bluetooth-paar - zet de Pi in de ontdekkingsmodus zodat je er een ander bluetooth-apparaat mee kunt koppelen
  • Wifi-status - meld het huidige IP-adres van de Pi zodat je erin kunt ssh-en

Het bestand config_squishbox.yaml bevat informatie die elke patch beschrijft, evenals zaken als MIDI-routing, effectparameters, enz. Het is geschreven in het YAML-formaat, wat een taaloverschrijdende manier is om gegevens weer te geven die computers kunnen ontleden, maar ook menselijk zijn -leesbaar. Het kan behoorlijk ingewikkeld worden, maar hier gebruik ik het gewoon als een manier om een structuur van geneste Python-woordenboeken (associatieve arrays/hashes in andere talen) en sequenties (lijsten/arrays) weer te geven. Ik heb veel opmerkingen in het voorbeeldconfiguratiebestand geplaatst en geprobeerd het zo te structureren dat je geleidelijk kunt zien wat elke functie doet. Kijk en experimenteer als je nieuwsgierig bent, en stel gerust vragen in de comments. U kunt veel doen om de geluiden en functionaliteit van de module te veranderen door dit bestand te bewerken. U kunt op afstand inloggen en een gewijzigd configuratiebestand bewerken of FTP naar de Pi, en vervolgens opnieuw opstarten met behulp van de interface of door te typen

sudo python /home/pi/squishbox.py &

op de opdrachtregel. Het script is geschreven om andere actieve instanties van zichzelf uit te schakelen bij het starten, zodat er geen conflicten zijn. Het script spuugt een paar waarschuwingen uit op de opdrachtregel wanneer het wordt uitgevoerd terwijl het op zoek is naar MIDI-apparaten om verbinding te maken en op verschillende locaties naar uw soundfonts zoekt. Het is niet kapot, dit is gewoon luie programmering van mijn kant - ik zou ze kunnen vangen, maar ik beweer dat ze diagnostisch zijn.

Als je FluidSynth installeert, krijg je ook het redelijk goede gratis FluidR3_GM.sf2 soundfont. De GM staat voor General MIDI, wat betekent dat het "alle" instrumenten bevat, toegewezen aan algemeen overeengekomen preset- en banknummers, zodat MIDI-spelers die bestanden afspelen met dit soundfont ongeveer het juiste geluid voor piano, trompet kunnen vinden., doedelzakken, enz. Als je meer/andere geluiden wilt, kun je veel gratis geluidsfonts vinden op internet. Het belangrijkste is dat de soundfont-specificatie algemeen beschikbaar is, eigenlijk behoorlijk krachtig is, en er is een prachtige open-source editor voor soundfonts genaamd Polyphone. Hiermee kun je je eigen soundfonts bouwen van onbewerkte WAV-bestanden, plus je kunt modulatoren toevoegen aan je 'fonts. Met modulatoren kunt u veel van de elementen van de synthese (bijv. ADSR-envelope, modulatie-envelop, LFO, enz.) in realtime besturen. Het ModWaves.sf2-bestand dat ik hierboven heb toegevoegd, biedt een voorbeeld van het gebruik van modulatoren waarmee u de filterresonantie en afsnijfrequentie kunt toewijzen aan een MIDI-bericht voor besturingswijziging (dat kan worden verzonden met een knop/schuifregelaar op uw controller). Er is hier zoveel potentieel - ga spelen!

Ik hoop dat deze tutorial veel ideeën opwekt en anderen een goed raamwerk geeft om hun eigen unieke synth-creaties te bouwen, en de voortdurende beschikbaarheid en ontwikkeling van goede soundfonts, de soundfont-specificatie en geweldige gratis software zoals FluidSynth en Polyphone ondersteunt.. De build die ik hier heb geschetst, is niet de beste of de enige manier om zoiets samen te stellen. Aan de hardwarekant kunnen mogelijke aanpassingen een grotere doos zijn met meer knoppen, legacy (5-pins) MIDI-ingang/uitgang en/of audio-ingangen. Het python-script kan worden aangepast (excuses voor mijn schaarse commentaar) om ander gedrag te bieden dat misschien beter bij je past - ik denk erover om een "effecten" -modus toe te voegen aan elke patch, waar het zal werken als een echte effecten-stompbox, waarbij de instellingen worden omgeschakeld en uit. Men zou ook wat extra software kunnen toevoegen om digitale audio-effecten te bieden. Ik denk ook dat het beter zou werken om de Pi in wifi AP-modus te laten werken zoals hierboven beschreven, en dan zou het zelfs een gebruiksvriendelijke webinterface kunnen bieden voor het bewerken van het configuratiebestand. Aarzel niet om uw eigen ideeën/vragen/discussie in de commentaarfeed te plaatsen.

Ik wil enorme, mega-rekwisieten geven aan de makers van FluidSynth en Polyphone voor het leveren van gratis, open-source software die we allemaal kunnen gebruiken om geweldige muziek te maken. Ik gebruik dit ding graag en jij hebt het mogelijk gemaakt!

Aanbevolen: