![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Angle Displacement PJ Harmonic Exciter1 | |
pete Member |
![]() ![]() ![]()
Please see details below [This message has been edited by pete (edited 21 April 2014).] IP: Logged | |
pete Member |
![]() ![]() ![]() Above is an Exciter Sound for enhancing audio signals. Never heard of an Angle Displacement exciter? There's a reason for that, as I've just invented it. The idea of Exciters is to produce higher harmonics derived from the lower harmonics in a signal to give the sounds more liveliness. It's not the same as boosting the highs that are there (EQ), as that will increase any hiss and could destroy the sound. The simplest way to make higher harmonics out of lower harmonics is distortion, as electric guitar players have been doing for years. That's great for electric guitars as that distorted sound is the sound they are looking for, but what if we wanted to have a similar effect on a voice or even a mix? Then the distorted sound produced would sound horrendous (unless that's what you wanted of course). The way some exciters get around the problem is to only take a high pass filtered version of the the sound, distort that, and then add it back to the original signal, so that the lower frequencies remain in-tack and it still sounds realistic. The problem with most exciters is that the distortion part is produced by non linearity, like soft clipping, and the amount of distortion is very much a function of the level of the signal at any moment of time. This means that loud signals get more harmonics added and also changing the input level will completely change the sound. In the attached sound the distortion is produced in a different way which is not level dependent. The filtered sound first goes through a Hilbert transform with produces a 90 deg phase shifted version of the sound. This means the sound is represented as a real and an imaginary. If you were to plot this on an X,Y oscilloscope you would see a 2D squiggly pattern. If you put the same signal through it, but at a lower level, then you would see an identical pattern but smaller. By using "square root of sum of both inputs squared" module and a bit of maths we convert the X,Y signals into vectors, i.e. the same signal but represented as distance from the center (magnitude) and angle. The angle wave form will be the same for a given signal, no matter how loud that signal is. When I say the angle wave form will be the same, I mean the same, not similar i.e. if the input signal were 50dB quieter then the angle wave form will still be the same shape and size as before, and would not be any smaller. We then distort the angle signal only, in the normal way (soft clipping, biasing etc) and then convert back to X and Y, using the new deformed angle waveform and the old un-effected distance (magnitude) wave form. What this means is that quiet sections and the loud sections will all get enriched upper harmonic content pretty much equally, and you don't have to be so careful about getting your input level set just right. The Hilbert means that there is a bit of latency in the sound but as this is limited to only high frequencies we use a shorter FIR so it's not too bad. Note there are other sounds in the file which show the workings and testing of the theory. Also Note you would need two of them for a stereo version. I hope this makes sense. Pete P.S. If anyone want to add it to the tweaky be my guest. [This message has been edited by pete (edited 21 April 2014).] IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Interesting… Just made a tweak that you may like, Pete. In the current version, there is a hole in the spectrum between the lows and the highs when you switch on the effect. If you negate the Gain, however, the hole is filled in. Probably the hole was caused by cancellation, and using a -4 in place of the 4 prevents it from canceling. I think you'll like the result a little better without the middle of the spectrum getting knocked out (giving a slightly nasal quality to the voice). IP: Logged | |
pete Member |
![]() ![]() ![]()
Hi SSC Well done for noticing that. Normally there is a 50/50 chance of getting the phase wrong but with the Hilbert there is a 4 to 1 chance against, as it could be out by 90 degs as well. I think I set it up and checked that phase was correct with the test bed, but removed an invert when I cut it down for the for the final thing. I've uploaded the corrected version 2 with your correction added. An improved version could be if the high frequencies were removed from the original signal (with a matching high cut) as the harmonic rich version was added (effect was turned up). This would keep the overall spectrum flatter, but the boosted highs seem to add to the effect. Maybe the flatness would be needed when using it on a full mix. I think it needs experimentation by different users so any feedback on how well or how bad it works would be nice. Thanks again Pete IP: Logged | |
gustl Member |
![]() ![]() ![]() I don't understand why the harmonic content gets enriched by distorting/deforming the angle... but it sounds really good! ![]() IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Gustl If you think of a single sine wave, it is a fundamental with no harmonics, and the reverse is also true i.e. A repeating waveform with no harmonics can only be a sine wave. We can put that sine wave through filters, delays, reverbs, attenuators, and all you will get out is the same sine wave (may be at a different level and/or phase) but it will still be a sine wave. These processes are called linear, but not all processes are linear. As an aside, even a mix of sine waves going through a linear process will not produce any additional sine waves, but will just alter the ones that are there, and the presents of other sine waves in the mix will not change the way a sine wave is treated. You would get the same output if you put each of the sine waves through the process separately and then mixed them at the end. Imagine instead, if you clipped the sine wave at the top and the bottom. It would still be a repeating waveform at the same fundamental frequency but it could look more like a square wave which has loads of harmonics. Distortion compressors choruses etc are called non linear and all can change the harmonic content. Also as an aside, with non linear processing, the sine waves in a mix will probably effect each other so processing them separately and mixing them at the end will almost certainly give different result to mixing them first and processing them all together. In my sound I am deforming the phase i.e. imagine the sine wave was slowed down every time it got to 90 degs and was sped up every time it got to 270 degs, such that the frequency remained the same but the sine shape was deformed. It would still be a repeating wave form at the same frequency, but would no longer be a sine wave an therefore must have added harmonics. Hope this makes sense. Pete IP: Logged | |
SSC Administrator |
![]() ![]() ![]() In essence, this is a high-pass-filtered, amplitude-normalized signal processed through a waveshaper for harmonic distortion and then multiplied by the original amplitude envelope at the end. The last stage mixes the distorted high pass signal with the original signal. What Pete was pointing out earlier is that this is a way of using a waveshaper for distortion that does not change timbre with changing input amplitude (as he has found a way to do a kind of live-amplitude normalizer on the input to the waveshaper). IP: Logged | |
pete Member |
![]() ![]() ![]() I think what makes this different to the compressor / expander combo is that compressors take a finite time to kick in and will give a burst of extra distortion on the transients while the compressor gets it's act together. Also if you make the attack and release fast you get ring modulation on the sound, (which may be desirable but was not what I was looking for). Even pre delayed compressors can just move the problem to the other end. I believe ( I could be proved wrong) that this is not subject to the same anomalies, that is that when a signal starts it will receive the same treatment as the middle of the sound as at does at the end. IP: Logged | |
gustl Member |
![]() ![]() ![]() Luckily I'm familiar with the concepts of linear/nonlinear processing but good explanation though ![]() So if I understood right you translated the signal into its phase/frequency information in a unit circle (independently of the amplitude / amplitude-normalized). Then you do the waveshaping/distortion and multiply the original amplitude back in. Interesting stuff. I think the exciter sounds really good but I wonder what else one can do with this technique. Certainly a field for experiments ![]() IP: Logged | |
robot Member |
![]() ![]() ![]() Hi Pete I am really digging this sound, I am a ham for distortion and I have never used any tool that sounds quite like this before. Thanks for sharing [This message has been edited by robot (edited 25 April 2014).] IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Gustl This is a bit different to the normal FFT type stuff as we are not separating it into single bands but keeping it as a mix of the whole lot. As all frequencies in the mix are 90 deg phase shifted we can treat one leg as a mix of reals and the other leg as a mix of imaginers. We can transform these reals and imaginers into combined magnitude and combined phase but that's as far as we can go. We cannot derive frequency info as it would be the combined frequencies which really makes no sense. I am actually cheating. I'm getting the magnitude by finding the square route of the sum of the real square and the imaginary squared. But instead of calculating the phase info, I'm just dividing the real by the magnitude. This produces a waveform which contains the phase information and completely removes magnitude information but is not a direct representative of the phase. It does however have enough info to get the original signal back (by multiplying it with the magnitude). I am sure there are other tricks that could be done by playing with this dummy phase signal but I haven't yet thought of anything that funky, but I'm still thinking. Pete IP: Logged | |
cristian_vogel Member |
![]() ![]() ![]() Hi Pete, somehow I missed this! Experimenting with yout Angle Displacement Harmonic Exciter. Its really quite unique, and brings different qualities to different source. Thankyou for sharing this. 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.