Audulus Tutorial Livestreaming on YouTube
  • I'm getting set up to do live streaming for Audulus tutorials on YouTube. You'll be able to give me real-time questions and feedback as I'm building things, and this will be an easy way for me to create a lot more tutorial content.

    I'd like suggestions for the best days and times for you (write them in EST please) and topics.

    It *is* an option for me to stay up super late here in North Carolina so that people on the other side of the world have a chance to take part in the live stream.

  • I guess Late afternoon for you is a good time for me.
  • Bookmark this link - it's the Audulus livestream link.

    I'm going to be working on some patches as a test - stop by here and use the chat and say hi so I can see if it's all working OK.
  • Seems like it works! I'm going to go do 4th of July stuff, but know that in the future I'll have scheduled livestreams, but I'll also just stream whenever I'm building Audulus patches and you can stop by and watch and ask questions.

  • I'll be livestreaming again tomorrow around 12pm EST. The topic will be open to whatever people have questions about, and if no one shows up or asks specific questions, I'll just build something that's on my to-do list.
  • is 12pm est midday?
  • shared with my friends ;) maybe some of them shows up if they have time... i will watch it aswell :D
  • Live in 30 minutes! Topic: Making an Expert Sleepers ES-8 CV utility module.
  • Livestream today at 12pm!

    Topic: Standardized Signals in Audulus & How to Translate them to Eurorack Modular with the Expert Sleepers ES-8 (or other DC-coupled Audio Interfaces).
  • Good topic. After looking into the whole zero-crossing thing and the accepted meaning of negative frequency modulation, I've been thinking about the 0 to 1 standard for modulation signals (which I wholeheartedly support) and wondering whether it might make sense to extend it to -1 to 1 at least in those cases where a negative value makes sense. I added a phase shift input to my version of the linear FM oscillator and @RobertSyrett pointed out that a negative shift could be useful. I modified the input to allow -1 to 1 for +/- one cycle where 0 is no shift. if I had scaled it to 0-1 there would only be positive shifts. The envelope signal could be defined as -1 to 1 where for a negative value the output is inverted, etc.
  • @stschoen - I see what you mean, but that brings about complications that wouldn't be easy to implement. In some cases, a negative signal will cause a NaN, so you don't want to have a shared input that encourages people to put a -1 to 1 signal where a 0 to 1 signal should be. You could, of course, use a clamp(x,0,1) expression in those cases, but that uses extra CPU, and that expression in particular is one of the higher CPU use ones. It can add up over the course of many modules.

    For what you're talking about, there are several options: you can translate the 0-1 signal into -1 to 1 inside the module, which would be the easiest.

    If you want to have an audio input for modulation, you can either have a separate audio input, use an auto range detector to translate it from -1 to 1 to 0 to 1, or have a switch that turns the m input into a -1 to 1 ranged input.

    As far as an inverted envelope, you can use the positive domain attenuverter I uploaded.

    Another problem you might not have considered is that perhaps these negative shift inputs would also have corresponding knob controls. If you don't have anything present at the input, the knob still has to be 0-1 so that the modulation signal scales correctly (numbers outside of the range of the knob don't animate when a wire is connected to the knob, so you can't tell what's happening between -1 to 0). Cause if you had a phase control that could do positive and negative shift, you'd want .5 on the knob to be 0deg and the 0 to 1 extremes to be -/+ 180 or 360 or whatever.

    I'm open to changing my mind on this, I'm just positing these cases are alternatives to why it doesn't need to change and how things can be adapted as-is.
  • All your points are valid ones and I originally had a knob centered at 0.5 for the phase shift input. I have mixed feelings which is why I thought I would ask your opinion. In this case it would seem logical that 0 = 0 phase shift, but I'm very reluctant to move away from the standard.
  • If I may weigh in, I think the case for bipolar modulation is simply that bipolar modulation is the how many modules in eurorack/5U operate. People coming from that world are totally familiar with bipolar modulation and it's the convention to just pin or rectify the modulation signal when it goes beyond what the circuit would normally respond to.

    I'm surprised that clamping is processor intensive, I have been trying getting into the habit of internally clamping all my knobs since if you attach a bipolar signal to them they can internally output negative numbers which isn't always what I want.

    The main advantage of the unipolar modulation convention in Audulus is just that it maps nicely to the knob node. Thinking therefore that every modulation signal should be unipolar can result the fallacy of categorical fixedness, as the convention is not widely adhered to in the wider world of sound design.
  • Maybe we need a knob that's centered on zero with a -1 to 1 swing. I would love to have something that automatically returned to center when released. It would make a great pitch bend control. It would need to be obvious that it wasn't 0-1.
  • @stschoen

    " In this case it would seem logical that 0 = 0 phase shift, but I'm very reluctant to move away from the standard."

    I see what you mean, but why would 1/-1 = 180 or 360 or 90? The solution to this would be to have a value node that expresses what the degree of phase shift is.

    "Maybe we need a knob that's centered on zero with a -1 to 1 swing."

    A self-centering knob has been on the feature request list for a while - it wouldn't be fixed at -1 to 1 it would probably just work like the knob node where you can set the range you want. I would love it if there was an option for a "wiggle" bounce when you let go of it that would model the spring inside a real pitch wheel.

    In any case, it still wouldn't need to be -1 to 1, cause that could happen inside the module.


    "The main advantage of the unipolar modulation convention in Audulus is just that it maps nicely to the knob node. "

    That's actually not the only main advantage - here's a list of reasons why it is the way it is:

    1) Envelopes and Gates are always going to be 0-1. If we had bipolar inputs, an envelope wouldn't be able to properly modulate them.
    2) Having bipolar inputs mixed with unipolar inputs would encourage people to put bipolar signals where they shouldn't (like resonance controls).
    3) Bipolar signals created by audio oscillators, especially ones that add multiple oscillators together, can sometimes be outside the -1 to 1 range. A square/saw wave with its harmonics will peak out of the -1 to 1 range if its amplitude = 1 due to the anti-aliasing in the oscillator node. This would break some functionalities and cause a white-out unless the signals were all internally clamped.
    4) To the point above, audio needs to be kept between -1 to 1, but that's only really when it exits Audulus. I might include a little footnote that clarifies this in the documentation, because if you want to overdrive parts of a module, you might want to increase the gain past the -1 to 1 range to -50 to 50 even.
    5) From a smaller aesthetic point, if all modulation was bipolar, the red/blue lights wouldn't light as brightly as the red light alone unless the signal was swinging wide.

    I understand the impetus behind wanting it to be as conceptually seamless from modular to Audulus, but the reality is they are different and have different needs. Also, the standards that evolved from modular are not necessarily better, they're just what people are used to.

    The solution here is pretty easy - if you want to have an oscillator have an output that can FM another, either have a modulation output that is a translation of the audio output, or have an audio/bipolar input that is not a knob that could nevertheless be controlled and scaled by a knob - either one would work! :)
  • I think when all is said and done it would probably be best to stick with the zero to one standard for modulation inputs although I think zero-crossing FM synthesis might be considered a special case. In any instance it's simple to translate an audio signal going into a modulation input to meet the zero to one standard.