S C O T T P E T E R S E N ∞ E L M U C O ∞ S C A C I N T O . C O M

homepage for scott eric petersen, el muco, and all things electronic

Analog Ring Modulation Circuit

Above is a video and below are some pictures of a simple ring mod circuit I whipped up last night. The circuit is the classic circuit, and I’m simply running two oscillators from a hex schmidt 6-oscillator IC through the circuit as the carrier and modulator. The frequencies of the hex schmidt are being controlled by a PSR (photosensitive resistor) and an FSR (force sensing resistor) respectively. The video shows fairly well how the PSR reacts to the light. The function of the FSR is a little less clear visually, but you can hear it pretty plainly. I can throw up (!) a schematic of the circuit if anyone is interested, but you should be able to find one by doing a google search.

The project requires a 5V power source (batteries only!) a bread board or project board, some wire (i prefer solid-core) two diodes, two capacitors (0.1uf), 1 133k (or thereabouts) resistor, one PSR, one FSR, one hex schmitt oscillator (mm74c14n) and an audio cable or female 1/8 audio jack to run into a) an amplifier, b) a mixer, or c) your computer.  In this case I have two alligator clips attached to the cut-off and split end of a 1/8 audio cable, the other end of which is running into a mixer and then out to small speakers.

Next on the agenda I think I’m going to build me an ADSR for it. This site has a really great page on ADSRs with diagrams, circuit board patterns, etc.

Filed under: Current Projects, Miscellany, Phase 1, , , , , , , , , ,

(tiny) Nifty Codez

I realize from looking through this site that I need to start posting more code (and resulting recordings.) Part of my motivation is that SC3 (now 3.4!) never ceases to amaze me with its possibilities. One can, with a very small amount of code, achieve some incredibly intricate, beautiful sounds. The below is one example.


{var func, ampFunc; func=LFNoise1.kr(LFNoise1.kr(1!2,0.005,0.02)!3,1000!3,1500!3);
ampFunc=LFNoise1.kr(LFNoise1.kr(1!2,0.4,0.5)!3,0.4!3,0.5!3);
FreeVerb.ar(SinOsc.ar(func,func%pi,ampFunc%1), 0.75,0.75);}.play;

The code all fits in one function ( {} ) and involves 6 UGens and a couple of variables. Basically, the LFNoise1 UGens are random line generators. I’ve nested them inside each other to add even more variability in how the randomness occurs, how often and how much the line moves within the given range. This are then duplicated several times for each parameter (using the ! operator) and applied to the sine-tone oscillator’s frequency, phase, and amplitude parameters. All is wrapped in a warm reverberant blanket of FreeVerb for that roomy effect. Note that the way I’m using the ! operator is sort of a hack and creates many redundant versions of the same integers. This can result in channel number mismatches and amplitudes of over 1. To solve this, the code can be simply modified with a Mix UGen that mixes the array of channels down to (in this case) 2 channels, and adding a multiplier of 0.5 ( ) * 0.5}… ) to keep the amplitudes below 1.


{var func, ampFunc; func=LFNoise1.kr(LFNoise1.kr(1!2,0.005,0.02)!3,1000!3,1500!3);
ampFunc=LFNoise1.kr(LFNoise1.kr(1!2,0.4,0.5)!3,0.4!3,0.5!3);
Mix(FreeVerb.ar(SinOsc.ar(func,func%pi,ampFunc%1), 0.75,0.75);)*0.5}.drawAndPlay;

Note the above uses an added method called drawAndPlay which graphs out the above code in GraphViz so one can visually see exactly what’s going on. The below png file (click it) shows what happens behind the scenes.

Here is a recording of the above code. Note: each time the code is run, the results are different, sometimes subtly, sometimes more noticeably.


The beauty of SC3 is that it is extremely customizable/flexible in terms of coding styles. The above code could be condensed even further, and made to fit in a tweet, for example, but for visual and pedagogical purposes I made it more visually self-explanitory.

I will hopefully post more small examples as the summer weeks pass by. Stay tuned, and stay cool.

\sP

Filed under: Code, Phase 1, SC3 - Code - Music - More, , , , , , ,

G O I N G S O N : L O C A L (ISH)

fritz Art of Fritz Horstman
kane Music of Brian Kane
fritz Hartford Phase Shift
fritz Hartford Sound Alliance
Lique Art of Philip Lique
Lique Music of Matt Sargeant
strycharz Art of Heather Strycharz
uncertainty Uncertainty Music Series

Featured

INI new haven

Handmade instruments by Scott Petersen and Brian Kane at Artspace New Haven

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 34 other followers

-

P O S T E R S !

Artspace

-

Artspace

-

Artspace
Follow

Get every new post delivered to your Inbox.

Join 34 other followers