Sequencer in Microsoft .NET ?

ironfreq

You're the man now, dog!
Lid sinds
9 februari 2003
Berichten
365
Locatie
Utrecht
Hoi,

Om het mooie draadje van van Druid (zie https://www.synthforum.nl/forums/showthread.php?s=&threadid=31540) niet te vervuilen, plaats ik dit, op aanraden van een van de moderators, in een aparte topic.

Ook ik speel al heeeeel lang met het idee om een sequencer te bouwen. Ik heb ooit jaren geleden een uitgebreid ontwikkelplan opgesteld, wat ik inmiddels kwijt geraakt ben. Inmiddels ben ik bezig aan een nieuw plan. Ik verdien mijn brood met het ontwikkelen in Microsoft Visual Basic 6, maar voor mijn nieuwe '(prive)-project' heb ik mijn zinnen gezet op de MS .NET omgeving.. en wel het liefst C#.NET.

Eerst en bovenal moet ik zeggen dat ik totaal niet uit ben op een fancy pakket. Geen pianorolls, vooralsnog zeker geen VSTi-support, geen audio, geen gelikte interface (mijn solo-programma's schrikken mensen altijd af qua interface, dus wees gewaarschuwd :D ), vooralsnog geen arrangeerscherm met verplaatsbare parts, etc. Met andere woorden het moet besist geen mini Cubase kloon o.i.d. worden. Het pakket dat ik voor ogen heb is gebaseerd op mijn tweede grote liefde (dames blijven mijn eerste :D ) , namelijk een hele basic stepsequencing. Een klein beetje zoiets als Seq303 ooit was, maar dan toch weer heeeeel anders en veel experimenteler (wellicht is wat ik voor ogen heb in eerste instantie te complex, maar zoals ik later in deze post uitleg gaat mijn aandacht in eerste instantie naar timing en MIDI aansturing e.d.). Ik heb het niet-technische ontwerp qua sequencer nu duidelijk op mijn netvlies, binnenkort hopelijk op papier en hopelijk ooiitttt gecompileerd als een executable. In een ideaal geval kan het programma alle sequences exporteren naar een MIDI file die je vervolgens in een fatsoenlijke :) sequencer verder kan bewerken. Voor de duidelijkheid zeg ik er maar bij dat ik dus puur aan een standalone programma zit te denken niet aan een VSTi-instrument of iets dergelijks of een MIDI plugin.

Ik heb dus gekozen voor C#.NET als taal, omdat ik graag eens uitgebreider met die taal aan de slag wil. Ik weet dat ik me daarmee vastpin op het Windows platform, maar daar heb ik persoonlijk geen moeite mee (ik weet zeker dat ik hiermee mensen teleurstel, het spijt me...). Waar ik meer benieuwd naar ben is of ik met de .NET omgeving fatsoenlijke timing (hoeft niet perfect te zijn...) kan realiseren en een goede communicatie kan hebben met MIDI-poorten.

Ik zal mijn zoektocht denk ik moeten starten naar fatsoenlijke bestaande libraries voor deze taken (timing en MIDI aansturing), aangezien ik volgens mij te weinig kennis heb van de low-level werking van Windows om dit zelf te kunnen ontwikkelen (ik heb een boek over het aansturen van MIDI in Windows (zie http://www.maxmidi.com), maar de code in dit boek werkt niet met 2000/XP en al helemaal niet met .NET. Ik denk als ik dit zelf moet gaan ontwikkelen of vastloop op het timing-verhaal en zowiezo heel veel tijd verlies, maar ik weet niet of er (betaalbare!) bestaande libraries zijn of wellicht zelfs open-source projecten. Ik kan me voorstellen dat ik de code die in het genoemde boek staat om MIDI files te schrijven wel kan vertalen. Als iemand aanraders heeft voor bestaande code voor timing en/of MIDI-aanturing, ik dat heel graag zou willen horen. Ik ga natuurlijk nu zelf Googlen, maar als iemand ervaring heeft met bestaande code hoor ik dat erg graag.

Ik stel me voor dat je bij een dergelijk project eerst moet zorgen voor een stabiele, goed draaiende 'MIDI engine', die met een fatsoenlijke timing noten kan uitspugen naar een enkel kanaal op een enkele MIDI-poort. Later naar meerdere kanalen op een MIDI poort en hopelijk uiteindelijk naar verschillende MIDI-kanalen op verschillende poorten tegelijk. Ik geloof sterk in een stap-voor-stap benadering bij het bouwen van een dergelijk project. Ik stel me voor dat dit ook met een bestaande library (als die bestaan..) een flinke kluif is, zodoende is dit het eerste waar ik me op zal concentreren. Ik denk dat het pas zin heeft om code te gaan schrijven voor de sequencer zelf als dit gerealiseerd is. Dus pas als de aansturing voor elkaar is, denk ik verder aan technische invulling van de sequencer (als bijvoorbeeld het me niet lukt om meerdere MIDI-poorten te synchroniseren (ik zeg maar wat), kan ik altijd mijn ontwerp aanpassen hierop).

Nou, tis een beetje erg lange post geworden, maar als iemand opmerkingen, suggesties (ook al is het in het kader van 'Doe het niet!') of wat dan ook heeft, dan hou ik me aanbevolen. Ik hoop dat deze posting hier mag staan, ik kan me voorstellen dat men hem te technisch vind, maar dat hoor en/of zie ik vanzelf dan wel. Mijn insteek is dus precies het tegenovergestelde dan die van Druid (dat draadje volg ik uiteraard ook op de voet), want ik weet al WAT ik zo'n beetje wil hebben, alleen ben nog zoekende naar HOE... ik hoop daarom dat deze topics naast elkaar mogen blijven, maar uiteraard heb ik daar niets over te zeggen.

Bedankt voor de aandacht.

Groetjes,
Vincent aka Ironfreq
 
Hoi hoi,

Origineel geplaatst door jrs
Maar waarom zou je eigenlijk zelf je eigen sequencer/midi software willen maken, als er al zoveel software op de markt is, kun je niks vinden wat op je wensen aansluit? Tegen de jongens van Steinberg en Emagic is natuurlijk niet te concurreren...

Hartstikke bedankt voor de links, ik ga er uitgebreid naar kijken! :biertje:

'tis beslist niet mijn bedoeling om te concurreren met Steinberg en Emagic hoor.. als mijn programma al afkomt dan zet ik het hoogstens op het Internet voor de die-hard liefhebbers zeg maar. Ikzelf vind het op z'n tijd wel een verademing om Cubase even af te sluiten en met wat simpels te spelen... om resultaten te krijgen die ik anders niet gehad zou hebben en dat vervolgens weer gebruiken in nummers. Ik snap heel goed dat bv met huidige Cubase versies, die ook al een MIDI stepsequencer als standaard plugin meeleveren of dankzij FruityLoops de wens naar een dergelijk programma niet groot meer is.

Ik zie het puur als een hobby, dat ik eens muziek kan maken op de manier die ik wil... bv met een stepsequencer die volledig via MIDI bestuurbaar is, waarmee je bv met Program Changes naar een step kan springen en die direct een noot kan wijzigen.. ik denk nu maar wat hardop ;) M'n ideeen zijn extremer dan dit hoor, maar eerst maar ff kijken in hoeverre implementeerbaar.

Ikzelf heb altijd een zwak gehad voor dergelijke standalone programma's, maar ik verwacht er zeker niet rijk, bekend of wat dan ook mee te worden ;) :D Trouwens, eerst maar eens wat afleveren voordat ik beloftes doe :bekdicht:
 
Origineel geplaatst door ironfreq
Ikzelf heb altijd een zwak gehad voor dergelijke standalone programma's, maar ik verwacht er zeker niet rijk, bekend of wat dan ook mee te worden ;) :D Trouwens, eerst maar eens wat afleveren voordat ik beloftes doe :bekdicht:

Maar je zult er wel de nodige kennis mee opdoen, alleen ben je dan wel een stuk verder in de tijd...

;)
 
Origineel geplaatst door jrs

Maar waarom zou je eigenlijk zelf je eigen sequencer/midi software willen maken, als er al zoveel software op de markt is,
kun je niks vinden wat op je wensen aansluit?
Tegen de jongens van Steinberg en Emagic is natuurlijk niet te concurreren...

Maar waarom zou je eigenlijk zelf je eigen muziek willen maken, als er al zoveel muziek op de markt is, kun je niks vinden wat op je wensen aansluit? Tegen de jongens van (vul hier maar wat in) en (vul er hier nog maar één in) is natuurlijk niet te concurreren...

:) Tja, is eigenlijk een beetje hetzelfde he? Ik ben wel benieuwd naar het resultaat, mocht het ooit zover komen natuurlijk ;)
 
Ook zo een van die dingen die in mijn achterhoofd rondzweven maar waar ik nooit aan zal beginnen wegens chronisch tijdsgebrek. Ik ben dus heel erg benieuwd naar jouw ervaringen. Laat ons zeker en vast regelmatig weten hoe het ermee gaat!
 
Gewoon een leuk project om jezelf een taal/omgeving eigen te maken.

Een doel in plaats van de zoveelste "Hello World" applicatie ;)
 
Succes. Lijkt mij een hele uitdaging.
 
Origineel geplaatst door Hazes
Maar waarom zou je eigenlijk zelf je eigen muziek willen maken, als er al zoveel muziek op de markt is, kun je niks vinden wat op je wensen aansluit? Tegen de jongens van (vul hier maar wat in) en (vul er hier nog maar één in) is natuurlijk niet te concurreren...

:) Tja, is eigenlijk een beetje hetzelfde he? Ik ben wel benieuwd naar het resultaat, mocht het ooit zover komen natuurlijk ;)

Daar heb je helemaal gelijk in..
Enige verschil wat ik zie, is dat een sequencer een stuk gereedschap is en muziek een product wat "af" is...

Zie de sequencer als het boetseermateriaal en de muziek als de klei....
 
Origineel geplaatst door jrs
Daar heb je helemaal gelijk in..
Enige verschil wat ik zie, is dat een sequencer een stuk gereedschap is en muziek een product wat "af" is...

Dat gaat voor mij ook op hoor. Maar daar ben ik dan ook muzikant voor en geen programmeur. Zodra je de sequencer-software als doel hebt, wordt het meer dan een stuk gereedschap natuurlijk. Afijn, kortom :koffie: ;)
 
Back
Top