Ik wil in deze draad een log bijhouden van het ontwikkelen van een CTRLR.org panel voor de Akai S700 sampler.
CTRLR.org
CTRLR.org is een applicatie waarmee panels ontwikkelt kunnen worden die middels midi hardware aansturen. Denk bijvoorbeeld aan een softwarematige programmer voor de JX8P van Roland. Middels midi-cc en midi-sysex is er bi-directionele communicatie mogelijk tussen de CTRLR software en de hardware. Panels kunnen in de CTRLR-applicatie uitgevoerd worden maar onder bepaalde omstandigheden ook worden geëxporteerd als VST.
Akai S700
De Akai S700 is een sampler uit midden jaren tachtig, een 12 bits sampler die makkelijk werkt en een intuïtieve user interface heeft maar vooral auditief karakter. Voor opslag van samples is de S700 uitgerust met een fameuze QuickDisk drive. De meeste QuickDisk-drives zijn kapot. Reparatie is duur en de capaciteit van één sample per zijde is beperkt.
CTRLR Panel voor S700
De Akai S700 biedt vanaf firmware v1.6 de mogelijkheid om middels midi de samples te ontvangen en te verzenden. Voor de Atari is er in de jaren tachtig door ene Harald Plontke een editor geschreven met uitgebreide mogelijkheden. Mijn doel is in eerste instantie om samples te ontvangen vanuit de S700 naar een CTRLR-panel en vice versa. Met gebruik van de midi-implementatie die Akai voor de S700 geschreven heeft heb ik een idee wat ik moet verzenden vanaf het panel naar de S700. De S700 antwoordt dan met sysex data.
Bekijk bijlage AkaiS700_MIDI_Implementation_V1.0.pdf
Atari communicatie
Als ik SoundSystem X700 Graphic Sample Editor op de Atari start dan zend de Atari voor elke sample geheugenplek een 8 byte sysex message naar de S700. De request for sample parameters. De S700 heeft standaard plek voor 6 samples, met de ASK70-uitbreiding kunnen er 16 samples in het geheugen van de S700 geladen worden.
Als ik vanaf de Atari vraag om sample 1 in de S700 dan zend de Atari een 6 bytes sysex message naar de S700. De request for sample dump. Er komt data vanaf de S700, maar deze verschijnt nog niet in de midi monitor. Eerst stuurt de Atari een aantal 4 byte handshakes terug naar de S700. Kijk naar de time stamp van deze handshakes en vergelijk deze met de timestamp van de respons van de S700. Uiteindelijk heeft de S700 een 508 bytes midi message naar de Atari gestuurd.
CTRLR communicatie
Als ik vanaf het CTRLR panel de zelfde 6 bytes sysex message naar de S700 stuur, de request for sample dump dan is het antwoord van de Akai S700 een 20 bytes sysex message. De eerste 19 bytes sysex message in de sample dump format zijn gegevens omtrent de sample (sample number, bitts per word, sampling period, total words, loop startpoint, loop endpoint). Zie midi implementatie document.
Probleem
Het huidige probleem waarmee ik geconfronteerd wordt is dat waarschijnlijk de handshake vanaf het CTRLR panel naar de S700 niet goed gecommuniceerd wordt. Er zal een timing probleem aan ten grondslag liggen denk ik. Als de S700 de eerste 19 bytes verzonden heeft zal het panel een 4 bytes handshake moeten sturen zodat de S700 door kan met verzenden van het eerste block sample data. Na elk blok sample data dient er ook een 4 bytes handshake verzonden te worden.
Vervolg
Na elk ontvangen block sample data zou de checksum, de laatste byte in een block sample data, moeten worden geverifieerd. Bij een mismatch is een 4 bytes "request for retransmission of last block" vanaf het panel noodzakelijk.
Bekijk bijlage 117005
CTRLR.org
CTRLR.org is een applicatie waarmee panels ontwikkelt kunnen worden die middels midi hardware aansturen. Denk bijvoorbeeld aan een softwarematige programmer voor de JX8P van Roland. Middels midi-cc en midi-sysex is er bi-directionele communicatie mogelijk tussen de CTRLR software en de hardware. Panels kunnen in de CTRLR-applicatie uitgevoerd worden maar onder bepaalde omstandigheden ook worden geëxporteerd als VST.
Akai S700
De Akai S700 is een sampler uit midden jaren tachtig, een 12 bits sampler die makkelijk werkt en een intuïtieve user interface heeft maar vooral auditief karakter. Voor opslag van samples is de S700 uitgerust met een fameuze QuickDisk drive. De meeste QuickDisk-drives zijn kapot. Reparatie is duur en de capaciteit van één sample per zijde is beperkt.
CTRLR Panel voor S700
De Akai S700 biedt vanaf firmware v1.6 de mogelijkheid om middels midi de samples te ontvangen en te verzenden. Voor de Atari is er in de jaren tachtig door ene Harald Plontke een editor geschreven met uitgebreide mogelijkheden. Mijn doel is in eerste instantie om samples te ontvangen vanuit de S700 naar een CTRLR-panel en vice versa. Met gebruik van de midi-implementatie die Akai voor de S700 geschreven heeft heb ik een idee wat ik moet verzenden vanaf het panel naar de S700. De S700 antwoordt dan met sysex data.
Bekijk bijlage AkaiS700_MIDI_Implementation_V1.0.pdf
Atari communicatie
Als ik SoundSystem X700 Graphic Sample Editor op de Atari start dan zend de Atari voor elke sample geheugenplek een 8 byte sysex message naar de S700. De request for sample parameters. De S700 heeft standaard plek voor 6 samples, met de ASK70-uitbreiding kunnen er 16 samples in het geheugen van de S700 geladen worden.
Als ik vanaf de Atari vraag om sample 1 in de S700 dan zend de Atari een 6 bytes sysex message naar de S700. De request for sample dump. Er komt data vanaf de S700, maar deze verschijnt nog niet in de midi monitor. Eerst stuurt de Atari een aantal 4 byte handshakes terug naar de S700. Kijk naar de time stamp van deze handshakes en vergelijk deze met de timestamp van de respons van de S700. Uiteindelijk heeft de S700 een 508 bytes midi message naar de Atari gestuurd.
CTRLR communicatie
Als ik vanaf het CTRLR panel de zelfde 6 bytes sysex message naar de S700 stuur, de request for sample dump dan is het antwoord van de Akai S700 een 20 bytes sysex message. De eerste 19 bytes sysex message in de sample dump format zijn gegevens omtrent de sample (sample number, bitts per word, sampling period, total words, loop startpoint, loop endpoint). Zie midi implementatie document.
Probleem
Het huidige probleem waarmee ik geconfronteerd wordt is dat waarschijnlijk de handshake vanaf het CTRLR panel naar de S700 niet goed gecommuniceerd wordt. Er zal een timing probleem aan ten grondslag liggen denk ik. Als de S700 de eerste 19 bytes verzonden heeft zal het panel een 4 bytes handshake moeten sturen zodat de S700 door kan met verzenden van het eerste block sample data. Na elk blok sample data dient er ook een 4 bytes handshake verzonden te worden.
Vervolg
Na elk ontvangen block sample data zou de checksum, de laatste byte in een block sample data, moeten worden geverifieerd. Bij een mismatch is een 4 bytes "request for retransmission of last block" vanaf het panel noodzakelijk.
Bekijk bijlage 117005
Last edited by a moderator: