julienvoirin Posted November 2, 2012 Report Share Posted November 2, 2012 (edited) Dear programmers I discovered some months ago this now amazing AU plug in mimicing the Roland Juno 60 : http://kunz.corrupt.ch/products/tal-u-no-lx I do not have a Juno 60, but a 106, and i tried some patch on both Juno and the plug in, and the result is amazing ! it does well the job ! moreover i A/B tested the chorus versus a real Juno hardware chorus, and it sounds exactly the same ! But back to my question : i would like to convert my Juno 106 sysex patch into xml files used by the plug. How can i do ? the juno uses 24 bytes sysex message and the structure of the plug setting is the following : TAL Preset: <?xml version="1.0" encoding="UTF-8"?> <tal curprogram="55" version="1"> <midimap> <map param="14" controllernumber="1"/> </midimap> <programs> <program programname="Startup" category="Lead" dcolfovalue="0" dcopwmvalue="0" dcopwmmode="1" dcopulseenabled="0" dcosawenabled="0" dcosuboscenabled="0" dcosuboscvolume="1" dconoisevolume="0" hpfvalue="0" filtercutoff="0.328000009" filterresonance="1" filterenvelopemode="1" filterenvelopevalue="0" filtermodulationvalue="0" filterkeyboardvalue="1" volume="0.548000038" masterfinetune="0.5" octavetranspose="0.5" vcamode="0" adsrattack="0" adsrdecay="0.568000019" adsrsustain="0" adsrrelease="0.444000036" lforate="0.604000032" lfodelaytime="0" lfotriggermode="1" lfowaveform="0" chorus1enable="0" chorus2enable="0" controlvelocityvolume="0" controlvelocityenvelope="0" controlbenderfilter="0" controlbenderdco="0" portamentointensity="0" portamentomode="0" arpenabled="0" arpsyncenabled="0" arpmode="0" arprange="0" arprate="0" voicehold="0" miditriggerarp16sync="0" midiclocksync="0" hostsync="0" maxpoly="0.454545468" keytranspose="0.5" lfomanualtriggerenabled="0"/> </programs> </tal> the idea is to read the sysex and replace each number in " " by one byte and save the result as a file with an extension. i can code stuff for MIOS but i am rather newbie on computer. I must work on Mac. Edited November 3, 2012 by julienvoirin Quote Link to comment Share on other sites More sharing options...
TK. Posted November 3, 2012 Report Share Posted November 3, 2012 Did you already try to contact the developer of this software? You need to know how the values are scaled in this XML file in relation to a Juno106 I guess that writing a conversion script would also be interesting for him... Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
julienvoirin Posted November 3, 2012 Author Report Share Posted November 3, 2012 Hi Thorsten :) thanks a lot for your answer. to contact the developer Yes i contacted him and he gave me the xml structure presented in the first post. I guess that writing a conversion script would also be interesting for him/quote]I guess too you know what, I have been thinking to the old perl script LOL (hex2syx). after some research and some lessons on the xml, i think that i only need a script capable of parsing data (the hex in Sysex) and place them into some frames in a text file, isn't ? Quote Link to comment Share on other sites More sharing options...
TK. Posted November 3, 2012 Report Share Posted November 3, 2012 Yes... and you don't need a (complicated) library to generate XML, just output the text into a file. Example: my $outfile = "myfile.xml"; my $dcolfovalue = 10; my $dcopwmvalue = 20; open(OUT, ">${outfile}") || die "ERROR: cannot create ${outfile}!\n"; print OUT <<HERE; <?xml version="1.0" encoding="UTF-8"?> <tal curprogram="55" version="1"> <midimap> <map param="14" controllernumber="1"/> </midimap> <programs> <program programname="Startup" category="Lead" dcolfovalue="${dcolfovalue}" dcopwmvalue="${dcopwmvalue}" ... </programs> </tal> HERE close(OUT); [/code] replace the "..." by the additional parameters (I think that you got the point) And use variables instead of static numbers - the variable values have to be derived from the SysEx... somehow. And see http://www.perl.org for free books about perl which will help you to learn this (simple but powerful) programming language. Especially the "perl cookbook" gives a lot of code snippets for many purposes. Alternatively use the docs which are already installed on your computer (type "perldoc") - I learned perl based on these manuals. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.