Veel mensen krijgen in DJ deze dagen, of als een middel voor zelfexpressie of een manier om extra geld te verdienen. Ik geniet van DJing want het biedt een interessanter, betrokken en interactieve muziek-luisteren ervaring, of in het gezelschap van vrienden of terwijl het in privé.
Hardware DJ Controllers zijn traditioneel de volgende stap na het krijgen van iemands voeten nat met behulp van een software gebaseerde DJ-Controller. En ze zijn ook traditioneel duur. Ik ben alleen een hobbyist DJ en niet echt willen besteden een hoop geld op mijn eerste DJ-Controller. Ze zijn daar voor ongeveer $100 USD, maar ik ben ook in DIY! Ik heb een passie voor zowel muziek als elektronica en wilde een manier om te verenigen naar de tweetal, dus heb ik besloten om te bouwen van een aangepaste DJ-controller met lage kosten en snelle constructie in gedachten.
De DJ-Controller die ik in dit Instructable construeren zal zal u voorzien van slechts één voorbeeld van wat u kon bouwen met behulp van de code, de structuur, en verwerken dat ik hier laten zien. Als u moest nemen van dit idee en uit te breiden en het Pools, kon u omhoog beëindigen met een leuke en/of totaal verschillende MIDI-apparaat. Mijn favoriete aspect van dit project is hoe open het is gewijzigd. Het eindproduct is gewoon iets dat neemt analoge en digitale inputs en biedt een unieke en eenvoudige methode om te zetten hen in MIDI-uitgangen. Zie de sectie over wat ik graag bellen "quasi-MIDI" later in deze inleiding. Ik wil mijn controller gemodelleerd met de Numark Mixtrack II.
Mijn specifieke DJ Controller maakt gebruik van een vervroegde herziening van de TI MSP430 Launchpad, een microcontroller-ontwikkelplatform, bekend om zijn lage prijs ($10) en de hobbyist na. De microcontroller code die ik verstrek is geschreven met behulp van Energia en mogen overdragen aan Arduino met weinig inspanning, andere microcontrollers wellicht hebben de code ported aan hen in het bijzonder die zou niet te hard. Een betere microcontroller met meer pinnen zou kundig voor steun meer ingangen, iets in gedachten te houden als je gaat om te bouwen dit project anders zijn. Ik zal later een meer uitgebreide lijst van benodigde materialen, vaardigheden, en software in de Instructable omvatten.
Wat is een DJ-Controller?
Grappig die je moet vragen. Een DJ-Controller is een fysiek apparaat dat u kunt aansluiten op een computer die is uitgerust met een softwarematig muziek-mengen-programma. Een muziek-mengen-programma kan een DJ te spelen nummers en effecten toe te voegen, "scratch" het spoor, besturen van audio equalizers, volume, afspelen loops en samples en bovenal meng meerdere nummers samen naar naadloos overschakelen van één nummer naar de andere. Dit alles gebeurt live en is behoorlijk indrukwekkend als de DJ goed is (Zie deze video, Waarschuwing: bevat expliciete taal. Ze is met behulp van meerdere DJ Controllers in deze video vier nummers tegelijk mixen), soms verwant aan een instrument spelen! De DJ-Controller geeft de DJ een fysische interface snel al deze acties kunt uitvoeren. Gebruik van een muis en toetsenbord naar DJ snel wordt beperken na enige tijd, als u een op software gebaseerde DJ-Controller voor enige tijd hebt gebruikt, weet je wat ik bedoel.
Entry-level DJ-Controllers zijn op hardwareniveau, zeer eenvoudige apparaten. Ze lezen input van een heleboel sensoren (knoppen, schuiven, knoppen, enz.) en de input converteren besturingsberichten voor de DJ-software. Een populaire indeling voor deze berichten is MIDI, die is vrij veel wat wij hier zullen gebruiken.
Dit project is echter niet vergelijkbaar met high-end professionele niveau DJ Controllers die zijn een stuk complexer en het uitvoeren van andere functies (pre-cueing, geïntegreerde geluidskaarten, etc). Dit project heeft ook geen jogwheels (Ik weet niet waar u het delen, ik gebruik ze niet persoonlijk, en ze wil dit project kost veel meer).
Voer dit project
Dit project biedt een relatief eenvoudige en goedkope aangepaste interface om te bereiken de fundamentele taken van DJing. Het is leuk om te bouwen, aanpasbaar, uitbreidbaar, en een instap DJ-controller voor DJs hobbyist! denk aan hoe cool zou het zijn om je eigen, handgemaakte DJ controller omhoog op tafel op feestjes, en weet dat het eigenlijk werkt!
Kenmerken:
- Low-cost (ongeveer $75 in totaal)
- Aanpasbare (vooral met een 3D-Printer! ;))
- Uitbreidbare en herconfigureerbare
- USB-verbinding (vereist geen externe MIDI kabels/converter)
- Laser gesneden geval cool!
- Relatief eenvoudige en gemakkelijk te maken
- Cross-platform op Windows, Mac en Linux (niet getest, maar meer hierover later)
- Kan worden gebruikt met veel van de meest populaire professionele DJ software programma's (meer hierover later)
- De manier waarop ik het opbouwen van het, zijn er meer dan 80 mogelijk ingangen!
Hoeveel en welke besturingselementen heeft deze DJ-Controller?
Deze controller heeft een flink aantal controles daarop. Aangezien ik ben alleen met behulp van een microcontroller 20-pin, besloten heb ik te gebruiken twee van de dezelfde microcontroller en ook een extra 8-kanaals analoog / digitaal-Converter om het meeste uit mijn kleine MSP430G2553s. Mijn permutatie van deze controller heeft:
- 11 knoppen
- 3 schuiven
- 5 knoppen
- Een Rotary Encoder w / geïntegreerde knop
- Een 12-cijferige toetsenblok heeft 3 verschillende modi en kan invloed hebben op beide dek (12 X 3 X 2 = 72 verschillende functies!)
- Het dek switch stuurt ook opdrachten zodat het het actieve dek kunt selecteren /PFL
Deze besturingselementen kunnen worden geprogrammeerd om te doen wat je wilt! Mijn configuratie later wordt weergegeven, maar het is eigenlijk:
Knoppen - Bas/Mid/Treble/FX 1/FX 2 voor elk dek, en vervolgens een "master iets"
Schuifregelaars - Crossfader, Volume Deck 1 en Deck 2 Volume
Knoppen - Play/Pause en Sync voor elk dek, en vervolgens een "!" knop (wat je wilt)
Roterende/knop Encoder - gebruikt om te bladeren door muziekcollectie en selecteert u nummers
Toetsenbord - Mode 1 is for-lussen, modus 2 is voor effecten, Mode 3 voor monsters
Wat dit Instructable zal betrekking hebben op
In dit Instructable, zal ik u kennismaken met een flink aantal lessen van de elektronica die combineren zal als u wilt maken van het eindproduct! Een ruwe lijst van sommige dingen u kunt leren/praktijk door het bouwen van dit:
- Methoden voor prototyping snel een project waarbij een microcontroller en seriële communicatie
- Met behulp van Energia, een Integrated Development Environment (IDE) voor de TI-Launchpad, en code uploaden naar een microcontroller
- Met behulp van de verwerking, een programmeer taal en IDE die perfect is voor het snel opzetten van seriële communicatie met een project als dit
- Aansluiten en interpreteren (knoppen) digitale en analoge (knoppen en schuifregelaars potentiometersgenoemd) input
- Lezen van een 12-cijferige toetsenbord (nuttig in andere projecten ook!)
- Een Rotary-Encoder-lezing ingang
- Ruwe binaire seriële communicatie tussen een computer en een microcontroller en tussen twee microcontrollers
- Maken van een aangepaste laag-data communicatieprotocol (zware gebruik voor bitsgewijze math, goede praktijken voor digitale logica studies!)
- SPI-communicatie tussen twee ICs (namelijk een MSP430G2553 en de MCP3008 analoog / digitaal-converter)
- Bouw van circuits op perfboard
En eventueel meer!
Opmerking Dit project was zeer moeilijk te monteren dus alleen probeer het als je goed met een soldeerbout of kan veroorloven om een paar fouten te maken!
Overzicht van materialen die nodig zijn
Deze lijst zal veranderen afhankelijk van hoe u specifiek dit project bouwen, maar het biedt een algemeen overzicht van wat je verwachten moet nodig. Specifieke lijsten van onderdelen voor elke stap worden opgenomen met de volgende stappen. Links worden verstrekt ter referentie.
Voor de elektronica:
- Roterende Potentiometers (x11, 10kOhm, lineaire taper, variabele-weerstanden)
- Knoppen voor Potentiometers (x11, ik heb 7 rode, 2 blauween witte 2)
- Schuif Potentiometers (ik heb een x-large en twee medium)
- Doppen voor dia Potentiometers (x3)
- Drukknop schakelaars (x5)
- Schakelaars (1 x twee richtingen, 1 x drieweg [afkomstig uit oude wekker])
- Een 12-cijferige toetsenbord (x1)
- Roterende Encoder (x1)
- TI Launchpad of vergelijkbare microcontroller ontwikkelplatform
- MSP430G2553 of vergelijkbare microcontroller (twee van hen, kunt u hen van TI als gratis monsters! Zorg ervoor om het type van de pakket genaamd "PDIP", of anders het niet past in uw Launchpad!)
- MCP3008 (x1), een 10-bit, 8-kanaals analoog naar Digitaal Converter
- Veel 22ga Hookup draad (vaste core, niet doen krijgen gestrand!)
- Een paar protoboards versneden en gebruiken
- Sommige vrouwelijke/mannelijke headers (de tape van de elektronica, alot halen op ebay!)
- Een paar weerstanden (hoeft u niet 500)
- U kunt om te zetten LEDs in het voltooide project om te maken het er super cool, Probeer deze (video)
Voor het geval:
U moet toegang tot een laser cutter mijn ontwerp te gebruiken. We hebben voor de boven- en onderkant panelen 1/8" multiplex gebruikt, en voor de zijpanelen en de inlays hebben we 1/8" plexiglas gebruikt. Dit moet kunnen worden gekapt op de laser gesneden winkel. U moet ook de lijm (ik beveel zowel gel controle en vloeibare Loctite). U kunt proberen plexiglas lijm zodat het duidelijk gaat, maar ik vond dat het was niet sterk genoeg.
En thats it!
Overzicht van hulpmiddelen/apparatuur nodig:
Een paar tools zijn niet volstrekt noodzakelijk, maar ze maken de bouw gaan een stuk sneller. Ik gebruikte:
- Toegang tot de laser cutter
- Diverse handgereedschappen (naald-neus buigtang, flush wire-cutters, scheermesjes, schroevendraaiers, enz.)
- Draad Strippers
- Rotary Tool (IE: Dremel, een geschikte een annuleerteken zitten had voor $20 of minder. Mijn favoriete tool!)
- Soldeerbout (geschikte een voor $20)
- Colofonium Core elektronica soldeer
- Verschillende solderen leveringen (desoldeer vlecht, flux, enz)
- Helping Hands (Ik gebruikte gewoon mijn huisgenoot)
- Schuurpapier (korrel 600/fijn, 100/grof grit)
- Veiligheid brillen :)
Overzicht van de vaardigheden die nodig zijn
Ik zal proberen om dit project zo makkelijk te volgen als mogelijk, maar sommige dingen moet je een basiskennis van opnemen:
- Solderen vaardigheden (tutorial hier)
- Compileren en uploaden van software naar uw specifieke microcontroller-platform (tutorials voor Energia kunnen hier worden gevonden, overwegen een paar gemakkelijker projecten eerst als u onbekend bent)
- Met behulp van een software DJ-programma, zoals wat ik zal gebruiken: Virtual DJ
- Programmering ervaring is een pluspunt, als mijn code niet direct met uw configuratie werkt mogelijk
- Een begrip voor bitsgewijze math
Wat is "Quasi-MIDI"?
Quasi-MIDI, is zoals ik het noemen, iets wat die ik heb bedacht voor dit project. Toen ik eerst met het koppelen van de hardware aan de DJ-software in de snelste en eenvoudigste manier komen was, dacht ik van MIDI onmiddellijk. Bijna elke grote DJ-programma wordt ondersteund, kan het worden gebruikt voor andere projecten en het is een eenvoudig protocol in zijn eigen recht. Echter de archaïsche connector die wordt gebruikt is niet meer te vinden op moderne computers, en u moet vaak een MIDI naar USB converter, die extra kosten en mogelijke incompatibiliteit aan het project toevoegt. MIDI-apparaten die eigenlijk aan de industriestandaard voldoen ook vereisen extra circuits (optoisolators, enz., meer ingewikkelde!) en zijn alleen in het algemeen moeilijker om snel een prototype met. Dus kwam ik met het idee van het gebruik van een paar intermediaire programma's. Een overzicht van hoe het werkt is dit:
1. belangrijkste Microcontroller ontvangt input van de hardware
2. belangrijkste Microcontroller stuurt een gespecialiseerde bericht naar de computer via een USB seriële verbinding
3. hostprogramma op computer geschreven met behulp van Processing luistert op die poort en ontvangt het bericht
4. de verwerking programma converteert van dit bericht naar een MIDI-bericht en verzendt dit bericht via een virtuele verbinding van MIDI (meer hierover later). De virtuele MIDI-verbinding verschilt per platform, maar op Windows ik gebruikte loopMIDI door Tobias Erichsen. Deze functie is op Mac en Linux ingebouwde...
5. het dj-programma het MIDI-bericht ontvangt via de virtuele MIDI-verbinding en een specifieke functie is toegewezen aan dat MIDI-bericht.
Ik zal mijn best doen om uit te werken over de specifieke stappen die betrokken zijn bij dit proces later in de Instructable. Dit is verre van robuuste, maar het werkt zonder de noodzaak voor een extra hardware, een duidelijke plus gezien de oorspronkelijke doelstellingen van mijn project. U kunt deze dataflow en aanpassen aan elke MIDI-gebaseerd project die je kunt verzinnen! Wilt u uw eigen aangepaste digitale MIDI drumset? Of iets wat nog vreemder als wat zuiverheid Ring gebruikt? U kunt gemakkelijk doen dat met behulp van deze methode!
Credits:
- Elektronica en Code - Me!
- Kast Design, allermeest naar de bouw, en houden alles terwijl ik het - mijn huisgenoot Eric gesoldeerd
- Rocket Ship Logo - mijn vriend Philip
- DJ Demo - mijn vriend Kyle
Muziek in de video:
Merce ft. Farisha - Rain City
- Attak (Feat. Danny Brown) - Rustie
- Roller - Mijnheer Carmack
- Het broodje Dem - Skrillex maken
- Vertel Me (Feat. Wat dus niet) - RL Grime
- Vorig jaar - Borgore
- Slapeloze - Flume
Shoutouts en spullen
Ik zou willen omvatten een paar shoutouts aan alle rechters die dit Instructable voor diverse wedstrijden die ik wil invoeren :) evalueren.
Formlabs wedstrijd:
Controleer het geval voor een elektronica-project is altijd het moeilijkste gedeelte voor mij geweest. Hoe zal alles in elkaar passen? Hoe zal ik de route van kabels? Hoe zal de interface eruit zien en past met de elektronica? Het laatste project was alleen gonna be een breadboarded circuit op een stuk karton, maar mijn huisgenoot vertelde me dat hij kon ontwerpen een laser gesneden van geval, dus ik ging all out. Het moeilijkste deel was nog steeds het geval gegevens terwijl het maken het er goed uitzien. Een laser cutter kan alleen krijg je tot nu toe... 2 afmetingen. Een 3D-printer opent een geheel nieuw niveau van aanpassing. Ik houd elektronica verband met muziek maken en ze ziet er zo goed als ze klinken.
Mijn partner op dit project is ook een architect en kan veel baat hebben bij een 3D-printer. Zijn modellen zou tot leven gebracht worden door 3D afdrukken van hoge kwaliteit, verkregen uit een 3D-printer van hars.
Ik ben ook in het herstellen van auto's (specifiek een MGB 1980 op dit moment) en ik denk dat uw 3D-printer zou ik zou graag hoge kwaliteit weergave plastic onderdelen voor oldtimers die anders echt duur of niet beschikbaar is nieuw. De MGB onlinecommunity ik afgezien van ben zou zeker profiteren van de reproductie onderdelen die ik kon produceren. Ik kon ook een heleboel coole upgrades/haken en spullen voor auto's maken.
Plus, ik heb altijd al wilde leren CAD en een 3D-printer zou verlenen mij sommige motivatie :)
Microcontroller wedstrijd gesponsord door Radioshack:
Dit project omvat niet enkel een microcontroller, maar heeft twee! Dat is tweemaal het vereiste aantal microcontrollers! Ik wil ook te merken dat ik gebruikte een meer ondervertegenwoordigde microcontroller-platform (TI MSP430), voornamelijk vanwege zijn lage aanschafkosten en veelzijdigheid. Dit project laat echt zien hoe kunt u het uitrekken van de beperkte pinnen van dit platform te doen hele hijs zootje.
Het is ook vermeldenswaard dat de dataflow gebruikt in dit project staat een seriële ingeschakelde microcontroller te worden van de hersenen van een MIDI-instrument, niet alleen MCU van met gebouwd in HID/USB-hardware.
Tech wedstrijd gesponsord door Littlebits:
Dit project en littlebits delen een gemeenschappelijk doel: snelle prototyping. Vindingrijkheid en de juiste hulpmiddelen een lange weg te gaan wanneer u werkt naar een functioneel prototype, dus in het geval van de "quasi-MIDI"-methode die ik kwam met. Ik heb ook geprobeerd om lezers aan snelle prototyping met één van mijn favoriete programmeerhulpmiddelen, verwerking.
Nogmaals, het is vermeldenswaard dat de dataflow gebruikt in dit project staat een seriële ingeschakelde microcontroller te worden van de hersenen van een MIDI-instrument, niet alleen MCU van met gebouwd in HID/USB-hardware.
Dank u voor uw overwegingen!