Capture your gear for free with TONEZONE3000

@Jan666 have you done a null test between the xSTD vs the real deal as well as the hyped up models vs the real deal?
I see people mention the metrics but I'm curious what the NULL test reveals.
 
You'll want to use nam-full and specify the file paths on the command line (https://neural-amp-modeler.readthedocs.io/en/latest/tutorials/full.html). The full trainer isn't user friendly in the same way but once you figure it out it's not too bad and you can do some more flexible things if you get deeper into it (e.g, I worked it into a scripted flow I have and it's now even lower effort than using the GUI).
Yeah, I've tried by following that guide but for some reason I wasn't able to make it find the .json files... I'll try again later, maybe I had missed to do something
 
You'll want to use nam-full and specify the file paths on the command line (https://neural-amp-modeler.readthedocs.io/en/latest/tutorials/full.html). The full trainer isn't user friendly in the same way but once you figure it out it's not too bad and you can do some more flexible things if you get deeper into it (e.g, I worked it into a scripted flow I have and it's now even lower effort than using the GUI).
Ok, tried this again by thoroughly following that guide and I still get the same error in the anaconda terminal:

Code:
(base) C:\Users\carme>nam-full \
usage: nam-full [-h] [--no-show] data_config_path model_config_path learning_config_path outdir
nam-full: error: the following arguments are required: model_config_path, learning_config_path, outdir

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\data.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\model.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\learning.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\captures
"D:\Desktop\NAM\nam-full\captures\" isn't recognized as an internal or external command, an executable program or a batch file.

Any clue about why this is happening?
 
Last edited:
Ok, tried this again by thoroughly following that guide and I still get the same error in the anaconda terminal:

Code:
(base) C:\Users\carme>nam-full \
usage: nam-full [-h] [--no-show] data_config_path model_config_path learning_config_path outdir
nam-full: error: the following arguments are required: model_config_path, learning_config_path, outdir

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\data.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\model.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\learning.json \

(base) C:\Users\carme>D:\Desktop\NAM\nam-full\captures
"D:\Desktop\NAM\nam-full\captures\" isn't recognized as an internal or external command, an executable program or a batch file.

Any clue about why this is happening?

Yes - don't use the \ breaks - you can just put the command in as one line (it's for readability but also the syntax for windows)

nam-full path/to/data.json path/to/model.json path/to/learning.json path/to/outputs
 
I’ve been playing around with xSTD architecture out of curiosity for my own use. With my setup, a 1000 Epoch capture of a moderately high gain amp typically results in an ESR around 0.007 to 0.012 with the Standard architecture. I’ve achieved ESR below under 0.002 consistently with xSTD. For my personal use, I find utility in both the Standard And xSTD sounds. I’d probably just share Standard captures if they end up worthwhile, to avoid muddying up the waters.

I haven’t tried doing any null tests. I did use the TTS Spectrogram Generator to see what was going on. Not sure if anyone would find those pictures enlightening.

It’s nice that TZ3000 remembers the previous training parameters, so you don’t need to paste in the code each time.
 
Last edited:
Yes - don't use the \ breaks - you can just put the command in as one line (it's for readability but also the syntax for windows)

nam-full path/to/data.json path/to/model.json path/to/learning.json path/to/outputs
Thanks! Now it correctly recognizes the paths but now I get another error and I can't figure out where it comes from, I've checked the decoder.py file as well as all 3 configuration files and can't find this damn invalid \escape...


Code:
(base) C:\Users\carme>nam-full D:\Desktop\NAM\nam-full\data.json D:\Desktop\NAM\nam-full\model.json D:\Desktop\NAM\nam-full\learning.json D:\Desktop\NAM\nam-full\captures
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\carme\miniconda3\Scripts\nam-full.exe\__main__.py", line 7, in <module>
  File "C:\Users\carme\miniconda3\Lib\site-packages\nam\cli.py", line 107, in nam_full
    data_config = json.load(fp)
                  ^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 354, in raw_decode
    obj, end = self.scan_once(s, idx)
               ^^^^^^^^^^^^^^^^^^^^^^
json.decoder.JSONDecodeError: Invalid \escape: line 17 column 22 (char 388)

PS: maybe I should just ask in the nam group, don't want you to debug this for me
 
Thanks! Now it correctly recognizes the paths but now I get another error and I can't figure out where it comes from, I've checked the decoder.py file as well as all 3 configuration files and can't find this damn invalid \escape...


Code:
(base) C:\Users\carme>nam-full D:\Desktop\NAM\nam-full\data.json D:\Desktop\NAM\nam-full\model.json D:\Desktop\NAM\nam-full\learning.json D:\Desktop\NAM\nam-full\captures
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\carme\miniconda3\Scripts\nam-full.exe\__main__.py", line 7, in <module>
  File "C:\Users\carme\miniconda3\Lib\site-packages\nam\cli.py", line 107, in nam_full
    data_config = json.load(fp)
                  ^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 354, in raw_decode
    obj, end = self.scan_once(s, idx)
               ^^^^^^^^^^^^^^^^^^^^^^
json.decoder.JSONDecodeError: Invalid \escape: line 17 column 22 (char 388)

PS: maybe I should just ask in the nam group, don't want you to debug this for me
Ok, found the issue! In the data.json file, the paths to input.wav and output.wav should contain "/" instead of the default "\" that windows copies, I knew it was something stupid... Now training started! Thanks again @northern_fox !

PS: just to give a proper example, the path needs to be "D:/Desktop/NAM/nam-full/output.wav" instead of "D:\Desktop\NAM\nam-full\output.wav"
 
Thanks! Now it correctly recognizes the paths but now I get another error and I can't figure out where it comes from, I've checked the decoder.py file as well as all 3 configuration files and can't find this damn invalid \escape...


Code:
(base) C:\Users\carme>nam-full D:\Desktop\NAM\nam-full\data.json D:\Desktop\NAM\nam-full\model.json D:\Desktop\NAM\nam-full\learning.json D:\Desktop\NAM\nam-full\captures
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\carme\miniconda3\Scripts\nam-full.exe\__main__.py", line 7, in <module>
  File "C:\Users\carme\miniconda3\Lib\site-packages\nam\cli.py", line 107, in nam_full
    data_config = json.load(fp)
                  ^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\carme\miniconda3\Lib\json\decoder.py", line 354, in raw_decode
    obj, end = self.scan_once(s, idx)
               ^^^^^^^^^^^^^^^^^^^^^^
json.decoder.JSONDecodeError: Invalid \escape: line 17 column 22 (char 388)

PS: maybe I should just ask in the nam group, don't want you to debug this for me
You can find online validators for JSON. Run your JSON files through those to detect syntax errors.
 
Ok, found the issue! In the data.json file, the paths to input.wav and output.wav should contain "/" instead of the default "\" that windows copies, I knew it was something stupid... Now training started! Thanks again @northern_fox !

PS: just to give a proper example, the path needs to be "D:/Desktop/NAM/nam-full/output.wav" instead of "D:\Desktop\NAM\nam-full\output.wav"

Ah yes, the 'normal' path separator is '/ ' but windows is the exception and you need to escape the \ with \\ for that to work in this case which I think will also work
 
I made a bunch of captures yesterday using TZ3000 with the sine wave file. Got great results and the process is so straightforward. Thanks a lot for providing it!

Next step is figuring out the input levels etc. so I can get those things right as well. :cool:
 
Trying my first NAM Capture with TZ3000

=> D/L the Sweep File
=> Ran it through the [Modeler] Amp only
=> Saved the file in 48 / 24
=> loaded into TZ3000
=> it Initializes and then when Running the Checks, I get either "Inconsistent Lenght" or "Inconsistent Tone (?)

Figure this is a newbie error ?

1740571682690.png
 
Trying my first NAM Capture with TZ3000

=> D/L the Sweep File
=> Ran it through the [Modeler] Amp only
=> Saved the file in 48 / 24
=> loaded into TZ3000
=> it Initializes and then when Running the Checks, I get either "Inconsistent Lenght" or "Inconsistent Tone (?)

Figure this is a newbie error ?

View attachment 39523
Not 100% sure but all I can think of is I have the session set to 120bpm and the input file will line up nicely, easy to export the chunk on the grid

If there’s a noise gate turn that off…. And a mono wav file on the export, everything else seems like it should be fine
 
Trying my first NAM Capture with TZ3000

=> D/L the Sweep File
=> Ran it through the [Modeler] Amp only
=> Saved the file in 48 / 24
=> loaded into TZ3000
=> it Initializes and then when Running the Checks, I get either "Inconsistent Lenght" or "Inconsistent Tone (?)

Figure this is a newbie error ?

View attachment 39523
I got an ”inconsistent tone” as well yesterday when doing the single clean amp capture I had planned. It was visibly louder on the recording track in my DAW compare to my hi gain captures I had done just before so I reduced the volume with an EQ in the loop of the amp just a tiny bit and ran it again. Then it worked.

Guessing it’s hard to give a more detailed message what could be wrong with the audio file. I was stumped for a bit as well.

Capture came out great after that, takes my OD pedals and even a nitpicky fuzz pretty well.
 
Not 100% sure but all I can think of is I have the session set to 120bpm and the input file will line up nicely, easy to export the chunk on the grid

If there’s a noise gate turn that off…. And a mono wav file on the export, everything else seems like it should be fine

Yep checked and that was all done :(

I got an ”inconsistent tone” as well yesterday when doing the single clean amp capture I had planned. It was visibly louder on the recording track in my DAW compare to my hi gain captures I had done just before so I reduced the volume with an EQ in the loop of the amp just a tiny bit and ran it again. Then it worked.

Guessing it’s hard to give a more detailed message what could be wrong with the audio file. I was stumped for a bit as well.

Capture came out great after that, takes my OD pedals and even a nitpicky fuzz pretty well.

My recorded track sits around -8 <-> -12 db (?) I would have thought that would be cool (?)

When I let [Cakewalk] play and record the wav track in real time, do you trim the beginning and end of the recorded wav track so it matches the sweep wav lenght exactly - I do - maybe this is causing an issue (?) or does TZ3000 just ignore any silence at the before and after the sweep even if that makes the recorded track longer than the TZ3000 sweep file ?
 
Yep checked and that was all done :(



My recorded track sits around -8 <-> -12 db (?) I would have thought that would be cool (?)

When I let [Cakewalk] play and record the wav track in real time, do you trim the beginning and end of the recorded wav track so it matches the sweep wav lenght exactly - I do - maybe this is causing an issue (?) or does TZ3000 just ignore any silence at the before and after the sweep even if that makes the recorded track longer than the TZ3000 sweep file ?
During my first trials I got the error that the length didn’t match, so I made sure to trim the recording to be exactly the same length as the sine sweep file. I used the multiple punch ins setting I Logic so that it started on take 2 when finishing. Then I just deleted the second take it had started and exported the audio. I’m a real newbie on DAWs so hopefully someone more knowledgeable can chip in!
 
Not 100% sure but all I can think of is I have the session set to 120bpm and the input file will line up nicely, easy to export the chunk on the grid

If there’s a noise gate turn that off…. And a mono wav file on the export, everything else seems like it should be fine

During my first trials I got the error that the length didn’t match, so I made sure to trim the recording to be exactly the same length as the sine sweep file. I used the multiple punch ins setting I Logic so that it started on take 2 when finishing. Then I just deleted the second take it had started and exported the audio. I’m a real newbie on DAWs so hopefully someone more knowledgeable can chip in!

Re-did it all again - exactly the same and *now* its all working ... go figure !?!?!?!?! :)

Thanks again for chiming in :)
 
fwiw, when using the sweep trainer you'll want the output audio file to be exported at the same length as that of the input audio file

additionally, if you are using the wet/dry trainer, align those manually to match or you'll potentially have a model with latency

ymmv
 
Back
Top