![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: pulse train duty cycle | |
flo Member |
![]() ![]() ![]() Hi, i experienced a strange thing with the duty cycle of a pulse train. When I use this sound as an envelope for a sample and set the dc to '1' there is no chopping/pulsation as I would expect. When I place a FunctionGenerator in the duty cycle field I still hear chopping/pulsation even when the curve (Gaussian) reaches '1' (i checked this with the SoundToGlobalController) How can this be? Thanks. Best, Flo IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Maybe the Gaussian is only briefly at a value of 1? Or perhaps it never quite reaches the value of 1 at the duration you have given it (due to sampling?) IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Flo With the Duty cycle set to one you would expect all mark and no space, and hence no pulse just a continues 1. If you paste a sound into the field you never quite get absolute plus one as 2s complement numbers rainging from -1 to 1 can only give a true minus one but not a true plus one. This is because zero is considered to be the first plus value hence there is one less value in the positive range than there is in the negative range. Capytalk number one is true one as it is not limited and could even be values 2,3,4 or even 10,000 without being clipped. Also guassian is read from a pre calculated wave table that probably doesn't quite reach true one in any case. Not sure if this is what you are seeing. IP: Logged | |
flo Member |
![]() ![]() ![]()
ok, but as you can see in the attached example I ensured that it reaches ‘1’ (that’s what I see in the SoundToGlobalController at least) but still with my sample I hear pulsation!? Or can it not be trusted what you see in the SoundToGlobalController? Thanks. IP: Logged | |
SSC Administrator |
![]() ![]() ![]() In the SoundToGlobalController for creating !Curve the Value expression: [Crossfade] L * 1.45 will have a maximum of 1.45. However, by pasting the SoundToGlobalController Sound into the DutyCycle field of the PulseTrain, you are using the output of the SoundToGlobalController Sound itself, rather than the global controller !Curve. Sound outputs are always within the range of -1 to +1 (actually not quite +1, but very very close). So when you use the output of the SoundToGlobalController in the expression: 0.5 + [FreezeFunctionGenerator] L * 0.5 the maximum value is (0.5 + 1) * 0.5, which is 0.75. It would be best to place all of your SoundToGlobalControllers into a separate Mixer (be sure to check the Silent parameter in each STGC) and use the global controllers !Curve and !OnOffD1 in your Sounds (rather than using the STGC themselves). Also you need parentheses in your expression, since Smalltalk precendence rules are left to right (multiplication and addition have the same precedence): 0.5 + (!Curve * 0.5) [This message has been edited by SSC (edited 31 December 2011).] IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.