![]() | All Advertisers |
| | #91 |
| Lives for gear Join Date: May 2003 Location: Cambridge MA USA
Posts: 1,078
| You are really going to town with your new designs. 248k words is still a little short for the best quality at 48kHz. Why not SRC down to 16kHz? Now you have the internal memory to do a really nice reverb. I think this is a reasonable tradeoff. ![]() -Casey
__________________ cdowdell@bricasti.com www.bricasti.com My love shall hear the music of my hounds. - Shakespeare |
| | |
| | #92 |
| Lives for gear Join Date: Mar 2008 Location: Salt Lake Valley
Posts: 514
| A few people liked the SME board on the 480, but it was never a good seller. I think there are many superior solutions for sampling and sample replacement. Don't think you'll be seeing it on the PCM96. |
| | |
| | #93 | |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Quote:
I like to design things, and I usually like to have a jumperless design, so I do one layout and get it about right, then I do one 'final' layout, then make maybe half a dozen of them, then I move on to the next project. With the reverbs, the host software seems like the majority of the work. The actual DSP software is relatively trivial in terms of building blocks. Including init code, the DSP code sits in just under 512 words. The host code is in 'C' and compiles so far into about 49000 bytes - and I only have the basic effect editor, preset fetch, and reverb setup stuff in place. I don't have any MIDI code yet, nor storing effects into EEPROM, nor a way to fetch them from EEPROM. I can only do presets so far. My wife just can't believe how much effort goes into one of these boxes. She was mostly surprised that it only took me about a week to go from a concept to having a prototype built in a box, then several months of intense work on software before it even makes a squeak. | |
| | |
| | #94 |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Yea, I guess that's probably right. I'm still a bit of a luddite in that I don't have a PC or Mac anywhere near my studio, so for sampling I need hardware to do that. But even in the hardware world, there are boxes made specifically for sampling. I guess if I wanted to do it, I could just write up some more software. |
| | |
| | #95 | |
| ValhallaDSP Join Date: Feb 2009 Location: Pacific NW
Posts: 1,536
| Quote:
In all seriousness, isn't 248k x24bits about 5 seconds of fast delay memory @ 48 kHz? Older reverb designs got by just fine with about 1 second of delay memory; double or triple that and things can sound really nice. I would doubt that a single Freescale DSP would have the cycles to fill up 15 seconds of memory with enough taps / allpasses / whatever to get the required echo density. Dale is a sharp guy. Sean | |
| | |
| | #96 | |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Quote:
I just did up a brute-force reverb using two strings of about 25 or so allpasses in a row followed by a single-pole HF rolloff filter. Eight of the allpasses modulate. It's a bit unnatural but huge sounding. About 50 allpasses and eight modulations take about 10 microseconds and I'm running the processor at 96 MHz, and one wait state to delay RAM. Cascaded allpasses could be written more efficiently, because I wrote my allpass to assume that take a delay line and run the input into the allpass, then write the output back to RAM. I think cascaded allpasses could have about double the throughput if I optimized things for cascading without delays between them. The processor can run at 120 MHz but I run it a bit slower because at 120 MHz I run out of setup time for the SRAM address and I would have to add one wait state which would slow things down. The 56720 would not have that problem as with that much RAM on-chip, I could run full-tilt and not worry about wait states. Ahh, the life of the hardware designer. -Dale | |
| | |
| | #97 |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | I've been playing around with various gain multipliers, and what I've managed to figure out is that it is relatively easy to make a set of tap spacings and gains sound good, but resizing it or changing the RT makes everything have to change - just doing a linear (or log or power - depending on what is being changed) ratio doesn't seem to work quite right.Is there a better approach than going to every size and RT combination and tabulating a couple dozen gain and tap locations - resorting to massive lookup tables? Or is it a case of needing to work harder at getting 'optimum' tap spacing and gains that work well for a wide range of size and RT settings? That is my biggest struggle now - I can tweak things to sound good but then I change the size from 18 metres to 25 metres and everything sounds horrible until I tweak almost every gain and tap location in the loop. It's like you get combing come in and out at some sizes. I've checked tap locations and gains being calculated (a debug screen), and so far I can't see anything being calculated wrong. |
| | |
| | #98 | |
| Lives for gear Join Date: May 2003 Location: Cambridge MA USA
Posts: 1,078
| Quote:
Are any taps in the feedback portion of an allpass? Or are you first getting your basic loops set up with out allpasses? It is certainly possible to have a single set of taps with constant ratios that are scaled with size, or used with any number of RT values. ![]() -Casey | |
| | |
| | #99 | |||
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | I've done a bit on various portions - taps, allpasses, loop size. But if I turn modulation off, I don't get nearly as smooth of a response as, say, any of the algorithms on my PCM91 with their chorus functions also turned off. I check for chorus being turned off by watching for modulation with a tone. Sometimes strange things will cause chorus enabling like using spread and shape in the random hall algorithm. I can modulate up to eight taps at once. I have not set up a queue structure, though, to allow modulation or glides of more than eight taps 'in turn' - where eight things modulate simultaneously, then you sub out something that is modulating with another tap that is frozen - rotating the modulations. I could do that, I just haven't written the code to do that because I thought that eight modulating taps should be enough. Quote:
Quote:
Would a valid way of figuring out reasonable allpass gains would be to change the allpass into a comb by imbalancing the feedback and feedforward terms, then adjust the gains to flatten the frequency response of the combined combs? I have a feeling that if I can manage to get a flatter allpass response, I should have a better sounding algorithm. Or perhaps feed an impulse in it and do an FFT of the result and adjust the gains to flatten it? Quote:
For reference, I set up the 'infamous' Dattorro/Lexicon algorithm, and that algorithm does sound pretty good using the same building blocks as what I am using for the newer algorithms. I did that just as a sanity check to make sure that the base building-block algorithms are doing what I expect them to do. It sounds similar to (though not exactly like) a PCM91 'Room' setting. -Dale | |||
| | |
| | #100 | |
| Lives for gear Join Date: May 2003 Location: Cambridge MA USA
Posts: 1,078
| Quote:
An allpass is flat. The ringing comes from the frequency dependent delay of an allpass. So some frequencies stick around longer than others. This is particularly noticable at higher RTs because the same signal goes through the same allpass multiple times. If you can change the allpass before the same signal hits it again, then the ringing can be reduced. Generally longer allpasses will ring more because they have longer delay vs frequency times. So reducing the gain on larger allpasses is useful. ![]() -Casey | |
| | |
| | #101 | |||
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Quote:
Quote:
Quote:
I'm playing shows most of this weekend, so I doubt I'll get much work done on the 'verb. I'm playing upright bass with a folk/bluegrass group tonight. | |||
| | |
| | #102 |
| Lives for gear | Dale, Something that Barry Blesser and others did back in the 1970s with the EMT and also Lexicon is to add random amplitude modulations, particularly in the feedback loops... |
| | |
| | #103 |
| Lives for gear Join Date: May 2003 Location: Cambridge MA USA
Posts: 1,078
| |
| | |
| | #104 | ||||
| Lives for gear Join Date: May 2003 Location: Cambridge MA USA
Posts: 1,078
| Quote:
Quote:
Quote:
Quote:
![]() -Casey | ||||
| | |
| | #105 |
| ValhallaDSP Join Date: Feb 2009 Location: Pacific NW
Posts: 1,536
| I had thought the same thing (that the loop feedback had random amplitude modulation), when looking at the Blesser patent, as well as a 1978 book chapter that he wrote. In the book chapter, Blesser shows a chorus, with several delay taps that are randomly modulated both in delay length and in amplitude. In his 1980 patent (I think that's the date), it seems as though the feedback taps are modulated in amplitude. However, I think that was Blesser's way of describing linear interpolation, or at least some random cross fading between two taps which may or may not be contiguous to each other, as opposed to a single tap that is randomly amplitude modulated. That part of the patent is confusing to me. The patent does describe random amplitude mixing of the tap outputs, but this is different than random amplitude in the feedback loops. Plus, I am not confident that the EMT-250 is really that close to the patent, although I would think that at least a few of the claimed ideas were used in the EMT-250. I have tried random amplitude modulation in the feedback loops, and the result is a very uneven decay. It doesn't sound good, IMO. Delay length modulation sounds good in feedback loops. Other types of modulation can sound good, but you want to maintain as flat a magnitude response as you can with the modulation, and also avoid building up enough energy to make the system unstable. You want to preserve the total energy of the system, and be specific with your losses - i.e. have the losses controlled as a factor of RT60. Sean |
| | |
| | #106 | |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Quote:
Or should I be looking at changing the tap gains - rather than trying to get a smooth decay, try to reduce combing by alternating and modifying tap gains somehow? I've been adjusting them for a smooth decay at canyon sizes so far. I would think that alternating tap gain signs would change the combing but maintain the density - maybe to half the frequency? What about applying acoustical diffusor patterns to the tap gains, spacings, and signs? Those equations are pretty well known, and I think I have them in an acoustic design book I have somewhere. | |
| | |
| | #107 | |
| Lives for gear | Quote:
Casey, care to elaborate with something more insightful than "no"? (please...? ) ![]() | |
| | |
| | #108 |
| Gear addict Join Date: Sep 2004 Location: Denmark
Posts: 400
| What do you mean by amplitude modulations in the feedback loop? Amplitude modulation of what? Gains? Taps? Coefficients? |
| | |
| | #109 | |
| Lives for gear | According to Dr Blesser's patent, quoted below from column 4 line 67 on: Quote:
| |
| | |
| | #110 | |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Quote:
As he refers to variable damping in the text, to me that would imply to me that he is likely talking about the variable frequency response of a gliding tap using linear interpolation - that provides close-to-random damping, and essentially, a random amplitude variation of high frequency content, though practically no variation at low frequencies. If the main processor is not synchronized with the DSP and can't update the chorus coefficients fast enough, there will be an amplitude variation some of the time, when the two values (1-x) and (x) are not correct. If you have this happening, you can't chorus very quickly before you get nasty modulation noise. | |
| | |
| | #111 | |
| ValhallaDSP Join Date: Feb 2009 Location: Pacific NW
Posts: 1,536
| Quote:
Sean | |
| | |
| | #112 |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | Yes, that is the assumption there. If the AES Blesser paper (the one describing the hardware of an audio processor) describes the EMT250 processor, then the DSP does have the primitives needed to make an oscillator and fiddle with addresses. Something like the M200/PCM70/480L, also the Lexichip1 and 2 requires the host to do it. Since the service manuals for the 480L and LXP15 tell you that the slave Z80 is used to implement the pitch shift and chorus functions, as well as ramped coefficient adjustments, I'll take the manuals at their word. I've done my LFO's on the host, though I plan on moving that over to the DSP when I get around to it. I did it on the host because it was just faster for me to write it that way. The only problem I have with that approach is that for a single chorus, the update rate is fine, when you have half a dozen of them, I can only update them at about 2kHz or so - and at high chorus rates, you get modulation noise at that frequency. I used the serial host interface, and that is the limiting factor. Had I used the faster parallel host interface and a processor with DMA, I could have easily done the chorus functions on the host, with a 1WC or maybe at most 2WC update of all of the chorus values. |
| | |
| | #113 | |
| ValhallaDSP Join Date: Feb 2009 Location: Pacific NW
Posts: 1,536
| Quote:
- Calculate x on the microcontroller, and 1-x on the DSP. It will take an additional cycle or two per interpolation, but it might fix the problems. - Use 1st order allpass interpolation. This works with a single coefficient - read Dattorro pt. 2 for details. Sounds nice for reverb modulation, not good for pitch shifting. Sean | |
| | |
| | #114 |
| Lives for gear Join Date: Dec 2003 Location: Calgary, Alberta
Posts: 815
Thread Starter | I calculate x and x-1 on the micro, then send it to the DSP - into a buffer. The DSP waits until the end of the reverb loop, then copies any queued coefficient and address updates from the buffer into the main parameter memory. It is carrier noise, and is only audible at high chorus rates, large chorus excursions, and with a tone input. Normally in audio, I don't hear it. I want to move the chorus function entirely into the DSP, I just haven't been motivated enough to do it since I have a lot more support code to do - editing titles, storing effect settings, and, not insignificantly, some amount of MIDI support. It's all of this support code that takes forever to write!!! |
| | |
| | #115 |
| Lives for gear | Reverb Modulation Examples I've been working with the Lexicon PCM 96 for the last week and I am pretty surprised by how oddly the modulation is implemented in these algos.. Here are several audio examples, dry piano on the left, reverb return on the right. All reverbs were set to the same size (34m), diffusion, level and decay time (2.5s) I have also included comparable settings on the PCM-70, Ursa Major SST-282 Space Station and a simple 3 tank reverb I cooked up last week: |
| | |
| | #116 |
| Lives for gear | As an added bonus, here are exactly the same tests as above, but using a 100hz square wave oscillator as a signal source: The modulation incorporated in the PCM96 algorhythms sounds to me like several allpass filters tuned to the lower audible end of the spectrum. The effect is not unlike a Bode frequency shifter, or a Phase shifter with the dry path muted (listening to the swept allpass outputs only) or an FM synthesizer. It imparts a disturbing ''wowowowow" to the 'running' reverb and makes the tail jump around unnaturally. |
| | |
| | #117 |
| ValhallaDSP Join Date: Feb 2009 Location: Pacific NW
Posts: 1,536
| Nice sound files! Thanks! To me, the 100 Hz tones all sound like delay modulation is used, even the PCM96 algorithms. The PCM96 Concert Hall has a very repetitive chorusing sound when heard this way. Random Hall sounds more random, and the PCM70 Concert Hall sounds somewhat random as well, although this might just be a more complex modulating waveform. I am surprised how different the PCM70 Concert Hall and PCM96 Concert Hall sound. The PCM96 is very obviously chorused on the piano example - not just chorused in the recirculation, but chorused outputs. Did the 224 Concert Hall sound like this? If so, it sounds like the PCM70 Concert Hall is considerably different than the 224 algorithm of the same name. Huh. The Space Station sounds like my old implementation of this algorithm - the sound decays away into a hellscape of tormented voices. I like modulated reverbs, but that is just spooky. Good for Dario Argento soundtracks. Sean |
| | |
| | #118 | |||
| Lives for gear | Hi Sean, Quote:
Quote:
Quote:
The 224 "Concert Hall" sounds virtually identical to the PCM-70 and sadly not so much like the PCM96. I borrowed a PCM-70 and had the results I sought in seconds. I have a later generation 224xl on it's way here and shall post my results when that arrives so that you can hear the difference.There is certainly a very important difference in the where the modulation occurs in the PCM96 and in the 224 / PCM-70. In the PCM-70, for example the modulation becomes much more pronounced when the taps are spread out by increasing the 'attack' parameter. I posted these files because I would like to open a dialog with those here who share my obsession with all things reverb (i.e. Dale, Sean and Casey, etc). Let's discuss! | |||
| | |
| | #119 |
| Gear addict Join Date: Sep 2004 Location: Denmark
Posts: 400
| |
| | |
| | #120 |
| Lives for gear | Not as strange as you think. Roland's JC-120 and CE-1 used such modulation. Try it and you'll see it's not as extreme as you imagine. |
| | |
New Reply
Facebook
Twitter
LinkedIn
| Thread Tools | Search this Thread |
| Similar Threads | ||||
| Thread | Thread starter | Forum | Replies | Last Post |
| Not liking convolution reverb so much these days...recommoned me a reverb plugin? | danbronson | So much gear, so little time! | 19 | 16th June 2008 07:12 PM |
| IK Multimedia Classik Classic Reverb Plug-In Bundle or TL Space for first reverb? | Sean Sullivan | Music computers | 23 | 22nd February 2008 04:45 PM |
| Fender Twin Reverb (1971) Reverb noise/Power tube recommedations? | wthiessen | Geekslutz forum | 6 | 27th January 2007 06:19 PM |
| Fender Twin Reverb (1971) Reverb noise/Power tube recommedations? | wthiessen | Geekslutz forum | 0 | 24th January 2007 09:31 PM |
| |