clone45 / voxglitch

Modules for VCV Rack
GNU General Public License v3.0
102 stars 16 forks source link

Please update documentation #53

Open danhphotos opened 4 years ago

danhphotos commented 4 years ago

Please update the docs for this plugin, especially Grain Engine & Grain FX! They look good, sound great, but some explanation of these modules is sorely needed, especially knobs & CV inputs.

Thanks for this excellent plugin!

clone45 commented 4 years ago

Hi Dan, thanks for the very kind email. I sincerely apologize for not keeping the documentation up to date. I'll try to have updated documentation posted within the next 3 to 4 days for the new modules. It's been something I've been meaning to do, but my excitement for building new things distracted me. :-)

My pleasure!

danhphotos commented 4 years ago

Thanks for your quick reply. I know putting documentation as an Issue is overkill!  No apology needed, I do like your modules and I really do appreciate you making them in VCV! I really think more granular modules are needed in Rack, and the only one before yours was GRAN by Noziod which is quite primitive, although extremenly easy to use (one grain out for each trigger in).

I have been slowly learning how to use your modules, and I look forward to each new one you release. But yours are different from most granular processes I have used, whether VSTs or Reaktor (which is the king of granular processing). Or at least your terminology is different (window, spawn rate, quantity). I'm not at all saying other terminology is better than yours, yours is just different than what I think of granular, and I am having a little trouble getting my head around it (I am 68 years old in a few days so it takes me longer!).

I really appreciate GrainFX, since most granular software in general processes samples instead of the input stream. I am not sure I understand the right side of GrainFX, I personally would prefer a simple Position (like you have in some of your other modules) that I can modulate with the rest of VCV, as opposed to a built-in LFO, but that's just me. Maybe this method is necessary for processing live input??? What is Override LFO at bottom right? I must admit I also do not understand the Position knobs/CV inputs at the top of Grain Engine MKII, I personally like the simple Position of MK I, which I can modulate with the rest of VCV. On Mk II I can't just scan thru the position with a ramp wave to play the whole sample, I cannot figure out a voltage that will scan thru the whole sample, everything I feed in misses one or both ends. My solution is to use a Stoermelder iMap module, assign it to the Position knob, and modulate it that way. But I realize you have a purpose for your method, I just don't know what that is. I can see the potential in your modules, and the more I know about them the better and more creatively I can use them!

Again, thanks for your excellent modules! And for bearing with this long-winded email! Document them when you are able, and give us more when you are able!!! I just watched Omri's New Modules in May video, and he mentions & briefly shows GrainFX & Grain Engine MkII.

On Sunday, May 31, 2020, 2:24:19 PM PDT, Bret Truchan <notifications@github.com> wrote:  

Hi Dan, thanks for the very kind email. I sincerely apologize for not keeping the documentation up to date. I'll try to have updated documentation posted within the next 3 to 4 days for the new modules. It's been something I've been meaning to do, but my excitement for building new things distracted me. :-)

My pleasure!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

clone45 commented 4 years ago

That's great feedback Dan! It's interesting to hear your experience with the modules. I'm no expert at granular synthesis, and my terminology is probably all over the place. I've been googling and watching youtube videos in hopes that I can name things better. I've been programming these modules with only a vague idea of how it's done. Ha ha ha. In fact, my Ghosts module, which was my first foray into granular synthesis, is super strange.

In GrainFX, inserting a cable into the Override LFO input turns off the internal modulation completely, meaning that all that stuff on the right side is bypassed. You should be able to use that for your simple "Position" input.

In Grain Engine MK2, the additional two inputs (medium and fine) are totally optional. If you use the Course input, it should act similar to the original Grain Engine. However, there have been some changes under the hold. The original Grain Engine was careful about keeping the position from reaching the end of the sample or going negative. The MK2 version wraps the position instead, so if position is past the end of the sample, it starts playing from the front of the sample. (Essentially: position = position % sample_length;)

I've started the documentation for the MK2 version and I'll attach it here for you! It's about 1/3 done. I'm going to be adding a lot more information! But I'd be interested in hearing your feedback on what I've completed so far. :-)

grain-engine-mk2.pdf

Thanks! I'm very happy that you are enjoying the modules! I have an exiting expansion module coming soon for Grain Engine MK2 which will allow you to capture incoming audio and load it into one of the sample slots. It may be a few weeks before it has bee completed, but the early prototype is lots of fun.

Cheers, Bret

danhphotos commented 4 years ago

Wow I am impressed - this is quite a lot of documentation! And I am also embarrassed - here I thought you had nothing, but you have all this, just waiting to improve it!  Looks good to me!

I am still not sure how or why to use the 3 different Position values in Grain Engine MkII. For me, I would like to feed in a simple value to modulate Position, classically a ramp wave will transverse the entire wave. I spent a while last night trying to find a changing voltage that would cover the whole wave, the way I can do by turning the Position knob from full Left to full Right but I could not find one. So I cam up with the uMap method which works fine for me. Why do I want to transverse the entire wave? Because that's the way I have always seen it done. I am very much open to new things even though I am an old guy. Your method may inspire me to do something more creative with granular synthesis. For your information, the granular synth things I am familiar with are from Curtis' Microsound book, and some of the software I am familiar with (I use a PC not a Mac) are the classic but now updated Granulab (aka Granny) which now comes as a standalone application and even comes in the form of a VST at least for the PC, and the original ancient MS-Dos version is good also. Some other freeware software favorites for the PC are GrainMainFrame, Borderlands (PC and also an iPhone app), Clouds64 Granulator, Sound Grain, & Atomic Clouds Granulator. And of course Reaktor, which has dozens of granular instruments. Again, thanks & keep up the good work - on your own development schedule, not mine!

On Monday, June 1, 2020, 2:37:47 PM PDT, Bret Truchan <notifications@github.com> wrote:  

That's great feedback Dan! It's interesting to hear your experience with the modules. I'm no expert at granular synthesis, and my terminology is probably all over the place. I've been googling and watching youtube videos in hopes that I can name things better. I've been programming these modules with only a vague idea of how it's done. Ha ha ha. In fact, my Ghosts module, which was my first foray into granular synthesis, is super strange.

In GrainFX, inserting a cable into the Override LFO input turns off the internal modulation completely, meaning that all that stuff on the right side is bypassed. You should be able to use that for your simple "Position" input.

In Grain Engine MK2, the additional two inputs (medium and fine) are totally optional. If you use the Course input, it should act similar to the original Grain Engine. However, there have been some changes under the hold. The original Grain Engine was careful about keeping the position from reaching the end of the sample or going negative. The MK2 version wraps the position instead, so if position is past the end of the sample, it starts playing from the front of the sample. (Essentially: position = position % sample_length;)

I've started the documentation for the MK2 version and I'll attach it here for you! It's about 1/3 done. I'm going to be adding a lot more information! But I'd be interested in hearing your feedback on what I've completed so far. :-)

grain-engine-mk2.pdf

Thanks! I'm very happy that you are enjoying the modules! I have an exiting expansion module coming soon for Grain Engine MK2 which will allow you to capture incoming audio and load it into one of the sample slots. It may be a few weeks before it has bee completed, but the early prototype is lots of fun.

Cheers, Bret

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

clone45 commented 4 years ago

Oh - I wrote all of that documentation last night! It's all brand new.

I'll spend some time in the documentation explaining, in detail, what the different position inputs do. I just forgot to explain it. Ha ha ha.

I spent a while last night trying to find a changing voltage that would cover the whole wave, the way I can do by turning the Position knob from full Left to full Right but I could not find one.

...I'll spend some time looking into this. That seems like something that you should be able to do. I wonder if I need to reconsider how the pitch input works. No worries - I'll poke around with it over the next few days. It may be some sneaky implementation bug, or maybe I'll find out that it is possible but takes a little bit of tinkering.

I'll keep you posted! Bret

clone45 commented 4 years ago

Hey Dan! I created a video for you showing how to scan through a .wav file: https://youtu.be/7Dk3K8On8aI

I hope that helps out! I'll add this to the documentation as well.

danhphotos commented 4 years ago

That works great - thanks Bret! The Range LFO is the secret. I could see you needed position values of +-10 volts to cover the whole wave, and I could do it by connecting an attenuverter to the position input and turning the attenuverter knob manually, but I could not do that range with a regular LFO. I did try a regular LFO thru the Bogaudio Offset module, and that worked but it was very sensitive to the offset & scale params and not worth the effort. By the way, the Stoermelder uMap is an excellent module, it lets you make any knob controllable via CV.

And now YouTube shows me you have other tutorial and demo videos for other modules! I did not know that, wow what a fun day today is going to be, watching videos & playing with your modules!

And that is essentially what I do most of my days - I am retired so even before Corona I spent most of my time making sounds. I don't pretend to make music, I tell people I am "making cool sounds". I just play around and if I make something that sounds good I save that setup as a VCV file and press Record. I don't even have a DAW yet, although I am itching to combine some of my sounds together into longer pieces.

Thanks again. Now I can't wait to "get to work" playing!

On Monday, June 1, 2020, 6:12:41 PM PDT, Bret Truchan <notifications@github.com> wrote:  

Hey Dan! I created a video for you showing how to scan through a .wav file: https://youtu.be/7Dk3K8On8aI

I hope that helps out! I'll add this to the documentation as well.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

clone45 commented 4 years ago

It's great to get your feedback! I'll add some position input settings to the right-click menu to allow people to select from various position input ranges, such as:

That should help a bit. :-)

I wish I were retired! I'm a 48 year old computer programmer - although I'm transitioning to product design right now. I think that I'll always consider myself a programmer above anything else, regardless of job title. VCV Rack is a great creative outlet. I love building new modules. I'm like you - I usually just record noises or clips of music. I had made music a long time ago ... and I might get back into it. I love the idea of layering sounds that compliment each other.

I'm glad that you found my other videos! I'll be adding links to those in the updated documentation.

Have fun!!