The valve DAC - Submicron silicon meets submillimetre vacuum

To support then diyaudio Group Buy of Marcel van de Gevel's Tube DAC, here is his article for download.

The valve DAC - Submicron silicon meets submillimetre vacuum

An implementation of Vincent Thiernesse's Efficient Power Supply

In Linear Audio Vol 12, Vincent Thiernesse proposed Efficient, unity power-factor, low cost audio power amp supplies. The article discussed the concepts and a general imnplementation. Vincent also wrote about this in the AudioXpress June 2016 issue: You can diy an ecological power supply for power amplifiers. That article describes a practical implementation. The folks at AudioXpress kindly placed it online; it nicely complements the L|A article. Recommended reading.

Building notes for Hannes Almaier High Octane phono preamp (Vol 6)

Hannes collected some practical building notes for his High octane preamp, including a parts list.

You can download the PDF here.

Thermal transient variation of power amp quiescent current

For a limited time I offer my Vol 9 article Thermal transient variation of power amp quiescent current - Instrumentation and findings for free download. Enjoy!

Appendices for Burkhard Vogel's Challenging BJT noise in Vol 13

Mr. Vogel provided several appendices for his article that did not make it into the printed Volume 13. They are downloadable here; with thanks to author Vogel.

M-files for the electro-acoustic test system by VanderKooy and Mann in Vol 13

The article in Vol 13 describes the hardware and software setup for an electro-acoustic measurement system based on a soundcard driven by a MathLab / Octave compatible collection of test routines. You can develop your own test routines for your own specific test needs, but the authors have kindly provided a set of test scripts to get you going. Each set of scripts also has a readme file to explain the flow and use.

M-files & readme for part1     M-files & readme for part 2

Design data package for Marcel van de Gevel's Valve DAC from Vol 13

Although Marcel's article in Vol 13 is very complete, some of the more practical desing information like FPGA code and PCB layouts didn't make it into the printed version. Marcel has graciously agreed to make the complete Tube Dac data package available here. This has everything needed for adventurous builders to replicate this design.

Update January 16, 2018: updated version 2.1 from previous version 2: following discussions at, Marcel made some changes to his tube DAC. The zip file contains version 2.1 of the Verilog code and user constraints file for the valve DAC, as well as an MCS file that can be directly programmed into the flash memory of the FPGA module. Use the MCS file if you want to use the code as-is, the Verilog and UCF files are only needed for those who want to change the code themselves.
Compared to version 1, version 2.1 adds an I2S input on the extension connector. This input (which supports 2.8224 MHz DSD64 over DoP) can also be switched to a raw DSD mode, in which it supports 2.8224 MHz DSD64 and 5.6448 MHz DSD128. For PCM, the extra I2S input supports sample rates from 12.5 kHz up to 216 kHz and word lengths from 8 up to and including 32 bits. The I2S input can only operate in slave mode.
Compared to version 2, version 2.1 fixes a bug that could bring the DSD FIR filters into an undefined state.
For completeness' sake, this zip archive also contains the missing Gerber file for a backside legend layer for the main PCB, KiCadtop-B.SilkS.gbo. The original design data package had no backside legend because the Eurocircuits PCBproto process by default has no backside legend. However, the extra costs for adding a backside legend are only 0 euros, which is negligible compared to the total costs of the project. Besides, people may want to use other PCB manufacturers.
With one exception, the generated FIR filters and FIFOs used in version 2.1 of the valveDAC Verilog code are exactly the same as those used in version 1. See the documentation of version 1 to see how to generate them. (Again this is only relevant if you want to change something and, hence, can't use the MCS file.)
The exception is the filter type firdsd6 that is used at two places in module prefilter.v. These are generated by the Xilinx FIR compiler version 5.0 with exactly the same settings, coefficient file et cetera as the original firdsd filters (used in version 1 of the valveDAC Verilog code, see the documentation of version 1), except that the input word length is changed from 2 bits to 6 bits. (This automatically also results in a four bits longer output word length.)
The extra I2S input is mapped to these extension connector pins:

P9 pin 1: sel4192in, 0 selects the I2S (or raw DSD) input, 1 selects the DIX4192 S/PDIF interface. Debounced input with internal pull-up that can be connected to a fifth contact of the source selection switch.

P9 pin 3: mutei2sin, 1 mutes the sound when it comes from the I2S input.

P9 pin 5: datai2sin, I2S audio data input or raw DSD left audio data input.

P9 pin 7: deemni2sin, low level activates 50 us/15 us de-emphasis when the I2S input is active.

P9 pin 9: bcki2sin, bit clock for the I2S or raw DSD input.

P9 pin 11: lrcki2sin, word clock for the I2S input or right channel raw DSD data.

P9 pin 13: dsd64_128, must be 0 for DSD64 and 1 for DSD128 when the raw DSD interface is used.

P9 pin 15: dsdon, must be 0 for PCM or DoP, 1 for raw DSD.

P9 pins 2, 4, 6, 8, 10, 12, 14, 16: ground

P9 pins 17, 18, 19, 20: 3.3 V supply pins, see the schematic.

All inputs have internal pull-ups except dsdon and dsd64_128, which have internal pull-downs. The extension connector can be left unconnected when the I2S input isn't needed.
The logic high level is nominally 3.3 V. The logic high level can be reduced if needed by changing the power supply voltage of FPGA I/O bank 0. In principle the levels in the UCF file then have to be updated and everything has to be re-synthesized and re-implemented, but if you are lucky it might work without that.

A .zip with all modified files can be downloaded for free.

Appendices for Rudolf Moers' V13 article An investigation into the screen tap

Rudolf has published earlier articles in Linear Audio related to finding the lowest distortion solution for an ultra-linear circuit. However, on closer examination it turned out that his solution provided the most linear anode characteristic, which is not the same as lowest THD. In this article the author leads you through his investigation and the hidden arguments why the lowest THD is achieved at a certain screen grid tap. Not all material could be published in the article, and Rudolf added several Appandices which are posted here as PDF. Recommended reading!

Addendums to Ian Hegglun's CubeA and Current Source Driven output stage amplifiers (Vol 8 & Vol 13)

Ian Hegglun has published his Cube Law amplifier in Volume 8 and returned in Volume 13 with a CSD (Current Source Driven) output stage. Ian builds on several earlier publications to improve on the concept. He maintains a PDF addendum to his article(s) documenting his progress on further developments, insights and measurements. Please see also the Oops section on any corrections to the original article.

There is also a discussion thread on this subject at

This is one of those very rare occasions when something really new is proposed for audio power amplification - thank you Ian!

Hans Polak Non-plus-ultra Phono pre Vol 12

Linear Audio Vol 12 contains an article by Hans Polak on the design of a 'non-plus ultra' phono preamp. Hans has kindly agreed to make the PCB layout Gerber files available for interested readers.

Update: after several requests for an MM-version, Hans has worked out some changes to the original design to make it a better fit for MM cartridges. Here are the changes, which only affect the input stage:

  • 2x AD797 to be replaced by  2x OPA1641, matching these op-amps is not necessary;
  • R3 becomes 165 Ohm instead of 15 Ohm;
  • R4 becomes 47K instead of 1K;
  • R8 becomes 47pF instead of 111Ohm, which may be a better value for optimum damping of your cartridge, but you may have to adjust it to your cartridge;
  • R7 becomes 100pF, for the same reason as above;
  • C32 and C33 change from 220pF to 120pF, or possibly lower depending on the required capacity for your MM cartridge and the tonearm cable;
  • C21 & C22 (both 47pF) are no longer required.

With these changes, the SNR figures are:

  • Input shorted: 80.7 dBA ref 5mv @5cm/sec;
  • With cartridge connected: 76.5 dBA ref 5mv @5cm/sec.

PCB for Bob Cordell´s KT88 tube amp from Vol 2

Bob Coldell´s high quality KT88 tube amp article in Vol 2 generated quite some interest. In fact, I had a friend build one for myself! I designed a small PCB to hold the input and driver stages, to keep te construction clean and repeatable. For those who want to build it too, here are the particulars of the PCB and the circuit it holds:

Input and driver stages

PCB layout and stuffing

PCB Gerbers

Finally, here is the complete article.

Note: one reader has produced a few PCBs; if you are interested, let me know.

Worksheets and simulation files for Chris Paul's What's Mu with you? Volume 12

Chris Paul's article looked in much detail into the aspects of Mu followers and related circuitry. Chris developed a spreadsheet and an LTspice file that enabled him (and you) to explore the impact of various variables as explained in the article.

The spreadsheet and LTspice file and instructions can be downloaded here for personal use. Enjoy!

Exploration spreadsheet

LTspice simulations

LTspice simulation instructions

Thermal spreadsheet for John Escallier's Volume 9 article

The article by John Escalier in Volume 9 'Semiconductor junction dissipation and temperature -  theory and practice' discussed a spreadheet, developed by John, to facilitate calculating the various parameters for thermal management.

John has been so kind to make the spreadsheet available for L|A readers. It can be downloaded here.

Effective tip mass for record replay cartridges

Follwing the publication of Volume 10 which contained several articles concerning record replay, John Jones send author Hannes Allmaier and yours truly a long list of effective tip mass data for many well-known cartridges. I reproduce the list here, with thanks to John!

Any additional data would be quite welcome!




6.000mg ELAC STS-200 (1958, first stereo MM pickup?? 4-6g VTF)
6.000mg GE VR-II (1955, mono, variable reluctance, 4-7g VTF)
4.500mg Sonotone 9T (1960, stereo, ceramic)
3.000mg Philips GP316 (1958, crystal, mono, 5-7g VTF)
1.400mg Philips GP380/GP390 (1968, high fidelity ceramic cartridge)
1.200mg Shure V15 first generation (MM)
1.000mg Ortofon SPU (all classic and 'mono' models)
0.970mg Shure "bi-radial" (0.4x0.7mil, MM)
0.800mg (less than) Philips GP400, 401 1st gen (MM)
0.750mg Ortofon X1-MCP (p-mount, high output MC)
0.600mg Nagaoka JT-555 (pseudo "carbon fiber" cantilever)
0.600mg (less than) Philips GP412 1st gen (MM)
0.500mg Ortofon OM10 stylus (bushed elliptical, MI)
0.500mg Philips GP922 (high end MC)
0.450mg Shure V15-II (MM)
0.400mg Ortofon OM20 stylus (nude elliptical, MI)
0.700mg Ortofon X5-MC (HOMC, nude FG)
0.370mg Shure Elliptical (0.2x0.7mil, MM)
0.330mg Shure bi-radial on V15-III (MM) (berillium control rod)
0.300mg Ortofon OM30 stylus (nude Fine Line), OM40 (nude FG), MI
0.290mg Technics EPC-P202C (p-mount, MM, boron cant)
0.290mg Shure HE on V15-IV (MM) ("telescopic shank")
0.270mg Denon DL-301 (MC)
0.250mg Denon DL-207 (MC)
0.240mg Van den Hul Colibri (MC)
0.230mg Technics EPC-P310MC (p-mount, MC, boron cant)
0.230mg Technics EPC-100CMK2 (MM, boron pipe)
0.220mg Ortofon Jubilee (MC)
0.200mg Empire 2000-Z (shielded moving iron, stylus 0.2 mil x 0.7 mil diamond)
0.180mg Denon DL-303 (MC)
0.170mg Shure Micro-Ridge (0.15x3.00mil, MM, beryllium cant)
0.168mg Denon DL-305
0.149mg Technics EPC-(P)205CMK3 (MM, boron pipe)
0.139mg Technics EPC-P310MC2 (MC, boron pipe)
0.109mg Technics EPC-(P)205CMK4 (0.2x0.7mil, MM, boron pipe)
0.098mg Technics EPC-100CMK3 (MM, boron pipe)
0.077mg Denon DL1000 (MC, boron cant.)
0.055mg Technics EPC-(P)100CMK4 (MM, boron pipe cant.)

Test waveforms for Scott Wurcer's digital RIAA article in Volume 10

The following collection of test- and source files was submitted by Scott Wurcer to complement his article on Volume 10 on digital RIAA correction.

For those of you who wish to download the material, there is a pair of .zip files at the end which contain all the files and matrial posted here.

FIR Filters for RIAA    

There are several sets of files containing minimum phase FIR filter coefficients for RIAA equalization in both text and wav format. There are files for 48K, 96K and 192K sampling rates as well as duplicates employing the extra 50K time constant that some recommend to compensate for cutter head roll-off/phase. The text files are in the SoX .dat format as shown below. 

; Sample Rate 48000
; Channels 1
0.000000000e+00 5.966590663e-08
2.083333333e-05 -5.982466236e-08
4.166666667e-05 5.998405294e-08
6.250000000e-05 -6.014408199e-08

Here the first two lines contain the sample rate and the number of channels and each subsequent line contains the sample time and value at that time. Excel can be set to import just the second column skipping the first two lines from its import dialog so a simple text file of just the coefficients can be easily created. The files all have the peak value and hence the processing delay at different points, in general a slight delay which is equal in both channels does not matter for the purpose of simply listening. The text version of the files are all normalized to 1.0 so the peak can be found by a simple search in the second column if this is important in a particular application.

SoX Batch Files

It’s very easy to create a drag and drop .bat file to facilitate file conversions and other signal processing in SoX. It only requires an awareness of a small subset of DOS batch file commands and syntax. For instance, to convert a .wav file to a .dat (plain text) file one would do this…

cd %~dp0
FOR %%A IN (%*) DO sox -D %%A %%~nA.dat

When you drag a set of files onto this batch file ~dp0 contains the directory that the batch file is in and you cd to that directory first. Then for each file in all the files dropped run sox with no dither (-D) and save the result in this directory as a .datfile with the same name. Whenever possible SoX uses the file extension to figure out the “right thing” to do so dropping a .wav file results in the simple translation of .wav to .dat with no dither. There are many web resources for translating the sometimes cryptic batch file syntax, and the SoX manual describes building a command line which can include both IIR and FIR filters as well as several options for adjusting gain or normalization of the output. The reverse process…

cd %~dp0
FOR %%A IN (%*) DO sox -D %%A -e signed -b32 %%~nA.wav gain -2

Here we read a .dat file and set the output format to 32bit signed integers, the highest resolution 32 bit format. I have set the gain to 2dB below full scale for .wav files because I have run across some low cost sound cards that clip internally with files that go to full scale. For both of these SoX has to be in your $path or the same folder as the batch file.

min_phase_FIR_RIAA_48k.dat    min_phase_FIR_RIAA_96k.dat   min_phase_FIR_RIAA_192k.dat

min_phase_FIR_RIAA_48k.wav   min_phase_FIR_RIAA_96k.wav   min_phase_FIR_RIAA_192k.wav

min_phase_FIR_RIAAp50_192k.dat   min_phase_FIR_RIAAp50_96k.dat   min_phase_FIR_RIAAp50_48k.dat

min_phase_FIR_RIAAp50_48k.wav   min_phase_FIR_RIAAp50_96k.wav   min_phase_FIR_RIAAp50_192k.wav

The following two batch files facilitate conversion of one file type to the other:  dattowav.bat      wavtodat.bat

Test Waveforms 

These folders contain test waveforms (all in .wav format) with several possible uses. All files come in both a 48kHz and 96kHz versions. They are based on the concept of spectral contamination in the presence of a noise or music like stimulus. The first set consists of four multi-tone files where there are 30 tones at 1/3 octave spacing with random phases. In the time domain it sounds a little like one big 6 handed chord. There are both a general use, flat, version and a version with RIAA pre-emphasis applied which can be used as a simple test for RIAA conformance. The numerical noise filling the space between the tones is below the noise floor of a 24 bit DAC so any imperfections in the signal path will fill the space between the tones with IM/THD components. The files with a flat spectrum are generally useful for DAC/ADC testing as well as any amplifier/speaker chain. It may be difficult to find a DAC or ADC to reproduce these without excessive spectral contamination of their own, in that case a comparative analysis might be useful. These file are designed to be analyzed with a 65536 point FFT and with no (rectangular) windowing though some window functions have low enough leakage to still be useful. With any other length FFT the relationship of the tones to the FFT bins is lost. The next two folders contain pseudo-random noise waveforms containing equal energy at every FFT bin but again with random phase so the resulting time domain waveform looks and sounds like random noise. Each waveform comes in versions with all tones and with four logarithmically spaced gaps to again do the spectral contamination test, and with or without RIAA pre-emphasis for a total of eight files. Since the RIAA pre-emphasized files see the full 40dB of the RIAA curve and do not take into account that the spectral content of most music rolls off with frequency, they are an extreme test of your signal path.

30 tone multitone test files:                30multitone_IRIAA_96.wav   30multitone_flat_96.wav​             30multitone_IRIAA_48.wav   30multitone_flat_48.wav

pseudo-noise flat test files:                  psrnoise_flat_48.wav            psrnoise_flat_48_holes.wav        psrnoise_flat_96.wav            psrnoise_flat_96_holes.wav

pseudo-noise_inverse RIAA test files:  psrnoise_IRIAA_48.wav        psrnoise_IRIAA_48_holes.wav    psrnoise_IRIAA_96.wav       psrnoise_IRIAA_96_holes.wav

Coefficient tables

To close this section, here are the tables with filter coefficients as shown in the Article Appendix. If you want to play with them you can cut-'n-paste from these files:

v10 sw appendix a tables      v10 sw appendix b tables

Python functions and filter Optimizer


This is a very basic example of using scipy’s brute force optimizer to optimize the z domain poles and zeros to match an s domain prototype filter. Since the optimizer starts by doing an exhaustive search over a range of values for any number of variables, this becomes very slow rapidly as the number of variables or fineness of the search grid grows. This example is set up for a peaking equalizer where the gain , Q, and frequency of interest (fo) are specified. I suggest the reader familiarize themselves with the optimizer by reading the online description as well as The Audio EQ Cookbook. 
The function fun(x) is minimized by the optimizer via the array (x) of variables. Here x[0] is fo, x[1] is A (gain), and x[2] is Q. The poles and zeros are extracted as the roots of the characteristic polynomial and the peak to peak error between the z domain response and the s domain response is returned.
The values in the body of the routine will need to be edited for different frequencies, other parameters, and different types of filters. Start and stop give a range of frequencies over which to optimize. The ranges are the set of ranges for the array of variables (x) passed by the optimizer (brute()). I use these to multiply the filter parameters so (.8, 1.2) is an ~ +- 20% range while the variable Ns is the fineness of the search. There is lots of room for experimentation with the values that are left up to the user.
The optimizer returns the optimized values for the x array which are then used to compute the optimized poles and zeros and the coefficients for the IIR filter which are printed out at the end.
This example is for a 5dB, 10kHz peaking filter with a Q of .5 and a sampling frequency of 48kHz. I chose to optimize only to 12kHz because increasing this rapidly degrades the fit due to the frequency warping. In fact it is easy to get no better a fit than by simply using the suggested “tweek” to the Q mentioned in the main article. Running the script generates output which consists of the poles and zeros of the prototype followed by the optimum z domain poles and zeros with the computed IIR filter coefficients. note: rename to to run!    

Python functions library

These are the basic functions that I use to go back and forth between the s and z domain, compute IIR coefficients and plot phase and frequency responses. As mentioned in the article I am not a programmer by trade and there are probably many improvements possible here. It is easy with Python to get a little confused around arrays, lists, and other ways of packing and unpacking data. Usually what seems obvious works but there are times when an explicit declaration is necessary. Also there is not thorough checking for bad inputs so they will simply fail or give a bad output. As noted also I use positive frequency for both the s and z domain in my computations, the built-in roots() function returns negative values as it should and they are inverted as necessary in my code.

dB(x) - Returns 20*log10(abs(x)) for any length argument.

f_warp(f, fs) – Returns the “warped” frequency of interest (f) for IIR filter coefficients. Fs is the sampling frequency.

f_from_z(z, fs) – Returns a frequency from the point z inside the unit circle.

z_from_f(f, fs) – Returns the point z inside the unit circle corresponding to frequency f.

Fs_at_f(Poles, Zeros, f, norm = 0) – Returns the complex value/s for s domain frequency response at list of frequencies f. The transfer function is described by its poles and zeros. If norm is true (1) the output is normalized to 1 at the maximum value.

Fz_at_f(Poles, Zeros , f, fs, norm = 0) – Returns the same for the z domain poles and zeros (here fs is needed also). The pole and zero frequencies are those that would be returned from f_from_z(z, fs).

z_coeff(Poles, Zeros, fs, g, fg, fo = 'none') – Returns the a and b coefficients of the IIR filter defined by the poles and zeros. G and fg are the gain in db and frequency at which that gain is set. Fo is the frequency of interest, that is, for a peaking filter fo would be the peak while for a low pass or high pass filter it would be the break point. If ‘none’ or not specified there is no frequency warping and all mapping is simply by the bilinear transform. 

biquad_filter(xin, z_coeff) – Returns xin filtered by the biquad filter defined by the z domain coefficients, [[a0, a1, a2] ,[ b0,b1,b2]]. By convention the b coefficients are the numerator and the a are the denominator with a0 = 1.

write_txt(filename, y) – Writes a simple text file of the values of the array y.

read_txt(filename) – Returns an array from the values in a text file.

read_dat(filename) – Returns a mono or stereo file in the SoX .dat format.

write_dat(filename, sr, left, right='none') – Writes a file in the SoX .dat format. Sr = the sample rate. Left and right are equal sized arrays of time samples.

plot_fft_log(fs, data, diff = 'none', start = 0,stop = 0, delay = 0) – Plots the FFT of a time domain waveform. Fs is the sampling frequency and data are the samples. If diff is specified the difference between data and diff is plotted. Start and stop are the start and stop frequencies for the plot, 20Hz and 20kHz are the defaults. A delay in samples is specified to compensate for phase wrapping, the default is 0. This function compensates for actual bin frequencies so, for example, a 65536 point FFT of a waveform sampled at 48kHz gives the right frequencies.

plot_fft_lin(fs, data,diff = 'none', start = 0, stop = 0, delay = 0) – Same function for a linear with frequency plot.

plot_dat(sound) – Plots a sound file read by read_dat() or in the .dat format.

plot_gain_phase(Poles, Zeros, zPoles = [], zZeros = [], fs = 48000.,fo = 1000. ,start = 20, stop = 20000,style = 0) – Plots the gain and phase vs frequency of a frequency response defined by a set of Poles and Zeros. If zPoles and zZeros are specified it becomes a comparison between the s and z domain with fs being the sampling frequency. Fo is the frequency where both responses are equalized. Start and stop are again the limits on the plot while style = 1 is a difference plot and style = 0 is a plot of both responses on the same axes.

min_phase_FIR(Poles, Zeros, fs, outfile, plot = 0) – Generates a minimum phase FIR filter in mono .dat format from the s domain poles and zeros at a sampling frequency fs. The output is written to ‘outfile’ and it expects a HOME directory to exist. You can change the code to output to whatever you want. Plot = 1 plots the result so you can examine it. note: rename to to run! 

All test- and data waveform files                     All Python optimizer example&source files

Design considerations for a class A enclosure.

EUVL's class A enclosure

Patrick K. (aka EUVL) wrote an interesting article for Vol 3, "Design Considerations for a Class A Amplifier Enclosure". This is an subject that is very rarely treated at all. The article gives a complete treatment of all involved issues and can be used as a procedure to calculate the required heatsink capacity for a project, as well as selecting a suitable product to mee those requirements. Therefor, Patrick and I have agreed to place it online for further dissemination.

'The LTspice IV Simulator' by Gilles Brocard, reviewed by Bob Cordell

Linear Technoloy's LTspice simulator is a free, very high performance Spice simulator that is very much appreciated by professional designers and serious hobbyists alike. Gilles Brocart has written an extensive book with reference material, applications information and simulation methods. The book has a preface by LTspice's development manager Mike Engelhardt. 

Bob Cordell, an avid LTspice user himself, has reviewed this book for Linear Audio Volume 9. 

The review is available for download free of charge. The book itself is published by Würth Electronic but they have agreed to make it available for Linear Audio readers in an English and a German version. You can get it in our store for slightly less than at the other places... ;-) . 

PCBs for Stuart Yaniger's Equal Opportunity phono preamp / gain block

In his Volume 7 article Staurt presented a universal gain block, with a particular application to phono preamps. Because it uses JFETs, tubes, MOSFETs and IC regulators, it was baptised 'The Equal Opportunity gain block'.

I designed a PCB layout for the gain block with positions for RIAA corrction components, and the board files and relevant schematics are available here for anyone whoi want to buiild it, as long as it is not for a commercial purpose. If you want to commercialise it, please check with Stuart for license arrangements.

Main schematic

Power Supply

Stuffing Guide

PCB Gerbers

Additional material for Hegglun Cube Law power amp

In his Volume 8 article on Cube Law power amplifiers Ian Hegglun mentions that he has a lot of additional information available on the subjet. This additional info can be accessed on line courtesy of Mason Green. There's even more info and also the possibility to get additional PCBs from Mason at his own site.

As if that is not enough, there's more interesting info Ian collected including simulation models and files to simulate his amp with LTspice...

Appendices Audio Equalisation

In his article on Audio Equalisation in Volume 7, Malcolm Hawksford provided three Appendices. These contain Matlab scripts that can be used to explore the various circuit concepts described in the article.

Those Appendices can be downloaded in text format for immediate use in Matlab or any of it's equivalent applications.

Testing One, Two, Three...

Stuart Yanigers' Linear Audio Volume 2 article with this title has drawn considerable interest from both audio professionals as well as serious amateurs and hobbyists.

Many readers requested to make it available on line, so here it is.


LSJ74B preliminary data sheet

Linear Systems has send me the preliminary data sheet for the LSJ74B, the long-awaited replacement for the discontinued Toshiba 2SJ74B. This is posted here for the benefit of those who purchased Linear Audio Vol 6 asnd received a free LSJ74B and LSK170B.

Power Supply for Gary Galo's Archival Phono Preamp

Gary Galo's article in Vol 5, "An Archival Phono Preamp" mentioned that a suitable power supply would be posted online - here it is.

It is based on the Jung/Didden regulator published in Audio Amateur in 1995, amended by Walt Jung's article in issue 4/2000 in Audio Xpress. The original articles can be downloaded from Walt's web site.

Gerbers and PCB layout for Bruno Putzeys' article in Vol 5

The article from Bruno Putzeys in Vol 5 'The G-word, or, how to get your audio off the ground' is accompanied by a complimentary PCB for the demo project (courtesy It's a busy PCB and to help with parts placement, a larger version of the stuffing guide, the top layer and the bottom layer is available here. The Gerbers can also be downloaded if you want to make your own.

Color graphs for Jack Walton's regulator article in Vol 4

Linear Audio Volume 4 has a long-awaited article by Jack Walton, comparing a large number of low power supply regulators. Comparison includes measurements and controlled listening tests by the New Jersey Audio Club.

The article has a several rather busy graphs with curves in various shades of grey. The readability could be better, so I regenerated those graphs in color and posted them here on-line.

Fig 5, positive regulators Line Rejection

Fig 6, negative regulators Line Rejection

Fig 7, positive regulators Output Noise

Fig 8, positive regulators Output Impedance

Fig 9, negative regulator Output Impedance

MathCad resources for the audio enthousiast

Update 5 July 2012: Mason Green send me some info on an alternative to MathCad/MatLab: Scientific Python. He included a link to an excellent tutorial on Scientific Python. For an example of a practical application of Scientific Python, see Mason's PORC (Python Open Room Correction) project. Thank you Mason!

There have been several articles in Linear Audio supported by MathCad calculations and graphs; Burkhard Vogel's articles come to mind. If you are the curious type you probably discovered that a MathCad license can set you back $ 1500 or so. Not really DIY territory. However, here's a well kept secret: the student/educational version of MathCad is available for less than $ 100 and is identical to the expensive version, the only difference being that you don't get on-line support. And you need a professor- or student ID to be able to buy that version.

But it gets still better: if you buy Brent Maxfields'book Essential MathCad for Engineering, Science and Math for less than $ 50 you get an included MathCad 15 one-year student license for free. And the book is a great reference to the application so you can do without the on-line support. For beginners, I recommend Stephen P. Tubbs' MathCad for Electrical Engineers and Technologists. This last book takes you in slowly with calculating and graphing things like the current in a C-R circuit, for example. Both books are highly recommended! Note: the Maxfield book was published in 2009 so I don't know how many copies are still on offer.

Audio files for Wurcer mic preamp article V1, V3.

The mic preamp Scott Wurcer developed in his articles in Vol 1 (Part I) and Vol 3 (Part II) were used to record a live concert at Stuart Yaniger's residence in Austin, TX in Nov 2011. I have placed two files online, and you can download them to listen to: the song 'An Army of Kittens' (a 15Mb (!) .flac) and a section of the subsequent applause (.wav). These are uncompressed files recorded in 24 bit / 96kHz.

These are excellent examples of the incredible realistic recordings that can be made with relatively simple means, with enough attention to detail. Files are reproduced here with kind permission from the artist, Southpaw Jones.

Zen > Cen > Sen - Evolution of a Minimalistic IV Conversion Circuit

This is the online version of Patrick K (alias EUVL) article in Linear Audio Vol 2. This article has generated considerable interest at diyaudio and with the publication of Vol 3 I have decided to place this article online for free download. For further details and building experiences, see the diyaudio thread.

Everything about record replay characteristics, recording speeds and such.

This is not an article that has been published in Linear Audio, but I believe the data in the linked table is of importance to anyone seriously involved with record replay and reproduction, especially historical records.

The first reference is a comprehensive list of record manufacturers and speed formats and the pre-emphasis that has been used in producing the recording. It is clear that the ubiquitous RIAA pre-emphasis/ de-emphasis standard isn't really a standard, at least not in the early days of records.

The list has been compiled by Katsuyoshi Miguchi, the owner of SoundBox, an Antique Audio shop in Tokyo. It was originally published in Radio Technology magazine in Japan in October 2011. Reproduced here by kind permission of the Author and the Editor of RT magazine. I am indebted to Mr. Nakamura for arranging the permissions and for providing the English language translation.

If you have any additions and/or corrections to this table I would very much like to receive these, and I will update the list as needed. The last update will be noted at the end of the list.

The second reference is an article by Linear Audio author Gary Galo, who taught audio engineering at the Crane School of Music at SUNY, Potsdam. Gary wrote an article for the Association for Recorded Sound Collections (ASRC) on the Columbia replay equalisation curve.

The Association kindly agreed to place this article online. The powerpoint slides Gary uses for his presentations on the subject is also attached.

The F-Word - or, why there is no such thing as too much feedback

In Linear Audio Volume 1, Bruno Putzeys wrote  The F-word - or, why there is no such thing as too much feedback. He addresses many issues related to the use of feedback in audio, as well as several misconceptions. The section on 'slow' and 'fast' amplifiers will be an eyeopener for many. He also traces historical events that puts us in the situation we are now. A critical attitude towards negative feedback is certainly healthy, and Bruno gives us the information to base our opinion on.

The Arch Nemesis

The first issue of Linear Audio had an article by Nelson Pass inspired by a vintage Western Electric design, later revived by Jean Hiraga in the French journal L'Audiophile. It's a model of minimalistic design and I placed it on-line for you to read and/or build. Nelson Pass - The Arch Nemesis (Vol 0)