![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Generating a Clean Sinewave? |
David McClain Member |
![]() ![]() ![]() Hi, I have been experimenting with measuring THD+N from my Kyma through various systems around the studio... The net result is that none of my equipment seems better than about 36 dB SNR (??!!??) Now the Kyma Web page talks about the Capy being around 100 dB SNR, and I know my equipment here isn't THAT bad... So I ended up analyzing the waveforms produced by Kyma/Capy and I find those to be the limiting factors here. Try as I might, with direct wavetable generation, building oscillators that don't interpolate, etc., etc., I can't seem to coax the Kyma to generate a cleaner group of sinewave oscillations that about 36 dB SNR. I am generating 18 such waves in parallel, using prime indices times the sample rate divided by my FFT lengths or some power of 2 submultiple (e.g., 16384 and 4096 samples). The measurements take the sum squared energy in these prime numbered cells as compared to the sum squared energy in all other cells after A-weighting. No windowing is applied ahead of the FFT's since I was using synchronous frequencies (should be no filter leakage). I never realized that generating a bunch of pure sines could be so much trouble. And while I don't expect the Kyma/Capy to perform like a $10K Audio Precision instrument, I would have expected better. So I am beginning to doubt my own abilities here, and not the Kyma/Capy. Do you have any suggestions for how to generate clean sine waves? Cheers, - DM IP: Logged |
SSC Administrator |
![]() ![]() ![]() The most likely cause is that there is some discrepancy between the actual period of the sum of sines and the window length of the FFT. Or possibly some overflow(?) Could you please email us the Sound so we can track down whether it is something in the Sound itself or something internal to the modules? Thanks. IP: Logged |
David McClain Member |
![]() ![]() ![]() Well thanks for making me look closely enough at this to attempt sending you the information you requested... There is nothing wrong with Kyma/Capy... What I found is quite surprising indeed! I constructed a 16483 sample oscillator wavetable sample. Inspection of this 16-bit WAV file shows it to have SNR around 90 dB. I then recorded 16384 samples of a Sample playback sound on this file and analyzed it. It has an SNR of around 86 dB. (the difference is not worth quibbling about). Then I recorded 1 minute of an amplitude swept playback of this sampler and analyzed the resulting spectral changes with 50% overlap using 16384 cells in the FFT's. The sweep starts at zero amplitude and progresses to unity gain logarithmically over a duration of 1 minute. When I look at this during the analysis, the FFT's show considerable filter leakage, and the end result of the THD+N analysis shows the SNR topping out at around 20 dB (Yikes!) So I have to conclude that the modest amplitude modulation is producing enough smearing of the spectrum to foul up the THD+N analysis. We know the wavetable is good to 90 dB, and that static amplitude playback is good to 86 dB. So the filter leakage I am seeing in the spectrum during the amplitude sweep must be due to the graceful amplitude modulation. This is very surprising to me, and it means I need to rethink the analysis method. Instead of continuous amplitude sweeping, I shall have to step the amplitudes and let the system settle before making measurements. Thanks! - DM IP: Logged |
SSC Administrator |
![]() ![]() ![]() Yes, any sort of change to the amplitude or frequency over the duration of an analysis window does change the measured spectrum. By the way, you should be able to get to around 120 dB SNR by using 24-bit recordings rather than the 16-bit recordings you are using now. IP: Logged |
David McClain Member |
![]() ![]() ![]() As a followup... The problem is not with the amplitude ramping at all. Instead it seems to be related to the Sample Looping. I can generate a sample file with a stepped ramp in it and get close to 90 dB SNR on playback. But if try to step the amplitude of a Sample sound that is looping over the basic oscillator wavetable of 16384 samples, the most SNR I can achieve on playback is 20 dB or so. So the gain changes are not the culprit here, but there must be some artifacts being generated by the sample looping. - DM IP: Logged |
David McClain Member |
![]() ![]() ![]() ...and yes thanks for the suggestion about 24-bits. I'll have to write a Smalltalk script to generate that. I tried doing that last night but for some reason the Smalltalk system kept barfing without telling me why. I wonder if it has to do with the fact that I was trying to generate 16384 samples instead of 4096? At any rate, 90 dB is so much better than the equipment I was trying to measure -- which really is only good to about 36 dB after all... But to see this I had to be sure that my generator was much cleaner than the DUT. It is now and Kyma/Capy come through again!!!! Cheers, - DM 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.