Exporting vst parameters in text format
-
- KVRist
- 84 posts since 13 Aug, 2003
Is there any application which can export any vsti or vst-fx preset parameters in text format, e.g. using a csv file structure, delimiters could be a comma or a tab.
If yes, is it possible to export also all presets parameters values from a whole bank into a single text file using for each preset one line. e.g. a bank of 128 preset programs would result then in a text file having 128 lines, each line listing all values from all preset parameters, separated by a comma or tab.
Why and how would this be useful?
We could compare vst-preset parameters using tools which can work with/visualize data in text format, e.g. for similarity analysis, further statistics, clustering and more.
Or asked in another way do any .fxp and .fxb to .txt or .csv file converters exist?
Thanks in advance.
If yes, is it possible to export also all presets parameters values from a whole bank into a single text file using for each preset one line. e.g. a bank of 128 preset programs would result then in a text file having 128 lines, each line listing all values from all preset parameters, separated by a comma or tab.
Why and how would this be useful?
We could compare vst-preset parameters using tools which can work with/visualize data in text format, e.g. for similarity analysis, further statistics, clustering and more.
Or asked in another way do any .fxp and .fxb to .txt or .csv file converters exist?
Thanks in advance.
-
- KVRist
- Topic Starter
- 84 posts since 13 Aug, 2003
No problem, at least it is a hint that I have to use the term Steinberg in my searches. I suppose Steinberg would have not linked it somewhere on their websites, I would assume more maybe in one of their SDK packages?
-
- KVRAF
- 6111 posts since 18 Oct, 2007
You just have to parse/convert nulls into readable characters then you can extract ledgable parameter strings from the FXB/FXP using a character pattern in a loop search.
For instance:
For instance:
Code: Select all
CcnK ØFxBk MDAp CcnK 'FxCk MDAp mda Piano e 1\Desktop\1234 ? ? ? ?H'9>€ƒ>Àƒ? >ë…? >{çm? CcnK 'FxCk MDAp Plain Piano 1\Desktop\1234 ? ? ? ?<j >° Å >k…? ? CcnK 'FxCk MDAp Compressed Piano ktop\1234 ?aG®>ÌIº?|î ?["Ñ>©xÕ>ƒo>ÿ|î>ë…? ? CcnK 'FxCk MDAp Dance Piano iano ktop\1234 ? >Týô?_;d ?€ ><j>e'B>ë…? ?*ÀƒCcnK 'FxCk MDAp Concert Piano no ktop\1234 ?%ãT? >Ä›¦>}ó¶>-
- KVRian
- 1492 posts since 29 Apr, 2004
thanks for the example, Optomadic.
hmmm... parameter names are not written in the FXP? they are stored in the DLL?
and how would u want to determine which param names are the same across all plugins (if u want this)?
hmmm... parameter names are not written in the FXP? they are stored in the DLL?
and how would u want to determine which param names are the same across all plugins (if u want this)?
-
- KVRist
- Topic Starter
- 84 posts since 13 Aug, 2003
Thanks Optomadic for your tip but this goes above my understanding and application level. Some simpler solutions would be nice, I just can not imagine such a tool is not existing yet. How are others comparing preset parameters in bigger sets?Optomadic wrote:You just have to parse/convert nulls into readable characters then you can extract ledgable parameter strings from the FXB/FXP using a character pattern in a loop search. ...
After null conversion I'd be looking for strings between characters and \.
-
- KVRAF
- 6111 posts since 18 Oct, 2007
I got a huge outdoor gig today.
When I get back I will check to see if fxb formatting is universal across all vst(i)'s.
I wrote a null character converter a couple of weeks ago that worked intermittently.
I'll see if I can get it to convert fxb/p's to and from text format.
Perhaps someone could code something up while I'm gone??
When I get back I will check to see if fxb formatting is universal across all vst(i)'s.
I wrote a null character converter a couple of weeks ago that worked intermittently.
I'll see if I can get it to convert fxb/p's to and from text format.
Perhaps someone could code something up while I'm gone??
-
- KVRAF
- 3948 posts since 8 Sep, 2003 from germany
The main reason why something like this doesn't exist is that it won't work with all plugins (you can save yourself the extra work to figure this out !), as some plugins use float data and some use raw byte data, where in the latter case a tool like this will be pretty useless, as it won't be able to tell what a parameter is and what not.
For the former case it will work, and you'll end up with only a list of floating point values per preset. If that's what you want, go for it !
For the former case it will work, and you'll end up with only a list of floating point values per preset. If that's what you want, go for it !
m i d i - v s t (free)
-
- KVRist
- Topic Starter
- 84 posts since 13 Aug, 2003
Yes, exactly that is what I am asking for, just a list of numbers for each preset, preceded by the preset name in column one or in the last column, nothing else.plastique wrote:... and you'll end up with only a list of floating point values per preset. If that's what you want, go for it !
The parameter values would be the "extracted features" of that particular plugin preset.
- KVRAF
- 8515 posts since 12 Feb, 2006 from Helsinki, Finland
I think a better way would be to load/wrap the VST plugin, and call getParameter/Name/Label to get the human readable names that a plugin is supposed to provide, then dump them into a file somewhere. Unfortunately not all plugins provide those either in very useful format, and it might not include everything, but at least that should be more usable, and for plugins that do provide meaningful values, you might be able to get things like envelope timings in formats (say milliseconds?) that you might even be able to compare between different plugins with minimal effort (with obvious pitfalls of every plugin's interpretation of what the times mean, ofcourse).
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- 1538 posts since 14 May, 2004 from Europe
Hi there,
I once wrote a program to convert the parameters of all programs of a VST plugin to Excel. See http://www.savioursofsoul.de/Christian/?page_id=111.
It hosts the plugin and queries the parameters via the automation support. Though it only works if automation support is available.
Maybe this is useful,
Christian
PS: The code is open source (except the Excel export itself)...
I once wrote a program to convert the parameters of all programs of a VST plugin to Excel. See http://www.savioursofsoul.de/Christian/?page_id=111.
It hosts the plugin and queries the parameters via the automation support. Though it only works if automation support is available.
Maybe this is useful,
Christian
PS: The code is open source (except the Excel export itself)...
-
- KVRist
- Topic Starter
- 84 posts since 13 Aug, 2003
Thanks Christian,
but I could not find a help file or a manual for it, also I could not find where the source code is.
I am not an expert in this field but I suppose the probability of being the number of plugin parameters bigger than 256 is smaller than the probability of being the number of plugin presets bigger than 256. Or said in a different way I would write each preset into a new line and the parameters into the columns. Preset2Excel.exe does just the opposite. So it seems it can not handle plugins which can have more than 256 presets like e.g. in V-Station.
I have to try also if Preset2Excel.exe accepts .fxb names in the command line, e.g.
Anyway, thanks Christian for writing this useful tool.
but I could not find a help file or a manual for it, also I could not find where the source code is.
I am not an expert in this field but I suppose the probability of being the number of plugin parameters bigger than 256 is smaller than the probability of being the number of plugin presets bigger than 256. Or said in a different way I would write each preset into a new line and the parameters into the columns. Preset2Excel.exe does just the opposite. So it seems it can not handle plugins which can have more than 256 presets like e.g. in V-Station.
I have to try also if Preset2Excel.exe accepts .fxb names in the command line, e.g.
Code: Select all
Preset2Excel.exe plugin.dll presetbank.fxb-
- KVRAF
- 6111 posts since 18 Oct, 2007
Also take a look at MissWatson
http://www.teragon.org/products/MissWatson.html
I think it can send the parameters to standard text output.
hth
http://www.teragon.org/products/MissWatson.html
I think it can send the parameters to standard text output.
hth
-
- KVRAF
- 6111 posts since 18 Oct, 2007
I was able to convert preset files to text...
but
See here:
I have to agree with plastique, doing it this way is kind of a waste of time.
It will not be universal, very difficult to parse conditionally, and more importantly I found it has file size limitations.

I'm checking to see if this format or the 1st I posted are the only 2 generated.
If so then theres a slight chance it could still be done this way..
No promises though..
but
This is exacly what happens making it useless for some plugins.plastique wrote:...you'll end up with only a list of floating point values per preset....
See here:
Code: Select all
CcnK )FBCh MrTr ÿÿÿÿ (çË
Ôj ÏF Ì "m 2g ‡~ ^0 ¤_ ¾ Ö, l= áJ Ri ]n ®r - € MrTramp Patch 2 Patch 3 Patch 4 Patch 5 Patch 6 Patch 7 Patch 8 Patch 9 Patch 10 Patch 11 Patch 12 Patch 13 Patch 14 Patch 15 Patch 16 Patch 17 Patch 18 Patch 19 Patch 20 Patch 21 Patch 22 Patch 23 Patch 24 Patch 25 Patch 26 Patch 27 Patch 28 Patch 29 Patch 30 Patch 31 Patch 32 Patch 33 Patch 34 Patch 35 Patch 36 Patch 37 Patch 38 Patch 39 Patch 40 Patch 41 Patch 42 Patch 43 Patch 44 Patch 45 Patch 46 Patch 47 Patch 48 Patch 49 Patch 50 Patch 51 Patch 52 Patch 53 Patch 54 Patch 55 Patch 56 Patch 57 Patch 58 Patch 59 Patch 60 Patch 61 Patch 62 Patch 63 Patch 64 Patch 65 Patch 66 Patch 67 Patch 68 Patch 69 Patch 70 Patch 71 Patch 72 Patch 73 Patch 74 Patch 75 Patch 76 Patch 77 Patch 78 Patch 79 Patch 80 Patch 81 Patch 82 Patch 83 Patch 84 Patch 85 Patch 86 Patch 87 Patch 88 Patch 89 Patch 90 Patch 91 Patch 92 Patch 93 Patch 94 Patch 95 Patch 96 Patch 97 Patch 98 Patch 99 Patch 100 Patch 101 Patch 102 Patch 103 Patch 104 Patch 105 Patch 106 Patch 107 Patch 108 Patch 109 Patch 110 Patch 111 Patch 112 Patch 113 Patch 114 Patch 115 Patch 116 Patch 117 Patch 118 Patch 119 Patch 120 Patch 121 Patch 122 Patch 123 Patch 124 Patch 125 Patch 126 Patch 127 Patch 1282.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.502.500.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.4000.40.. you get the ideaIt will not be universal, very difficult to parse conditionally, and more importantly I found it has file size limitations.
I'm checking to see if this format or the 1st I posted are the only 2 generated.
If so then theres a slight chance it could still be done this way..
No promises though..

