Output formats in the pro version - saving SFZ

Official support for: tx16wx.com
Post Reply New Topic
RELATED
PRODUCTS

Post

New version is up. Please read notes in zip file before using.

www.derknott.de/tx2sfz.zip

Post

oh, what a great tool ! thanks a lot for sharing it, it will be very useful.

Post

Hey mccy, thanks for the update. :tu:

Good to see you keep working on this.

The SFZ files that this version puts out definitely look more tidy. It's great you fixed the notenames into notenumbers (for most instances, see comment below).

Still, there are quite a few things that would have to be fixed, it seems...

The fact that the note-name/number issue has been fixed will make it significantly more useful than it was. I guess the question at this stage is if this utility should merely be seen as a quick way to transfer samples and keyboard mappings into a SFZ file, which would then need further editing and tweaking in a text-editor, or if it should grow into a full solution that will produce flawless SFZ files (at least for basic/simple settings).

When I just load a TX16 program into it, without doing anything to the settings, the SFZ file that it puts out still has a couple of parameters messed up. These would be the following:

* pitch_keycenter : no value is generated when generating a file with the settings "root=wavread", this generates by default an error message when loading the file into Sforzando. When selecting "root=norootkey", then there is no code/line for pitch_keycenter at all. The setting "root=hikey" is only moderately useful, and generates notenames, not notenumbers.

When loading a program with many sample groups, some of them detuned, this is quickly a lot of extra hassle to get right.

* volume setting is still weird. Can't understand why tx2sfz can't generate "volume=0" when choosing this. But then again, I'm not looking under the hood at what's involved for this...

* It's nice to see that a basic flat filter setting seems to transfer correctly. On the other hand, for most sounds I tend to use a filter setting that is controlled by velocity (generally a low-pass filter that will kick in on lower velocities). This proved VERY difficult to capture in SFZ format, even using a text-editor. It might be too much to ask, at least at this stage, for such settings to be transfereable. That said, presently there isn't really a SFZ player that adds interesting sound options in this domain, so I might just as well keep these files in the TX16 format.

I also tried transferring a filter that uses TX16's envelope ENV1 to open and close a filter, and this also didn't work out. The problem here is that it wouild necessitate transferring values of the "Mod Table" (same applies for the example using velocity), which is simply too complicated at this stage, I guess... Anyway, other sample players wouldn't make much of it anyway presently, so not a big issue for now.

There's also something strange with release settings, although this doesn't seem to come from tx2fsz. It appears that TX16 release values result in shorter releases in SFZ players (or vice versa: that TX values don't correspond to "univeral" SFZ values). Don't know what this is about... Alchemy and Zampler don't read release values at all, it seems.

To reply on a few things you posted earlier:
mccy wrote: Aaah, by the way: There is one BIG drawback with tx2sfz & sfz sampling: You won't be able to use other files than wavs... That is a problem for me so far I can't solve... But let it take another months and I will look into it again.
This doesn't seem to be true. I've seen SFZ files with OGG (see some of Cakewalk's test files) and FLAC (see the free ARIA library offered with PLogue).

Anyway, I prefer WAV format, as it's the most lossless of these.
mccy wrote:
Sounddigger wrote: > tx2sfz generates no default value for " pitch_keycenter ". This results in an error when loading a SFZ file created by tx2sfz into Sforzando.
I wonder about that. Will have to check it again. That was just my last big project, enabling wav reading for rootkey. There are 2 other options to set root key: highkey = rootkey and no rootkey... So I hope there is no bug with "no rootkey"...
When choosing that (last) setting, you get in the SFZ file no code at all to set pitch. See earlier comment.
mccy wrote:
Sounddigger wrote: > When testing some drum sounds with fixed pitch for every sample and key-range, I noticed the keytrack coding was incorrectly read by tx2sfz. It read pitch_keytrack=100 from the TX16Wz file, but it should have been: pitch_keytrack=0
That's exactly, why I introduced the blue & yellow fields: For drum programs you have to change it to 0. It reads NOTHING from Tx16wx in this case. It is just an option to change group opcodes manually, because so far tx2sfz does not read pitch-keytrack, as there is no parameter like that in tx16wx, although i could translate normal & fixed & maybe some other scales to pitchtrackings.... O.K. that's possible, I think.
Yes please! Do fix this. It would really make much difference for the amount of work to fix the final SFZ file. Make it so that by default, when loading a TX16 file into tx2sfz, all values for pitch are as in the TX16 file and will be saved as such in the SFZ file.
mccy wrote:
Sounddigger wrote: Also, it ( pitch_keytrack ) appears in the <group> section, not in the <region> section where I believe it should be, since one might want to assemble a program that has some samples (i.e. keys) play at a fixed pitch, and other samples with normally transposed pitches. But OK, that's an advanced use..., can work around that.
I never did, so it's of course advanced. But maybe I will :-)
Combining groups of samples at fixed pitch with groups where the pitch transposes normally is useful when making big percussion programs, combining for example percussion with fixed pitch together with percussion that is played in a scale. Think of combining classical percussion sounds with tuned timpani, triangle or Gong, or say having various African percussion together with a couple of keys of tuned Gato or Balafon. That kind of stuff... Using micro-tunings is another option.

Of course, in TX16 you can simply layer a few programs to get the same result. But I've got programs where various tuning-methods are occurring.
mccy wrote:
Sounddigger wrote: > Another value that is (still) not correct by default, is the volume. I don't understand why setting it to "0" in the menu in the top bar doesn't set it at 0 but to -6.93 (in my case), nor why setting it at "+6" doesn't correct it to a final setting of 0dB.
That were peanuts to me so far. Tx16Wx has values from 0 to 1 & I had to translate them to dbs. Setting +6 db should be approximately 0, I thought. Don't take them too exact. Or is that necessary, to have them 100% correct... what is "correct"?
Ideally, by default, volume settings should precisely reflect the settings used in the TX16 program. This becomes even more of an issue when having many sample groups, some of which are played at different volume levels. Just KISS (= Keep It Simple Sandy). 1 on 1 is best, or something that is equivalent :)

To conclude: if you're going to put out a new update, mccy, I think it would be great if you could make it so that you'd be able to open a TX16 file with it, then save to SFZ without having to adjust any value and still get a flawless SFZ file. Leave out the values that would make this hard or impossible (leaving that for tweaking, the way it is in the present version). This is the best way to go, it seems. Just so that we get: start-up tx2sfz > load tx16 file > save to sfz > DONE :D

You're almost there in order to have this! You'd only have to fix the "pitch_keycenter" and "pitch_keytrack" issues (and set an appropriate default setting for the field "root=..." when opening tx2sfz ), and the volume settings.

All the other parameters are to be a bonus :)

Much success with it! ;)

Post

Thanks for your response again!
I'm still (although reading version 1.3beta on the program) not there to make a documentation & example files. So there is much hope, that there are still many points overseen in my testings. It's important to hear from your intensive testing. This will be even more interesting when I come to a point, where I think I'm finished - at that point I will have my mind open for problems left.

I spend some time on a complete rebuild of some calculations just to be able to open progs with about 300 samples and more (turning of some parameters)... Somewhere in that dimension seems to be the limit of tx2sfz. I'm sorry for that, but I guess I can't fix that soon.
I added (not uploaded so far) switches to enable/disable some parameter groups reading.

I also fixed problems reading vel2filter (is broken in last upload) (not uploaded so far). Indeed tx2sfz can read some modulation settings (those which use often).

The thing with wav/non wav files we said two different things: I won't be able to read other files than wavs, because I simply have no idea how to read those formats for getting rootkeys. I don't need it anyway, so reading other file formats than wav won't happen for tx2sfz.

I can't reproduce problems with rootkeys here. I worked with complex programs and it translates flawlessly. I allways test tx16wx -> tx2sfz -> sforzando and with my testfiles (less than 10, so probably problems are in details which I did not find so far) everything works. Thanks for the hint highkey2rootkey=notename. This will be fixed soon.

I found the release problem too. It's strange and maybe it's better to have it corrected in tx16wx maybe. I don't know so far. I just translate milliseconds2milliseconds.

Post

* volume setting is still weird. Can't understand why tx2sfz can't generate "volume=0" when choosing this. But then again, I'm not looking under the hood at what's involved for this...
0 db is factor 1 in Tx16wx. 0,5 should be -3db. In SFZ Format you can use values up to +6db.
You're right, I have to got into detail with this, but for now I have correct relative values and the ability to set 6db filling headroom. That should do for most cases.

I have to look at pitch settings, I thought pitchtrack=0 was working in the last version. Have to look at it again.

Post

Ah, found the volume bug. I have to work with log10 of course!
New upload with volumebug hopefully corrected & root=highkey in numbers & some other improvements up!

P.S. Forgot to set rootkey = wavread in settings: That should be default.

Post

oh, oh... maybe I have to rewrite some things. I just recognized that using a sample twice in a program is not recognized by tx2sfz because it searches for samples, not for groups.
This brings groupbased working closer, but phew, thats quite much change at the moment.

Post

I compared Tx16WX output files loudness with tx2sfz in sforzando. With newest version (not uploaded) I can have identical db levels. BUT: Loading it back to tx16wx changes everything I'm wondering if there is something wrong in tx16wx with volume reading from sfz files.

Post

tx2sfz is now a VSTinstrument (32bit).

www.derknott.de/tx2sfz.zip

In NO way comparible to tx16wx. The sfz player inside just allows to listen to the program you converted directly after saving with basic parameters.

I loaded it after tx16wx and before sforzando, so I have all I need in one effect-chain. Don't know if it's a benefit, but it's somehow nice, to have it playing what it converted :-)

When playing it uses more cpu than tx16wx! So this is more an experiment and a nice gimmick.

Tested under reaper.

Post

Anybody using it (tx2sfz)? Soon it will be 1st year anniversary, so I'd like to know if anybody benefits from many hours of work that went into the program...

Post

Hi
that's really an useful tool in my opinion. perfect for sharing sounds between alchimy , samplelord, and all others sfz players. great job !

Post

Waveroot read seems to be broken since at least last tx16wx update, but there are better possibilities, since tx16wx now saves root seperately! Maybe I can implement this quickly...

Post

Small bugfixes
- removed displaying strange samplepath infos
- added reading of the now saved rootkeys (no finetune reading so far!) from tx16wx.

Seems to work :-), feedback is very welcome!!!

Version 1.4beta

www.derknott.de/tx2sfz.zip

Post

Hello! Thanks very much for all the hard work.

My problem is that I'm not sure how to install this plugin. I dropped the file into my VST folder and it shows up in my Cubase plugin drop down, but it's all grayed out. Perhaps I need to access from within TX16Wx, not sure. Might be a good idea to include a couple of lines in the Readme document about how to actually install this extension. Thanks again!

Post

Ok, I found that I had to load the tx2sfz program via Audio insert in Cubase. I now can see the tx2sfz program. My next big problem is I cannot load the TX16WX program I saved. I'm not sure where the TX16WX program needs to be saved either. In addition, the "Open PRG" button does not react when clicked in order to search for any programs.

There is this very confusing bit of info in fine print at the bottom of Tx2sfz, but it doesn't really mention about where and how to load up your programs.
Before saving your prog in TX16WX, SPLIT ALL GROUPS to single sample groups --- save your selfmade *.txprog with TX16WX while 'COPY CONTENT' activated --- SAMPLES have to be in folder Samples dir within the prog-file - dir.
I'll keep at it.


Ok, Wasted enough time. I can't get the tx2sfz program to work at all. On to the next program and solution.

Post Reply

Return to “CWITEC”