In this installment of the Joys of Low Voltage Audio series, I want to present some considerations and techniques to help you work with one of the biggest quirks found in RRIO opamps.Continue reading “Joys of Low-Voltage Audio: Avoiding input stage crossover”
In the third installment of this series, I want to talk about one of the device types you’re almost guaranteed to encounter in low-voltage audio: the rail-to-rail opamp. More specifically, I want to talk about the terminology around rail-to-rail opamps and the techniques used by IC designers to achieve rail-to-rail behavior. So let’s start by answering a fundamental question.Continue reading “Joys of Low-Voltage Audio: R2R terms and techniques”
A few years ago, I developed an audio gain cell that was exceptionally fast for a fully discrete circuit and quite clean. That design ended up being adopted commercially, including by Audio by Van Alstine, who are using it in their DAC MK 5 and Vision preamplifier. I like to think that this gain cell is a key factor behind why the owner of a well-regarded manufacturer of luxury loudspeakers called the AVA DAC MK 5 one of the best sounding DACs he’d ever heard and a model for other manufacturer’s to live up to.Continue reading “More module talk”
In an earlier post, I talked about how I entered the world of low-voltage audio and my commitment to delivering the best possible performance subject to that constraint. In this post I’d like to consider some strategies for generating power in your LV application.Continue reading “Joys of Low-Voltage Audio: Power strategies”
I just discovered that I got a mention in Doug Self’s book The Design of Active Crossovers for the work I did a while back on loudspeaker crossovers. If you don’t know who he is, he’s one of the big names in British audio engineering. He’s done work for Cambridge Audio, TAG-McLaren Audio, and other respected brands. Feeling warm and fuzzy.
It turns out the world of low-voltage audio is a lot of fun, and I’d like to start sharing some of my journey through it.
I suspect everyone has a different reason for entering this world, lending each story a different color and set of priorities. Mine goes something like this.
I’m bulk editing a bunch of KiCad footprints (a.k.a. modules) in a text editor. Said footprints have a
tedit field, which turns out is a hex-coded timestamp. This means to properly edit a KiCad footprint in a text editor, you should update that field when you save it.
A one-liner for producing a hex-coded timestamp in Linux bash is:
printf "%X\n" $(date +%s)
In a previous installment, we took a dive into the
this variable and how it behaves in different ES5 situations. In this installment, we’ll do the same but for so-called arrow functions, introduced in ES6.
So far we’ve learned what the relationship is between an object and its constructor’s
prototype and what happens when we change properties set on the
__proto__ property, which is also the constructor’s
undefined. But that’s not what happens.