Sat Jan 02 2016 23:54:31 GMT-0800 (Pacific Standard Time)
On more than a few occasions, I've wanted to be able to software-record the sound coming out of my computer speakers. Many users faced with similar problems resort to using pulseaudio as their sound system, which is reasonble, because it provides a very extensible/pluggable framework for sound. Unfortunately, my experience with pulseaudio in the past has been "meh", probably due in large part to my heavy use of Pd. So I've stuck with ALSA through the years when doing simple stuff, resorting to jack when doing more complicated routing between applications. Simply recording what's playing seems simple enough...right? Not so much...
I guess some (nicer?) sound cards provide a built-in hardware recording channel that can mix back in the currently playing audio. Most built-in ones, like the one in my aging T410, do not. After some sleuthing, I discovered that ALSA's plugin system does, in fact, provide a way to do this. I'll describe the process here, but it's basically ripped from this thread where kokoko3k serves up the right approach: https://bbs.archlinux.org/viewtopic.php?id=147852
There's an ALSA kernel module called snd_aloop that "provides a pair of cross-connected devices, forming a full-duplex loopback soundcard". With just a little fiddling, you can create a "looprec" device that has loops back the audio output into a new recordable ALSA device. The steps, just like in the above-mentioned post, are:
$ sudo modprobe snd_aloop
(this inserts the relevant kernel module into the kernel)
create/edit ~/.asoundrc and paste in the following (a bit of alsa black magic):
pcm.!default { type asym playback.pcm "LoopAndReal" #capture.pcm "looprec" capture.pcm "hw:0,0" } pcm.looprec { type hw card "Loopback" device 1 subdevice 0 } pcm.LoopAndReal { type plug slave.pcm mdev route_policy "duplicate" } pcm.mdev { type multi slaves.a.pcm pcm.MixReale slaves.a.channels 2 slaves.b.pcm pcm.MixLoopback slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 } pcm.MixReale { type dmix ipc_key 1024 slave { pcm "hw:0,0" rate 48000 #rate 44100 periods 128 period_time 0 period_size 1024 # must be power of 2 buffer_size 8192 } } pcm.MixLoopback { type dmix ipc_key 1025 slave { pcm "hw:Loopback,0,0" rate 48000 #rate 44100 periods 128 period_time 0 period_size 1024 # must be power of 2 buffer_size 8192 } }
That's it! Your recording software should now have a device available called "looprec", and if you record from it you'll get whatever is playing on your speakers. You can make this permanent by adding the snd_aloop module to /etc/modprobe.d/sound.conf.
Since you've made it this far, I'll share what I was trying to record: http://websdr.ewi.utwente.nl:8901 -- which is pretty much the raddest thing ever.
Wed Nov 25 2015 11:15:01 GMT-0800 (Pacific Standard Time)
I was doing some digital housekeeping recently and came across an unfinished DTMF decoder that I started in Pd. DTFM is also commonly known as "touch tone" and is a signaling system traditionally used over telephony systems (and things like ham radio repeaters). I opened up the patch and found that it wasn't working quite right, so I tinkered and made something usable/releasable.
The help patch above shows decoding from a recording, live from the computers audio input (mic), and also from a fake DTMF dialpad that I made (which also uses my [dtmf~] abstraction). If you're watching a movie or listening to the radio and hear some gold old-fashioned touch tones, you can now decode the digits using this Pd abstraction. Good times.
Back in the 90s, I built several DTMF decoder circuits by hand, some that even interfaced wiht the computer's parallel port for logging. Wow, that was a long time ago. If you hunt around, I suppose you can still find DTMF decoder ICs, but they're certainly becoming harder to find. I guess these days, it makes sense to use the $2000 general-purpose computer on your desk/lap to do that work instead of $10 in parts. :-)
You can download this DTMF decoder (as well as my other DTMF related pd abstractions) over at my github repo: https://github.com/breedx2/pure-data. Let me know if you find them useful!
Wed Nov 18 2015 22:13:02 GMT-0800 (Pacific Standard Time)
I was in Kassel, Germany in 1992 for Documenta IX and had my brain melted by the sheer volume of amazing art. As a teenager/young-adult, this was really my first opportunity to explore the art world in any meaningful way. That experience of wandering around the galleries and discovering works and artists...learning about conceptual, contemporary, video/film, mixed-media and conceptual art had a powerfully profound and long-lasting impact on me as a person.
Whenever I think about this time, I almostly always think back to Anish Kapoor's "Descent Into Limbo".
The viewer enters a small concrete/stucco room in which there is a large black circle in the center of the floor. Otherworldly/surreal lighting fills the space (was it electronic? natural? something else?), but the circle is the focus of attention. What's so special about this? Why do I care about this circle? Wait? What is it? Is it a carpet or a mat or a flat form...or wait, maybe it has depth? Maybe it's a hole. Why can't I see it!? What does it want from me? We're a little scared and nobody seems to want to get close to it. It has no edge/lip and there certainly is no bottom. It's perfect darkness, or darkness perfected (I can't tell which).
Anish's site has some drawings that explain it in more detail. I sometimes wonder if it's still there, haunting the ground in Kassel.
Sat Nov 14 2015 22:19:59 GMT-0800 (Pacific Standard Time)
I created a build page for the "They Live" mask I made for Halloween 2015. Check it out here.
Fri Nov 13 2015 22:15:39 GMT-0800 (Pacific Standard Time)
tags: reblog noise backtothefuture
Tue Aug 11 2015 22:26:14 GMT-0700 (Pacific Daylight Time)
tags: superpower comics
I discovered that I have a super-human superpower. It's a lame superpower, but I'm amused by it nonetheless. At first, I thought it was mere coincidence or accident, but after several keen observations over the course of several months, I have very much connvinced myself that it is real.
My superpower is the ability to grab the exact number of pre-bagged comic book backing boards to match the number of new unbagged comic books that I just bought. I don't have to count them in advance...I don't count the books nor do I count the bags, I just reach into the stash and grab some boards and bags and it always turns out that I have pulled out the perfect number. My superhuman fingers simply flip thru the stash until the the amount inexplicably feels right, and BAM, it's spot on!
So there it is.
Sat Aug 01 2015 11:11:33 GMT-0700 (Pacific Daylight Time)
tags: negativland donjoyce rip
I guess this happened about a week ago, but I just learned that Don Joyce (of Negativland and Over The Edge [radio program on KPFA]) has passed away at the age of 71.
Don Joyce was an innovator, a rebellious sonic prankster, and a true inspiration. He will be missed.
Archives of "Over the Edge" can be heard at the KPFA archives:
http://oldwww.kpfa.org/archive/show/1782
And at archive.org
Wed Jul 15 2015 21:25:08 GMT-0700 (Pacific Daylight Time)
tags: synth eurorack noise synthesizer circuit
Trying out the whopping 4 modules I have installed...
Mon Jul 06 2015 20:11:22 GMT-0700 (Pacific Daylight Time)
Sun Apr 26 2015 23:10:03 GMT-0700 (Pacific Daylight Time)
tags: nature hummingbird
Have you ever seen inside a hummingbird's nest? I hadn't either, until I discovered this little one in our street-side tree. It's only about 2.5" across, and when the mother hummingbird sits inside she fills the whole thing. I risked the fatal dive of a needle-beak long enough to raise my aging camera phone above my head to see what was inside....
Check out how camouflaged it is! It's so tiny, you really wouldn't even know it was there. I can't even imagine what a hummingbird hatchling looks like, and I refuse to google it. Your move, springtime.