Unity game software midi/clock syncen met synthesizer

otherotter

Grais - Houten/Utrecht
Lid sinds
13 januari 2024
Berichten
10
Locatie
Houten
Audio UNITY VRAAG: wij zijn een muziek applicatie aan het maken in Unity software, nu wil ik een Clock signal en of MIDi signal synchroniseren met een synthesizer(bijvoorbeeld Microfreak). Iemand een tip? (Ik heb een Rk006, mocht dat het makkelijker maken, maar zonder zou ook leuk zijn)
 
liefste beide (van en naar) maar iets zou al goed zijn!

die link hadden we idd gevonden maar we komen niet uit de clock
 
die link hadden we idd gevonden maar we komen niet uit de clock
Disclaimer: mijn C++ kennis is wat roestig en heb alleen wat algemene kennis over game engines, maar:
Die rtMidi library is puur voor input/output van data over een MIDI poort. Wat je nodig hebt om te synchroniseren is iets om mee te synchroniseren (master) of een signaal om op te pikken (slave). De vraag welke kant op is daarom ook heel erg relevant en 'beide' vind ik een vreemd antwoord.

Het MIDI protocol definieert clock signalen als '24 pulsen per kwartnoot'.
Als je game 'master' moet zijn kan je hopelijk een Unity timer zetten die op de gewenste frequentie die pulsen stuurt via rtMidi.
Voor 'slave' functionaliteit (denk visualisaties) is het lastiger en moet je een callback functie instellen die reageert op inkomende data van een MIDI poort. Als je een klokpuls binnenkrijgt kan je aan de hand van de verstreken tijd sinds de vorige puls bepalen wat het tempo is. Daarnaast wil je waarschijnlijk ook start/stop signalen afhandelen. De grote vraag is dan hoe je die data in je game wil gebruiken.
Ter referentie: rtmidi/tests/midiclock.cpp at master · thestk/rtmidi
 
ik maak zelf gebruik van Melanchall.DryWetMidi voor midi signalen maar daar zit naar mijn weten geen support in voor de midiclock, ik gebruik hier zelf in mijn visualiser een work around voor doormiddel van tap tempo of een value die schaalbaar is met een CC command, als je dan de zelfde cc voor je tempo gebruikt zijn ze ook soort van synched
 
Back
Top