Prev: accuracy of BCV62
Next: PCI express
From: Jan Panteltje on 28 Mar 2010 14:27 On a sunny day (Sun, 28 Mar 2010 19:05:29 +0100) it happened "markp" <map.nospam(a)f2s.com> wrote in <819jqmFptsU1(a)mid.individual.net>: >I think the best solution would be to do what another poster suggested, use >an A2D on a processor, sample into a buffer and play the buffer back through >a D2A at twice the sampled rate. This would of cource last 1/2 the time, so >you would need to 'repeat' sections. To get the distortion down you'd choose >zero crossing points in the waveform and repeat small sections. It's going >to add some distortion but that's the best I can come up with. > >Mark. I think: audio -> ADC -> n byte audio sample -> fft -> modify spectral components -> reverse fft -> DAC -> audio A bit like I do here for video: http://panteltje.com/panteltje/subtitles/lowpass.html
From: markp on 28 Mar 2010 17:06 "Jan Panteltje" <pNaonStpealmtje(a)yahoo.com> wrote in message news:hoo722$orr$1(a)news.albasani.net... > On a sunny day (Sun, 28 Mar 2010 19:05:29 +0100) it happened "markp" > <map.nospam(a)f2s.com> wrote in <819jqmFptsU1(a)mid.individual.net>: >>I think the best solution would be to do what another poster suggested, >>use >>an A2D on a processor, sample into a buffer and play the buffer back >>through >>a D2A at twice the sampled rate. This would of cource last 1/2 the time, >>so >>you would need to 'repeat' sections. To get the distortion down you'd >>choose >>zero crossing points in the waveform and repeat small sections. It's going >>to add some distortion but that's the best I can come up with. >> >>Mark. > > I think: > audio -> ADC -> n byte audio sample -> fft -> modify spectral > components -> reverse fft -> DAC -> audio > > A bit like I do here for video: > http://panteltje.com/panteltje/subtitles/lowpass.html Interesting. However it's the time taken to do this that might kill it. There can't be too much delay from signal in to signal out, so rules out a micro. I like your approach though... Mark.
From: Don Klipstein on 28 Mar 2010 21:17 In article <819jqmFptsU1(a)mid.individual.net>, markp wrote: > >"�Leo�" <leo2100(a)gmail.com> wrote in message >news:307f95c4-a330-43b9-a98a-bc2a033e7ead(a)g10g2000yqh.googlegroups.com... >On 26 mar, 12:23, �Leo� <leo2...(a)gmail.com> wrote: >> > I want to make a circuit that takes a guitar input signal, and then >>> outputs a signal with fundamental and 2nd order harmonic with the same >>> level (or arbitrary levels, I want to amplify the two components at >>> will). >>> >>> I figured that there are various ways to do this, but I'm trying to do >>> it all analog if possible (since it usually produces more pleasant >>> sounds). Plus there are already commercial digital octave doublers, >>> and the ones that are analog come as ring modulators (they add more >>> components to the signal). The frequency range is 20hz-20khz at worst, >>> the available DC source is 9V. >>> >>> I'm trying to get the 2nd order harmonic by taking the input signal >>> through a emitter follower stage, biased so the amplification is >>> sufficiently non-linear to produce 2nd order harmonic distortion (and >>> a little 3rd). Then to isolate the 2nd harmonic, I thought of >>> inverting the input through another signal path and then adding the >>> two signals, and hope that the fundamental frequency cancels out. >>> While trying to do this in spice, I realized that I'm going to have to >>> have some kind of AGC so the two signals hace the same component of >>> the fundamental. Designing the AGC has been rather complicated so far. >>> So the idea that i had is getting a little bit complicated. >>> >>> Any help or new ideas would be appreciated. > >>> In response to all: > >>Thanks for the ideas. Some of them are much too complicated or >>expensive for the scope I was aiming at. > >>The simple techniques with spurious frequencys are already >>implemented, and the circuits are available on the web, so I don't >>think I would try reinventing the wheel. > >>I was just trying to implement my original idea, but it doesn't seem >>to be an easy task and I don't think it would be reliable in the end. > >>So, could I arrive to the conclusion that getting a 2nd order harmonic >>from an audio source is not a trivial task (with as little distortion >>as possible)? > >I think the best solution would be to do what another poster suggested, use >an A2D on a processor, sample into a buffer and play the buffer back through >a D2A at twice the sampled rate. This would of cource last 1/2 the time, so >you would need to 'repeat' sections. To get the distortion down you'd choose >zero crossing points in the waveform and repeat small sections. It's going >to add some distortion but that's the best I can come up with. I did try this on my own, and achieved results that a guitarist friend of mine told me resembled those of some commercial products: Precision full wave rectifier. Use a DC blocking capacitor and the following resistor to ground afterwards. A precision fullwave rectifier is an op-amp circuit that I expect to be easy enough to find on the web. The main faults here: 1: Waveform changes, making the "harmonic recipe" closer to that of a mildly to moderately lowpass-filtered sawtooth wave. Not that this is always bad... :) But it does makes things different... 2: The half-cycles are usually non-identical, leaving some remnant of odd multiples of the original fundamental frequency. There is not always sensation of "up 1 octave". (I base this on when I was "most-into" guitar effects in the early 1990's.) - Don Klipstein (don(a)misty.com)
From: Tony on 29 Mar 2010 02:48 On Sun, 28 Mar 2010 22:06:18 +0100, "markp" <map.nospam(a)f2s.com> wrote: > >"Jan Panteltje" <pNaonStpealmtje(a)yahoo.com> wrote in message >news:hoo722$orr$1(a)news.albasani.net... >> On a sunny day (Sun, 28 Mar 2010 19:05:29 +0100) it happened "markp" >> <map.nospam(a)f2s.com> wrote in <819jqmFptsU1(a)mid.individual.net>: >>>I think the best solution would be to do what another poster suggested, >>>use >>>an A2D on a processor, sample into a buffer and play the buffer back >>>through >>>a D2A at twice the sampled rate. This would of cource last 1/2 the time, >>>so >>>you would need to 'repeat' sections. To get the distortion down you'd >>>choose >>>zero crossing points in the waveform and repeat small sections. It's going >>>to add some distortion but that's the best I can come up with. >>> >>>Mark. >> >> I think: >> audio -> ADC -> n byte audio sample -> fft -> modify spectral >> components -> reverse fft -> DAC -> audio >> >> A bit like I do here for video: >> http://panteltje.com/panteltje/subtitles/lowpass.html > >Interesting. However it's the time taken to do this that might kill it. >There can't be too much delay from signal in to signal out, so rules out a >micro. I like your approach though... > >Mark. ALL the (many) solutions that work use a micro of some sort. You play back short segments of recorded signal at 2x speed, each about as long as the wavelength of the common fundamental (so they overlap), choosing the transitions between segments where the signal value and at least the first few derivatives match. A few ms of average delay is never a problem (same as standing a few feet further from the speaker). Most modern multi-fx boxes have decent pitch-shift algorithms along these lines, and the specialist ones like Digitech, TC Helicon etc go to far greater lengths to make it work better. Tony
From: markp on 29 Mar 2010 06:43
"Tony" <tony(a)nowhere.com> wrote in message news:dni0r5heom1vl55lutp3rc0u07qbo09jk2(a)4ax.com... > On Sun, 28 Mar 2010 22:06:18 +0100, "markp" <map.nospam(a)f2s.com> wrote: > >> >>"Jan Panteltje" <pNaonStpealmtje(a)yahoo.com> wrote in message >>news:hoo722$orr$1(a)news.albasani.net... >>> On a sunny day (Sun, 28 Mar 2010 19:05:29 +0100) it happened "markp" >>> <map.nospam(a)f2s.com> wrote in <819jqmFptsU1(a)mid.individual.net>: >>>>I think the best solution would be to do what another poster suggested, >>>>use >>>>an A2D on a processor, sample into a buffer and play the buffer back >>>>through >>>>a D2A at twice the sampled rate. This would of cource last 1/2 the time, >>>>so >>>>you would need to 'repeat' sections. To get the distortion down you'd >>>>choose >>>>zero crossing points in the waveform and repeat small sections. It's >>>>going >>>>to add some distortion but that's the best I can come up with. >>>> >>>>Mark. >>> >>> I think: >>> audio -> ADC -> n byte audio sample -> fft -> modify spectral >>> components -> reverse fft -> DAC -> audio >>> >>> A bit like I do here for video: >>> http://panteltje.com/panteltje/subtitles/lowpass.html >> >>Interesting. However it's the time taken to do this that might kill it. >>There can't be too much delay from signal in to signal out, so rules out a >>micro. I like your approach though... >> >>Mark. > > ALL the (many) solutions that work use a micro of some sort. You play back > short segments > of recorded signal at 2x speed, each about as long as the wavelength of > the common > fundamental (so they overlap), choosing the transitions between segments > where the signal > value and at least the first few derivatives match. A few ms of average > delay is never a > problem (same as standing a few feet further from the speaker). Most > modern multi-fx boxes > have decent pitch-shift algorithms along these lines, and the specialist > ones like > Digitech, TC Helicon etc go to far greater lengths to make it work better. > > Tony Indeed, the A2D and D2A approach only adds a few ms, but taking the fft, changing co-efficients and taking the inverse fft is going to take somewhat longer than that with a micro... Mark. |