Virtual F1 --> Opening up the Remix Decks

Home :: Reviews of DJ equipment :: Virtual F1 --> Opening up the Remix DecksReply
Virtual F1 --> Opening up the Remix Decks
Posted on: 24.05.2012 by Wilhelmina Notermann
Hi guys,

We were just brainstorming how to go about making the Remix Decks open to all controllers when we were cordially requested to post this in the modding part of the community , so here it goes.

The proposition is to see if we can get some of you modding guru's to work together on a Virtual F1 driver that translates the MIDI outputs and inputs of controller X to a virtual replicant of the Kontrol F1 and let this driver communicate with Traktor.


The idea:
To create a driver that acts a a Virtual F1 (let's name it that way for now), that listens to MIDI signals from your controller, and maps these signals to the same HID messages that the Kontrol F1 sends and receives.

Now that might sound too easy, and of course it is. If we look at it, there's communication in two ways, some of which might be quite straightforward, but some might prove difficult
1: controller --> Traktor:
Controller sends message to Virtual F1 via MIDI
Virtual F1 analyses the MIDI message and maps it to the relevant HID message
Virtual F1 triggers the HID message
Traktor get's the HID message and acts on it following the original Kontrol F1 mapping.

2: Traktor --> Controller
Traktor outputs HID message (for instance, RGB LED variables)
Virtual F1 interprets the HID message and breaks it down into MIDI
Virtual F1 sends MIDI message to controller x
Controller x outputs the MIDI messages (by triggering the LED)

I'd say we need to try and break this into steps and see how far we get: first try to get MIDI messages translated into HID and see if can control some of the locked features. If that works we have a proof of concept and we try to map all of the F1's commands to Traktor. If we get that far we might have some idea of how to translate the more complex messages from Traktor to your controller, but for me that's a 'nice to have'.

So how could we go about it?
1 find out exactly what messages the F1 sends out for each button, get a read-out of all of Kontrol F1's messages
2 write a driver that can send those messages to Traktor
3 create a mapping table in which we can link MIDI messages to the according HID messages

Some remarks that were made in the original thread
"have you guys heard of midimasher? if zestoi gets the hid messages he should be able to make it work with his app as it uses both midi and HID, if he doesn't chime in send him a p.m."
"indeed. in midimasher a hid device is defined in similar manor to a midi device - just that you're defining hidpackets with offsets+bitmasks instead of midi messages of type cc/note/pc/pb etc

they all get converted to event names - pretty similar to how vdj does it. then piping these event names from a hid device to a midi device is as simple as from midi to midi etc.

fyi hid support is going into mixxx 1.11 not that it helps in any way here."
"HID to midi converter might be usefull"
"someone reverse engineered the X1 I believe."
Does anybody know about this?
"You could also put it in the modding community , where the modders could see it."
Okay
Timothy Sallay
26.05.2012
Originally Posted by Deksel
In this thread another approach is mentioned: mimicking mouse movements in Lemur. Not perfect, but a creative workaround...
http://community .djranking s.com/showthread.php?t=49309
yess.... Got this working for all 4 pages + 4x4 of a remix deck on Lemur/IPAD. Files to come soon when i complete the setup, but some info here if your a lemurian and want to try

http://community .djranking s.com/showthr...ht=2.5+kbmouse
Chasidy Heckenbach
25.05.2012
Originally Posted by tombruton69
its funny you should mention mixxx, id really love to help out on that project I just dont have enough time
same here really - but u can always find time for things that u really want to i've often thought about getting involved but stuck with traktor after buying it. there's just *sooo* much potential with mixxx tho, esp if you're handy with C++ for the engine or javascript for the mappings

for now i'm just spending the time i would have been coding midimasher for mixxx work. bit of a shame as the new mini language for midimasher was almost done - but seems i was just in time to get up to speed and at least help out a bit with 1.11 of mixxx. i'll hopefully be working on some traktor style modifier type functionality as well as midi stuff and general mapping enhancements for 1.12. with the new waveforms and recentish quantize + looping functionality it's really not bad will even have builtin key detection soon (for those that care about that kind of thing)
Chasidy Heckenbach
25.05.2012
Originally Posted by tombruton69
It's a good idea, it would actually be easier to write a driver that just pretends to be an f1 and outputs the same hid commands. you just need sum1 to write it for you and buy them an f1. I dont know a single person who writes drivers who is ever out of work tho, so by the time they wrote it in there spare time NI would of probs opened up the extra controls
agreed - this is more the issue than just translating between hid and midi - the fact that someone would need to write a driver that pretends to be an F1 sufficiently well to fool traktor...

Originally Posted by synthet1c
have you guys heard of midimasher? if zestoi gets the hid messages he should be able to make it work with his app as it uses both midi and HID, if he doesn't chime in send him a p.m.
indeed. in midimasher a hid device is defined in similar manor to a midi device - just that you're defining hidpackets with offsets+bitmasks instead of midi messages of type cc/note/pc/pb etc

they all get converted to event names - pretty similar to how vdj does it. then piping these event names from a hid device to a midi device is as simple as from midi to midi etc.

fyi hid support is going into mixxx 1.11 not that it helps in any way here

Originally Posted by faderswagger
Ever heard of a HID to midi converter? Ever seen any one of the thousands of videos of people using Wiimotes, x box controllers, joysticks, or really anything that isn't a midi controller, to control software?
this is going to be a fairly easy project. NI could have done it in a couple of hours if they weren't greedy and wanting to sell more F1's
that's going the easy way tho - from a hid input to a virtual midi port and thru to the midi device/app. you'd still need a virtual F1 hid device driver since traktor needs to that talk to.

reading from and writing to a hid device is simple once you've mapped out the hid packets and any pre-amble handshaking that the device needs. i don't have any NI controller so don't know much about their hid format(s).
Marguerite Truka
24.05.2012
Originally Posted by StephanV
Really? Where'd you read that? Can't find anything about it, and considering the MIDI compatibility of the X1 I don't really see the use of reverse engineering it in the first place tbh..

Would be a great point to start though!
as I said b4 all that is needed is a driver that sends the same hid messages as the f1, obv a differnt driver would need to be written for each device. 200 quid for the f1 is a bit steep in my opinion
Pansy Shiveley
24.05.2012
Originally Posted by lethal_pizzle
Having said that, someone reverse engineered the X1 I believe, so it should all be possible
Really? Where'd you read that? Can't find anything about it, and considering the MIDI compatibility of the X1 I don't really see the use of reverse engineering it in the first place tbh..

Would be a great point to start though!
Earleen Alibozek
12.02.2013
What about using TouchOSC and Osculator to convert messages to HID? This way is only necesary to know what HID messages osculator has to send to Traktor, isnt it??
Timothy Sallay
26.05.2012
Working 64 slot Lemur F1 emulator is now ready for download.. full info in this post in the mappings section..

http://community .djranking s.com/showthr...722#post481722

0day+1.. sweet.

joe
Timothy Sallay
26.05.2012
Originally Posted by Deksel
In this thread another approach is mentioned: mimicking mouse movements in Lemur. Not perfect, but a creative workaround...
http://community .djranking s.com/showthread.php?t=49309
yess.... Got this working for all 4 pages + 4x4 of a remix deck on Lemur/IPAD. Files to come soon when i complete the setup, but some info here if your a lemurian and want to try

http://community .djranking s.com/showthr...ht=2.5+kbmouse
Lizette Brader
26.05.2012
I don't know if this would work, but instead of having specific drivers for each controller, why not have a midi learn function for the midi-hid conversion. It may require an interface but in the end might save time over mapping each different controller.
Wilhelmina Notermann
25.05.2012
In this thread another approach is mentioned: mimicking mouse movements in Lemur. Not perfect, but a creative workaround...
http://community .djranking s.com/showthread.php?t=49309
Nedra Fresneda
25.05.2012
merged
Chasidy Heckenbach
25.05.2012
Originally Posted by tombruton69
its funny you should mention mixxx, id really love to help out on that project I just dont have enough time
same here really - but u can always find time for things that u really want to i've often thought about getting involved but stuck with traktor after buying it. there's just *sooo* much potential with mixxx tho, esp if you're handy with C++ for the engine or javascript for the mappings

for now i'm just spending the time i would have been coding midimasher for mixxx work. bit of a shame as the new mini language for midimasher was almost done - but seems i was just in time to get up to speed and at least help out a bit with 1.11 of mixxx. i'll hopefully be working on some traktor style modifier type functionality as well as midi stuff and general mapping enhancements for 1.12. with the new waveforms and recentish quantize + looping functionality it's really not bad will even have builtin key detection soon (for those that care about that kind of thing)
Marguerite Truka
25.05.2012
its funny you should mention mixxx, id really love to help out on that project I just dont have enough time
Chasidy Heckenbach
25.05.2012
Originally Posted by tombruton69
It's a good idea, it would actually be easier to write a driver that just pretends to be an f1 and outputs the same hid commands. you just need sum1 to write it for you and buy them an f1. I dont know a single person who writes drivers who is ever out of work tho, so by the time they wrote it in there spare time NI would of probs opened up the extra controls
agreed - this is more the issue than just translating between hid and midi - the fact that someone would need to write a driver that pretends to be an F1 sufficiently well to fool traktor...

Originally Posted by synthet1c
have you guys heard of midimasher? if zestoi gets the hid messages he should be able to make it work with his app as it uses both midi and HID, if he doesn't chime in send him a p.m.
indeed. in midimasher a hid device is defined in similar manor to a midi device - just that you're defining hidpackets with offsets+bitmasks instead of midi messages of type cc/note/pc/pb etc

they all get converted to event names - pretty similar to how vdj does it. then piping these event names from a hid device to a midi device is as simple as from midi to midi etc.

fyi hid support is going into mixxx 1.11 not that it helps in any way here

Originally Posted by faderswagger
Ever heard of a HID to midi converter? Ever seen any one of the thousands of videos of people using Wiimotes, x box controllers, joysticks, or really anything that isn't a midi controller, to control software?
this is going to be a fairly easy project. NI could have done it in a couple of hours if they weren't greedy and wanting to sell more F1's
that's going the easy way tho - from a hid input to a virtual midi port and thru to the midi device/app. you'd still need a virtual F1 hid device driver since traktor needs to that talk to.

reading from and writing to a hid device is simple once you've mapped out the hid packets and any pre-amble handshaking that the device needs. i don't have any NI controller so don't know much about their hid format(s).
Marshall Aby
24.05.2012
Errr... I read it on here somewhere. Somewhere.
Marguerite Truka
24.05.2012
Originally Posted by StephanV
Really? Where'd you read that? Can't find anything about it, and considering the MIDI compatibility of the X1 I don't really see the use of reverse engineering it in the first place tbh..

Would be a great point to start though!
as I said b4 all that is needed is a driver that sends the same hid messages as the f1, obv a differnt driver would need to be written for each device. 200 quid for the f1 is a bit steep in my opinion
Pansy Shiveley
24.05.2012
Originally Posted by lethal_pizzle
Having said that, someone reverse engineered the X1 I believe, so it should all be possible
Really? Where'd you read that? Can't find anything about it, and considering the MIDI compatibility of the X1 I don't really see the use of reverse engineering it in the first place tbh..

Would be a great point to start though!
Shay Wyche
24.05.2012
You could also put it in the modding community , where the modders could see it.
Marshall Aby
24.05.2012
Having said that, someone reverse engineered the X1 I believe, so it should all be possible
Pansy Shiveley
24.05.2012
Originally Posted by faderswagger
Ever heard of a HID to midi converter? Ever seen any one of the thousands of videos of people using Wiimotes, x box controllers, joysticks, or really anything that isn't a midi controller, to control software?
Sure have, but that's irrelevant. This project needs a midi to HID converter, and I've never heard of such thing.
Marshall Aby
24.05.2012
HID isn't really a standard in the same way as MIDI is. The implementation is different and proprietary.
Natalia Bucko
24.05.2012
Originally Posted by StephanV
First of all, MIDI is out of the question here. It's HID, which is going to make this a pain.
Second, you're gonna need an F1 to find out what HID commands it uses, and then build a MIDI to HID translator (which afaik doesn't really exist yet)

Hate to be that guy, but this might be a tougher nut to crack than you believe. You're going to need some very skilled and dedicated people to pull this off.
Ever heard of a HID to midi converter? Ever seen any one of the thousands of videos of people using Wiimotes, x box controllers, joysticks, or really anything that isn't a midi controller, to control software?
this is going to be a fairly easy project. NI could have done it in a couple of hours if they weren't greedy and wanting to sell more F1's
Jonathan Chiuchiolo
25.05.2012
have you guys heard of midimasher? if zestoi gets the hid messages he should be able to make it work with his app as it uses both midi and HID, if he doesn't chime in send him a p.m.
Marguerite Truka
24.05.2012
Originally Posted by StephanV
First of all, MIDI is out of the question here. It's HID, which is going to make this a pain.
Second, you're gonna need an F1 to find out what HID commands it uses, and then build a MIDI to HID translator (which afaik doesn't really exist yet)

Hate to be that guy, but this might be a tougher nut to crack than you believe. You're going to need some very skilled and dedicated people to pull this off.
It's a good idea, it would actually be easier to write a driver that just pretends to be an f1 and outputs the same hid commands. you just need sum1 to write it for you and buy them an f1. I dont know a single person who writes drivers who is ever out of work tho, so by the time they wrote it in there spare time NI would of probs opened up the extra controls
Elsie Golis
24.05.2012
I thought so too. will NI ever unlock it?
Pansy Shiveley
24.05.2012
First of all, MIDI is out of the question here. It's HID, which is going to make this a pain.
Second, you're gonna need an F1 to find out what HID commands it uses, and then build a MIDI to HID translator (which afaik doesn't really exist yet)

Hate to be that guy, but this might be a tougher nut to crack than you believe. You're going to need some very skilled and dedicated people to pull this off.
Elsie Golis
24.05.2012
I wonder if that's even possible
Natalia Bucko
24.05.2012
this^

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy