Jump to content

AndrewMartens

Members
  • Posts

    212
  • Joined

  • Last visited

Everything posted by AndrewMartens

  1. That's awesome... I would have never thought of fiddling with the test bit to reset the phase of the oscillator! I mean, it's the *test* bit. If it's working, why bother testing? :) Nice work, I'm really looking forward to V2. Methinks I'll have to use a proper 1U rack enclosure for my SID this time, in order to have room for AOUTs and all kinds of other fun stuff...
  2. One way I can think of controlling the phase offset between separate SIDs would be to use different PWM outputs to generate the 1 MHz clock, and stagger the start times slightly (with an occasional delay). That would only work for separate SIDs, though. For individual oscillators, how did you do it? Is it a matter of not using the built-in envelopes, but controlling the volume of each OSC manually; then gating each osc a partial waveform apart? That way you could still have seamless envelopes while phasing oscillators in and out by retriggering the gates at slightly different times. I would've imagined that each osc was constantly running and incrementing its accumulator, but maybe not... Very interesting from a technical perspective! :)
  3. Thorsten, niiiiiiiiiiice ;D Before I kept telling myself, "meh, the existing V1 SID stuff is good enough." But now, now I'm definitely thinking that I will need to go and upgrade my unit to V2. The volume-to-analog will probably be a lot easier than bothering to build a proper noise gate, and gate-stays-active will be great for using a proper VCA (at least for mono patches). Looking forward to this!
  4. LOL... Let me clarify here: "Mute the channel on your mixer - manually, by pushing the mute button with your finger - before changing patches." Not as useful if you need to instantly switch parts in the middle of a song, but if you have a four-bar break, that's good enough. If the MIDI program change message is automated, set it to the start of the third bar, and you have enough space on either side to mute/unmute with plenty of time to spare.
  5. Mute the channel on your mixer before changing patches?
  6. Well, it's a pleasantly small transformer, smaller than I remembered. 36mm tall, that is about 1.4" high, which should still give you enough clearance to put it into a 1U rack case.
  7. I was lazy (read as: sick of perfboarding), so I picked up this kit: http://www.rpelectronics.com/English/Content/Items/CK342.asp And the recommended transformer: http://www.rpelectronics.com/English/Content/Items/640-1803.asp IIRC it's short enough to fit in a 1U rack, but I would have to go home and measure it to make sure (it's sitting in a drawer right now, waiting for me to have more free time). This is only going to be enough juice to handle the +/-12V easily, but possibly not the +5V if you're using a backlit LCD. And as always, remember to use fuses, etc.
  8. There's one more advantage of buying a handy kit, at least when your time is limited: If I buy from Digikey (or Mouser, or Reichelt, pick your favourite store) and buy some components, they get nicely organized into parts containers. That's great. Still, when I want to go and build something I have to go and find all of the components. It's not that time-consuming, but it takes a while. When I get a nicely packaged kit from Smash, I leave it in its wrapping until I have time to build it. Open it up, and everything is all ready on my desk for me to go. Instant gratification!
  9. You can probably build your own voltage reference without too much difficulty. Build a voltage divider (out of two resistors) between your regulated +12V and GND. Feed the divided voltage into some opamp, it shouldn't really matter which one. Since you want this to be really precise, you may want to add a trimmer potentiometer into your divider so that you can tune it precisely to +10V. After everything has warmed up and you've tuned the output of the opamp to +10V, you should be able to feed that to your DAC (I think). A project I'm working on right now uses this approach (a pair of 10k resistors and an LM358) to create a +2.5V reference between +5V and GND.
  10. I've looked into making a DIY sampler before, so here's the skinny: - yes, it's possible - it's going to be a lot of effort, either building tons of hardware to come up with something equivalent to a mid-80s sampler, or writing a lot of software to come up with a mid-90s sampler - even with all that effort, it will cost you substantially more than buying a used sampler - you're better off buying one, or just using a softsampler VST of some kind This is especially true if you want to do multisampled instruments.
  11. Typically when you see "14.32" or "14.318", it's just rounding the 14.318180 MHz down to fewer significant digits. AFAIK they should all work fine.
  12. I'm impressed that you have it working as well as you do while running on the same PIC as the modulation/CS! If you moved the sound generation to its own PIC, that would free up a lot of resources on both sides. The downside, of course, is requiring an additional PIC and PCB. Communication could be over a parallel bus, '595-style shift registers (a la SID), or possibly I2C, since that has already been implemented on MIOS. If you went with a monodirectional (ie Core->Voice only) connection over I2C, you could probably get a whole bunch of boards running at the same time (though that probably wouldn't be cost-effective).
  13. @bill: generating waveforms in real time on a PIC is... well, challenging to say the least. Especially if you want ones with rich harmonics and timbres in them. There's a good reason that wavetables are used. @mess: glad to see that those wavetable files are coming in handy (assuming you got my PM, at least. I haven't checked my website logs). Good job interpolating between the waveforms in the table. You should be able to double that 32 to 64 by adding an additional set of interpolations, but then it might be getting too processor-heavy for the PIC. I'm not sure if you've had to start counting cycles yet :-) Some of the waveform banks don't really "sweep" all that well. But that data should be in the Wiard PDF I included, IIRC. One possibility: what if you didn't interpolate between the waveforms, but instead switched back-and-forth between the neighbouring waveforms. For example, instead of interpolating to waveform 13.5, just alternate cycles of waveform 13 and 14. Unsolicited feature suggestion: you know, because at this point you really want people to start adding features to your design. ;) This one I think I stole from the Droid-3 synth. As part of your filter, add a digital "drive" stage. Essentially this is just a multiplier, except you can have a number of types of digital clipping. (1) would be a hard limiter, clip at full + or - range. (2) would be a soft limiter, which requires some kind of light pseudo-compressor algorithm when you near max/min. (3) would be an overflow distortion, ie a peak over +128 would overflow to -127. (4) would be an inverse-peak distortion, that is to say, a value of +140 (ie, =128+12) would turn into +116 (=128-12). I have no idea whether any of these would be sonically pleasing or not, though. It's just something that I had been toying with in the back of my mind, and thought that I would throw out there, just in case you get bored ;D And as usual, good job, and keep up the good work!
  14. I knew I forgot something when I was making my case... there's that key word in there: careful! * makes a note for next MIDIbox project...
  15. Yeah, this is the classic combo: - catch-all email system so that you get everything going to @yourdomain.com - spammers forging addresses from yourdomain - admins configuring their email systems to bounce spam instead of just directing it to /dev/null Fortunately you don't need to worry about being blacklisted. Anyone who actually handles the blacklists will check the IP address of the spammers, and not the forged addresses. The downside is that this ruins the catchalls to a certain extent. Either set up lots of forwarders (in my case this requires remembering which "username" portions of the address that I have used over the past 5 years while signing up for crap online), or run SpamAssassin (or some other filter) on your mail server. I'm lazy, so right now SpamAssassin plus Thunderbird's spam filter is filtering the vast majority of my spam. I get maybe two or three messages per day that I have to manually delete. Unfortunately this doesn't address the issue of spam hitting your mail server in the first place...
  16. I guess if you're building Core modules on perfboard or something, then it would take a while. But soldering everything onto one of Mike's or SmashTV's PCBs doesn't take much time at all...
  17. It doesn't look like there's any particular reason that the designer used the 1458, other than it being a dual opamp. A TL082, 072, pair of 741s, etc. should work just fine. Whatever you have on hand. If you've got a breadboard handy, it should only take a few minutes to test. If you don't have a breadboard... why not? Go get one, they're only a few bucks! :-) Heck, you can probably even find a small cheapish one at Radioshack...
  18. As you've probably figured out by now, it's a 32 kB (256 kbit) EPROM, -15 indicating 150 ns access time. It may be possible to find a compatible EEPROM, but the pinout is usually slightly different, as the EPROM has a program voltage pin, and the EEPROM will have a R/W pin. I'm guessing that you have an EEPROM programmer but not a UV eraser and EPROM programmer?
  19. Well done, that's fantastic! You managed to find eight 6582 for the project? I used to have one around on an old C64 PCB, but it got misplaced sometime in the last 7 years...
  20. Wish I had caught this one a few days ago... I don't think there are any OTAs out there with more than two per package. The most common ones are/were CA3080, CA3280 (one per), and the LM13600/13700 (two per), and various clones.
  21. I'm surprised that the LM317 in TO-92 isn't stocked. Maybe they carry it in a TO-220 format? Likewise with the 1N4002, I can't see that becoming obsolete. In general, if something is listed as "Non-Stock", I don't bother adding it to my order at all on their website. Usually you need to order something like 50-1000 of anything for them to bring it in if it's a non-stock item.
  22. Phew, tough question there. If you are ordering in bulk - to stock up your parts cabinet, for example - it would probably end up being cheaper (per part) than buying from SmashTV. The downside is that you end up spending a lot more money now to buy all of those components for future projects. Alas, I don't have enough spare time to go through an example module and price everything out at Digikey to see what quantity one would need to order to make it cost-effective. If you're only building a handful of modules and don't need to load up on parts, Smash's prices are quite reasonable. Looking back on all the time I spent selecting the correct parts from Digikey, ordering replacements because I wasn't 100% correct, then it definitely would have been worthwhile for me to order the full kits from SmashTV - as I did for my DINx4 module. Being able to open a shrink-wrapped package - with all your components right there - makes it easy to solder a module together quickly and painlessly.
  23. Well done! I was trying to prototype everything in Labview first before I bothered with ASM, but got bogged down with the filter code. I'm very glad to hear that someone has it working. Are you reading the waveforms out of a table, or generating them on the fly? If you are reading them out of a table, look for a few files on the web (or I could email them to you)... there's a "new.256" file that contains waveforms from a Wiard synth, and there's also the ROM from the Digisound's VCDO out there. Both contain a number of interesting waveforms that you could use. If you use a PIC with enough program memory, you could actually assign an LFO or ENV to sweep through various waveforms. That's a great idea... in my original plan I was just going to leave the aliasing noise in there, but it can be a bit distracting. Heh, I should've mentioned this earlier. When I started on my project, I created a table of note values in Excel to determine the tuning error with various sizes of accumulator. 16 bits didn't cut it, but 24 bits worked great. Again, great work, and keep it up! It's fantastic to see people putting in the effort!
  24. I have a couple of spare parts around, but they're generally reserved for extra projects already. I bought my boards from SmashTV (and if I wasn't already well-stocked, would have bought full kits from him). Any other parts I typically order from Digikey.ca because they will ship overnight if you get your order in by 5:30 PST. They don't have the cheapest prices around, but they're usually decent and have that quick shipping - and there's no hassles with the border at all, it just shows up. Other times I have bought stuff from MainElectronics(.com) and RPElectronics(.ca?), but those are both local shops so I go there in person.
×
×
  • Create New...