Jump to content

AndrewMartens

Members
  • Posts

    212
  • Joined

  • Last visited

Everything posted by AndrewMartens

  1. It might be possible to use an I2C or SPI UART for the second merge port, instead of just bit-banging one of the digital IO lines as in the original merger design. A MAX3100 (iirc) chip would be useful for this. However, that would require a lot of tinkering with MIOS to make it work.
  2. Couldn't this easily be done as a new MIOS application? Just a core module, some as-big-as-they-come serial EEPROMs to hold all your applications, tack on an LCD and some buttons, and you're done. No disk drives to worry about, etc.
  3. I wish you all a Merry Christmas, and my bunny rabbits wish you a Hoppy New Year! (booo, bad pun, I know) ;D
  4. It might be possible to achieve in less space: - input buffer, single opamp - bandpass stage, OTA, possibly another opamp - you might be able to find an IC that measures AC RMS and outputs a DC voltage and use that But yeah, essentially what you're looking for is an envelope follower schematic. Tacking a bandpass filter on in front of it just allows you to isolate a certain set of frequencies (which could be handy in some circumstances)...
  5. Sound improvement is important. As I have yet to experiment with the various designs that I have come across, I'll definitely keep this in mind. Good ol' JH. Since Digikey doesn't carry the CA3080 anymore, I've had to revise that part of the design to use the LM13700 instead. Regarding the Steiner/Parker VCF, I haven't heard a sample of it - all I really know about it is that it "has a lot of character". The initial plan was to latch in a data value from the digital bus for the switch, which would switch the analog input (I think I may have misused the term "analog switch" there). In the past few hours I changed things around (now the switch control lines are output from the wave-PIC), but it will still definitely be controlled by MIOS at the core. That was one of the key reasons for doing a digital/analog hybrid: all of the patch settings will be stored & restored by MIOS.
  6. IMPORTANT NOTE: This design is in flux and the feature list is continually changing. To get an idea of the current plan, start at the most recent post and work your way back to the beginning :D Original Post as follows: One can never have too many projects on the go at once, so I decided to temporarily shelve my POKEY and PSG projects and start something even more ambitious! The concept: one MBHP Core board controls up to eight analogish synth voices. Each voice contains a dedicated PIC that acts as a wavetable oscillator. Each PIC should be capable of two oscillators running at different frequencies, and two suboscillators at -1 or -2 octaves (can be linked to either OSC1 or OSC2 freq). Each of the four audio outputs will be envelope controlled via control voltage (CV). The mixed audio output will run through a filter, most likely a Wasp Filter clone. The filter is a multimode (switchable LP/BP/NP/HP) with a distortion stage, and both cutoff frequency and resonance will be CV controlled. Finally, a dual VCA allows separate envelopes to mix pre- and post-distortion audio. In theory, this could also be 8-part multitimbral. There could also be a master stereo output with panning VCAs, individual outputs for each voice, etc. Random details like that will be worked out down the road, but they're not that important now. Some implementation details: Each voice will have a digital board and an analog board. The wave-PIC will be digitally controlled by the Core using the PIC's PSP function. Unfortunately, this is only available on the 40-pin PICs. Oscillator frequency, wave selection, and suboscillator settings will be controlled through this digital port. This should avoid any tuning problems due to miscalibrated DACs or mis-scaled inputs from the PIC's ADC. The only inexpensive parallel DAC I can find with a decent settling time happens to be a dual DAC, the TLC7628 (instead of a quad, which I would prefer). Oscillator mixing will be handled by feeding the four CVs into the DAC's reference inputs. We're looking at a 40-pin PIC plus two 20-pin DACs on each digital board. The analog board will have an LM13700 OTA, a CD4069UB and an analog switch in the filter section. The dual VCA will use a single LM13700. Given that I have existing schematics for each of these, the analog board should end up being the most straightforward section of the project. On the MIOS side of things, I am proposing two ADSR envelopes and two LFOs per voice. These can be routed to any of the 8 CVs (OSC 1-4 mix volumes, cutoff freq, resonance, VCA 1, VCA 2). That said, we need 8 analog outputs per voice (in theory that's 64 for a full polysynth). It may prove most practical (but more expensive) to locate two cheap-ish quad DACs (TLC7226, for example) on each digital board and address them via the digital bus. Limitations: This project may not work out - I may only be able to squeeze one oscillator out of the wave-PIC. I think I could get three (as there are three 16-bit timers available), but I'm not shooting for that. Also, it may only be possible to do four, or maybe only two voices - it depends on how many envelopes can be managed by MIOS. It may turn out that my skills fall far short of my ambition, so don't start stocking up on parts :-) It may turn out that I don't like the wasp filter (I haven't built one yet, but apparently they're neat, and the schematic is simple enough), so I may go for a standard Moog ladder. Or maybe adapt Ken Stone's schematic for the Steiner/Parker Synthacon VCF... Development plan: That said, I'm hoping to start making progress on the wave-PIC soon. It's the kind of thing that I can work on here and there (yay, assembly coding!) and should even be able to test in MPLAB before starting to build hardware and buy DACs. First plan is to get the basic output of the wave-PIC working, then add some DACs and breadboard it. After that, get the digital input going, and also check out oscillator mixing. Then build the filter, VCA, and put it all on a chunk or two of perfboard. Finally make some changes to MIOS to get a full prototype working. Only then will I worry about the rest of the polyphonic setup, PCB layouts, cool features (ie, reprogramming the wave-PICs in system, etc.) and that sort of thing. Again, this is a _very_ long-term project, so don't expect much anytime soon. The reason I decided to set aside my POKEY/PSG projects is because sonically they will be similar to the SID, but less exciting. This digital/analog polysynth captures my interest in analog synthesis and combines it with the power and flexibility of MIOS, and should be fun. I hope. Feel free to post any questions / comments! :) Update 12/08/04 at 23:11:46: I figured out how to cut this back down to a 28-pin SDIP PIC: use I2C/SPI to get the digital data to the PIC, and suddenly I don't need the PSP function anymore (and can save 8 pins to boot). I forgot to talk about the wavetables... it will be a bank of 64-sample waves (8 bits per sample). The particular PIC that I choose will limit the different waveforms available. The bare minimum will be the Digisound VCDO wavetable, with 32 different waveforms. I also have a Wiard wavetable, with 256 waveforms (at 256 samples each, I would need to cut this back to 64)... copyright permitting, of course. Also, I thought of a few possible things I may try: - 3 oscillators + 1 suboscillator (after all, there are three 16-bit timers) - a "lo-fi" feature that discards the 2- or 4- least significant bits of the wave sample... or I may just apply a bitmask to it - a "de-rez" feature that reduces the number of samples per waveform to 32, 16, etc. - it would be cool if lo-fi and de-rez were also modulation destinations :)
  7. I'm a bit worried about trying to implement projects like mine ;) I'll start a new thread which will cover more of the specifics of it, instead of trampling all over the place (it's a bad habit of mine...).
  8. TK, I've been looking a bit at DACs for my other project I've told you a bit about - it's especially important given that I need 8 CVs per voice. Â One possibility would be TI's TLV5620 - http://focus.ti.com/lit/ds/slas110b/slas110b.pdf: Â a quad, 8-bit DAC with serial input. Â The serial interface is rather odd, and the chip select/latching method involves some LOAD and LDAC pins, which I haven't figured out yet - it may mean that the device cannot be selected separately from other DACs (and is therefore useless). Â It's only $3.85 CAD at Digikey, which means that it's pretty available, at least in my books, and also reasonably affordable.
  9. Cool, so I'm not crazy after all :D In case you're curious, the project concept is a digitally-controlled analog polysynth with 8 voices (and up to 8 parts multitimbral). Each voice has two numerically-controlled wavetable oscillators + two suboscillators (-1 or -2 octaves), a Wasp-style 12 dB VCF (switchable NP/LP/BP/HP) with distortion and dual VCAs (one for post-filter, one for post-distortion). The wavetable oscillators will be in a dedicated PIC18F252 (one per voice), using modified Digisound and/or Wiard wavetables in a lookup table in the PIC to save on chip count. Of course, this has nothing to do with the Midibox FM...
  10. Ooh, good point. I hadn't really considered that, but I would imagine that a tolerance of 2-4 mS would probably be acceptable. Maybe up to 10 mS, but I'd really have to listen to the effects of timing. While I had taken the bit resolution into account for the DAC portion (I think 8-bit should be "good enough" for envelopes), I hadn't considered the EG timing. What about this alternate possibility: each envelope has a phase accumulator, step size, and output value. Each cycle (1 mS), the phase accumulator for each envelope is increased by one; if it overflows, the step size is added to the output value. The fastest envelope would be 1 mS; the base accumulator value would be 255 (to overflow on the first step), and the step size would also be 255. The longest envelope would be 65s as you said; base accumulator value would be 0, and the step size would be 1. Or I could be way off - my approach above is just a bastardized 16-bit envelope that makes precise envelope timing difficult at best, and may be almost as (if not more) processor-intensive as a full 16-bit envelope. This is all getting _way_ ahead of myself (I still need to determine whether my PIC-based 2 osc + 2 subosc numerically controlled wavetable oscillator scheme will work)... but it's a lot more fun than doing what I'm supposed to be getting paid to do at work ;)
  11. TK, on a related note, I'm wondering what the approximate max software envelopes would be for the PIC. It's sort of a digitally-controlled analog synth project that's sitting in the back of my mind (and would be somewhat related to the AOUT/SHX8). Would it be possible to have 8 modulation sources (envelopes, LFOs, let's say they're 8-bit each) and 12 modulation destinations (pitch, filter Q, etc.) for each of 8 voices? Or would this run out of steam at about 4 voices? Mostly I'm trying to determine whether I should be using a MIOS frontend interface with a dedicated envelope-controlling PIC (using the PIC's PSP feature), or whether a MIOS unit could handle a control surface, MIDI in, _and_ a whole lot of envelopes. I'm just looking for a vague estimate of whether or not this would be possible - I doubt that I'll get around to this for quite some time, as I still have about 3 other projects to do first :-)
  12. Wow, TK, that is IMPRESSIVE! I hadn't realized that each YAC512 provided a pair of outputs. Now I'm going to have to get a new mixer, and it's all your fault ;D All I've managed to do this past month is change apartments. My electronics gear is somewhere in a pile of boxes that takes up half of the den :-/ As of the moment I haven't made any more progress on my POKEY or PSG synths, nor will I before 2005. But oh well, that's life. Anyways, I'm looking forward to having a Midibox FM PCB available from SmashTV sometime next year (as he no doubt will have them, once you have finalized your hardware).
  13. My plan (one of these years) is to use the PIC as a wavetable oscillator only. The only control would be MIDI In (interrupt-based, very basic support), one analog input to select the waveform, and that's it. All envelopes / modulation / etc. will be in hardware. The PIC just serves as a MIDI interpreter and 3-oscillator wavetable in one, reducing chip count. And if that doesn't work, I've got a 2864 EEPROM kicking around that I can use - that's the backup plan ;) No doubt by the time I get around to this project, my time will be even more precious. No kidding! I already had too many MBHP-based projects on my list, and then I decided to use the PIC as an oscillator and/or synth. Then I found the Droid-3 synth project, got some more ideas, and looked at how to do audio filters in software. Learned that it's not too hard to do it in hardware instead, found out about OTAs, located schematics for simple LFOs and EGs, and then added a minimodular to my list. Ye gads!
  14. Ahh, excellent. Instead of using the 12-bit AOUT (though it would be nice for analog envelopes, etc.), I was thinking of actually using a dedicated PIC for waveform generation - with one "oscillator" outputting to an 8-bit resistor ladder, and two sub-oscillators each on a 4- or 6-bit resistor ladder. Grungy! Good ol' wavetables. Two weeks ago I added a modular synth to my Things I Won't Build For Years list, and located the digisound ROM as part of it. :) If the 8254 can run at low-MHz frequencies, it would probably be quite useful as a wavetable driver clock.
  15. It should be plenty of time to do something decent within a month. I've only had about 6 hours to put in towards my Midibox SID so far, and I have the core & SID modules finished and most of CS B. Depending on what you're doing, even one or two weeks should be enough.
  16. Wow, you guys are serious about your monitoring. I usually switch between my Fostex T40RP headphones (pretty decent) and a pair of 18-year-old JBL speakers connected to a similarly-aged Yamaha receiver that's starting to show its age. Then I'll listen to a final mix of the track on my generic DVD player and my car's stock audio system to see if there are any major shortcomings. It may not be high quality or very impressive, but it works well enough for me! :)
  17. Would it also be possible to drill out hopes in the veroboard (in the appropriate locations) to snap the tabs through? That's the approach that I was planning on using, but haven't gotten around to it yet. Speaking of which, does anyone want to help me paint a two bedroom apartment and then move in this weekend? ;-)
  18. You're probably interested in Robert Lacoste's "PIC'Spectrum" analyzer from Circuit Cellar, September 1998, Issue 98: http://www.circuitcellar.com/library/print/0998/Lacoste98/ That should at least get you started ih the right direction to making an LED/LCD-based one Alternately, for slightly less visual pizazz, an LED VU meter might do the trick. I've been considering reusing an old meter I built years ago for that.
  19. Since people seem to be replying in this thread, I'll copy my response from the other thread: It's an interesting idea, but the lack of general availability of the chips might make it of somewhat limited usefulness. While working on my MBHP SID project (and toying around ideas for my MBHP POKEY and PSG synth projects), I started looking into some hybrid digital/analog synth projects. Currently I'm considering using a PIC as a digital oscillator, and running it through an analog VCF/VCA. Using SSM and CEM chips makes designing analog circuitry easier, but there's not many of them to go around. Fortunately, there exists the LM13700 OTA (operational transconductance amplifier). There are some simple circuits out there (for example, the 13700 datasheet) that illustrate how to use half of one chip as a VCA. One 13700 can also be used at a 12 dB (2-pole) filter - chain two of them for a 24 dB filter! If one searches Google for "Juergen Haible Wasp Filter Clone", you'll find a clone of the filter section from the Wasp. I'm planning to swap out the no-longer-available CA3080s with a 13700 filter section. Hopefully it'll sound cool _and_ have the parts be available from most suppliers. A MBHP Core with an AOUT module would be great to output envelopes, LFOs, etc. which in turn could be connected to analog VCFs and VCAs...
  20. It's an interesting idea, but the lack of general availability of the chips might make it of somewhat limited usefulness. While working on my MBHP SID project (and toying around ideas for my MBHP POKEY and PSG synth projects), I started looking into some hybrid digital/analog synth projects. Currently I'm considering using a PIC as a digital oscillator, and running it through an analog VCF/VCA. Using SSM and CEM chips makes designing analog circuitry easier, but there's not many of them to go around. Fortunately, there exists the LM13700 OTA (operational transconductance amplifier). There are some simple circuits out there (for example, the 13700 datasheet) that illustrate how to use half of one chip as a VCA. One 13700 can also be used at a 12 dB (2-pole) filter - chain two of them for a 24 dB filter! If one searches Google for "Juergen Haible Wasp Filter Clone", you'll find a clone of the filter section from the Wasp. I'm planning to swap out the no-longer-available CA3080s with a 13700 filter section. Hopefully it'll sound cool _and_ have the parts be available from most suppliers. A MBHP Core with an AOUT module would be great to output envelopes, LFOs, etc. which in turn could be connected to analog VCFs and VCAs...
  21. I think it might be interesting (down the road) to look at one of those Pluto or Pluto-II boards and see how it might interface to a MBHP Core module - one can still use a PIC running MIOS as a real microcontroller interface, and then load a synth-only core onto the FPGA. That would be one way to maximize the power of the FPGA without wasting macro cells. The Dragon seems interesting, but at nearly 3x the cost of the Pluto-II, it's a little on the pricey side.
  22. So much for a few weeks! Despite Canada Post's "five week backlog", my PCBs and backissue arrived in the mail today! Now, if only I had all the components sitting around, I could solder this thing up tomorrow (maybe I've got a comparable DAC sitting here somewhere). It might be my last free day for a month - my fiancee and I have decided to move to a new place. The EPEmag PCBs are decent enough for the job, I think. The holes look properly spaced, and I don't see any joined traces. It appears to have been touched up by hand already, or maybe it's just cheap. There's no silkscreen on it at all, but that's good enough for me - I just want something that's printed, etched, and pre-drilled :) I'll post again here once I have it working.
  23. Some of you may be interested in doing some preliminary soundcard shopping to find a YMF262-M. Here are a few cards which contain the (probably required) YMF262-M and YAC512-M. Today I took a day off from work and headed out to the local old-computer-junk store, Cal's Computer Warehouse ( http://www.goseecal.com/ ). He had a number of ISA soundcards, three of which I purchased for $7.99 CAD. - Creative Sound Blaster Pro 2 (CT1600) - Media Vision Pro AudioSpectrum 16 (also has a Zilog Z0538010VSC SCSI chip, if anyone cares) - Turtle Beach Tropez Rev 2.0 (complete with 30pin SIMMs, a wave ROM, and MC68EC000) There were a few more cards that had the 262 and 512 onboard, but I didn't purchase them. Here they are in case anyone is curious: - ESS AudioDrive (no part number, though the ASIC was labelled ES688F) - Aztech (again, no part number, ASIC AZT2316A) - Creative Sound Blaster 16 (this one was made in 1992) It almost seems like a shame to sacrifice that Tropez, though... kinda reminds me of my old AVM Apex.
  24. I have the magazine article, but I ordered some PCBs (I really hate hand-wiring stuff). Those will probably take a few weeks or so. To be honest, I barely have enough time to finish up my SIDs before getting to my PSG system. Once they do arrive, though, I will no doubt have it wired up and tested within about a week of getting the PCBs. Then I'll put some sound samples online. However, Moebius is pretty quick on the draw here, and it sounds like he may just wire one up on perfboard or something :) I'll keep you posted - this is one of about 6 or 7 MBHP audio-related projects that I have planned: Midibox SID, Midibox PSG, Midibox POKEY, Midibox FX (the one in question), 4BS (4-bit sampler) and one that uses a PIC as a synth itself. Not in any particular order, of course...
  25. The schematic is unfortunately only available by getting a back-issue from them (3 or 4 UKP, I think - PCBs are 7 UKP). I tracked down some kindly soul on an audio forum somewhere who mentioned that he had it. Hopefully this weekend I'll be able to post it (at least temporarily). It's a hefty 7 MB download, so I may re-type the text (it's just scanned images), crop out the pictures and post it as an zip archive. Alas, I'm leaving tomorrow AM to operate a computer system that controls a sewer-inspecting sonar platform (whee), so I won't be able to do this for a week or so. Source is available here: ftp://ftp.epemag.wimborne.co.uk/pub/PICS/polywhatsit/
×
×
  • Create New...