Hi all, sending out an SOS… the TTY module is very interesting because it allows for the storage of a large amount of data (1000, if I understand correctly). Unfortunately, since TTY only allows recording, I don’t see any other way to use this stored data than to copy and paste it outside of VCV Rack, which isn’t very satisfactory. Do you know of a module equivalent to TTY but with an output that allows reading previously recorded data (and therefore sending it to another module, for example, BASICally)?
The developer of this module is active, so you should open a issue and describe how you want your request to work. The issue tracker is here: Issues · mahlenmorris/VCVRack
The Arrange module from CV Funk has an option on the right-click menu for pattern lengths up to 2048 steps.
I’m not sure if this is what you need, but I have two modules that are fairly good at playing back values from files:
I just realized that the documentation for these modules was non-existent. Here’s some that I had generated:
- voxglitch/docs/modules/onezero/user_manual.md at master · clone45/voxglitch · GitHub
- voxglitch/docs/modules/onepoint/user_manual.md at master · clone45/voxglitch · GitHub
Cheers,
Bret
Thank you, Bret! I wasn’t aware of these modules and think they look really good and very useful!
I understand that the limit of resolution of CV control is +/- 20 sequences, that would be a max of 41 sequences vertically. Is there also a limit regarding the number of steps per row (horizontally, e.g. 16, 32, 128, ∞)?
Moreover, I ran a couple of preliminary experiments to include spaces in each row of the .txt file for better readability. Can you confirm that spaces are ignored or would you advise against using them?

Also, just a tiny note that the TOC page of your GitHub (the one that the user is directed to when clicking on Info > User Manual) does not yet list One Zero and One Point.
The Lilac Looper lets you record up to two inputs of CV or audio and then play them back in a loop. It even records polyphonic input! The loop can be started and stopped at will via buttons or CV. Each time it stops it resets to the loop beginning.
The module can be configured to save the loop as part of the patch.
Thanks to Paul for looking into my problem. And thanks to Dustractor, Bret, and Dave for their suggestions.
I just tested Arrange (CV Funk), One Point, and Lilac Looper. These (amazing) modules do the job perfectly! I must say that without your help, I never would have been able to find them among the 3,500 or so modules in the library… Thanks again!
I can confirm that the code should be ignoring any character that isn’t a 1 or 0. If you notice anything off, let me know and I’ll dig into it! I’d definitely use them if they make your life easier!
More detail about the nature of the data being saved and used would help inform a response, but I will point out that MemoryCV is now a module that exists in my plugin. It can save data to a .wav or .csv file, load it on startup, and so on.
Thank you for your reply. If i understand correctly, MemoryCV does indeed allow writing and reading. However, the recording in question is not discrete but continuous for a duration fixed by RATE. In fact, I’m looking for a module that allows recording discrete voltage values, one by one and on demand from the user. TTY does this very well. But subsequently, I would like to be able to read these previously recorded voltage values from TTY in order to apply processing to them in BASICally. But this feedback isn’t supported by TTY…
Hi @gabtiorbi, I am the author of Sapphire Moots. In this case, Moots might not be the best choice, because it simulates the blue cable being plugged and unplugged. I don’t know how the TTY module will react to that behavior. Another switching module may work better in this case.
Ah, well, since you want to use the values in BASICally, i may have already anticipated that possibility.
Patch: Saving individual values.vcv (1.5 KB)
The key here is that BASICally has the ability (with debug()) to print out the contents of an array to TTY, and you can use that contents to paste into BASICally.
In the screenshot, you see I selected values and sent them to BASICally.
Then I pushed the middle button to generate the BASICally code for those values:
saved[0] = {0.750001, 0.666667, 0.250000, 0.083333, 1.083334, 1.059081, 1.025286}
Now you can copy and paste that line from TTY into a different BASICally program to use the values. Although you’ll likely want to change the name of saved to whatever array you want to run through.
This may be more manual than you were thinking, but it has the advantage that, once you paste the line into the BASICally program, of being saved into the patch.
Not sure what your use case is, but maybe this does it?
That’s exactly what I was trying to do. And as a bonus, I don’t have to worry about formatting the array (in Basically format) since you’ve already done it! Copying and pasting isn’t a problem: it requires a little more work, but it’s unavoidable when working with files external to VCV Rack … and it does not require a large energy investment. I hope you’ll allow me to use your code… because I definitely intend to use it! Thank you very much.
Gabriel
This patch is only used to illustrate my point, and TTY works well with Moots. And, to be honest, knowing Moots well (but less than you, of course !) I couldn’t be bothered to look for a more suitable switch. Thanks for your interest.
TTY reports every value that comes in as long as it’s different from the previous value. Using Moots this way allows the user to fiddle with Reftone for as long as they want without TTY noticing the intermediate values.


