On 2013-05-23, Dave Malham wrote:

I looked into this a year ago and the RPi unfortunately is crippled for this because the processor used only supports two channels of audio - HDMI iirc actually only allows for multichannel though it mandates stereo.

BTW, this discussion brings to my mind an old low level hardware question of mine. Namely, how about making your own A/D/A? What's really the absolute minimum in hardware cost for a de novo design you can think of, for outputting and/or inputting each incremental channel count required by the successive ambisonic orders? Those (n+1)^2 channels, for each successive, realistic n? N=0 and n=1 are trivial, because whatever they use for 5.1 already carries it. But how about n=2..4? That's 9 to 16 channels. What's the cheapest means of getting at least CD quality on each of them, without undue burden in software development, and an undue penalty in things like (hardware, software?) synchronization capability? Presuming any and all circuit topologies are allowed? Has anybody thought of this kind of amateur approach of late, on the digital side of things, as they once did on the analog frontier?

By the back of my envelope, at least third order could be done reliably at CD quality at very low cost, even as a (separately powered) USB peripheral. It's 16*16*44.1e3 bps, yielding ~26mbps, so that it's roughly 1/4 of the total bandwidth of 100mpbs Ethernet. It isn't too much magic to fit that into the newer versions of USB either, and in particular a simple packing of the bits into an Ethernet frame buys you everything you need for it. Then, an external power source (one of the ultracheap Chinese ones for mobile phone charging?), maybe some synch logic around them individual multichannel (Crystal/Analog?) chips, and you're game. I think.

What's the minimum cost? I'd argue that it's in the vicinity of $10-20 at cost, and perhaps $50 after all is said and done. For sixteen phase coherent, CD-like, line-level, unbalanced, analog output channels which are then usable at will for not only ambisonic, but for whatever you want. Maybe $70-80 if you want a strictly synchronized A/D set as well. It wouldn't look pretty with all of those cords and connectors running off the thing, but it'd royally get the thing done. You could instrument your granny with something like that.

I might well be wrong since I'm no hardware guru. But still, has anybody else thought about revisiting the early (quad era or so) DIY-thinking, with a view towards the current digital age? Instead of picking the cheapest valves and/or transistors for an analog circuit design and vice versa, now picking the densest multichannel converter chips on the same kind of cost/benefit curve?

If they have, where do people twiddle those particular kinds of bits? I'd like to see it done and perhaps contribute. Maybe the new breed of SDR minded radio amateurs might be of help, since the ham circuit certainly retains the DIY mindset, even in an explicitly legally sanctioned form. Those folks know their DSP and their hardware by necessity. Who else?

If nobody minds low tech, multiband, nerd audio band I/O appliances, do we need a new forum for such work? Is anybody interested in such a thing now/yet?

The BeagleBoard (or rather the BeagleBone) is a better choice though slightly more expensive.

As you can imagine, I hate it when people talk about named products instead of talking about the technology underlying them. "Beagle" doesn't tell me anything, apart from the fact that I'm not getting it any time soon.

By this, I mean more or less three things: 1) I'm an exemplar of a person who cannot afford most of the high software or hardware which we talk about (and I very much like to talk about, and dream of having some day yet), so that I can maybe speak a bit for "the great unwashed", 2) eventhough I'm just a wannabe engineer, I still like to return the discussion to the most basic/basest of things, in order to cut away the bullshit/hype/extraneous complexity, and 3) I thus like to remind the list of the humble quad beginnings and seamless scalability promises of ambisonic, because that's where the adoption necessarily has to begin with; not with e.g. Ralph Glascal's better-than-best setup.

It has to start with the greatest common denominator, even if we scheme for world domination. Of late, I haven't seen too much analysis of the simplest things on-list. So I complain. :)

I have one and a multichannel audio board which I've been meaning to hook up since last year. The DAC is on an evaluation board for the ADAU1966 (which has 16 outputs).

Strike me dead, they now really integrate it all the way upto third order capability. So, how expensive is that in small numbers, and what sort of support circuitry (mostly buffer amps and power delivery) does it require in order for it to reliably drive an external analog chain*16? Can the same be done cheaper by dividing the channel count in half and synchronizing etc. in software?

I also have a sample of the AD1934 which I will need to make a pcb for.

Okay, I should have read the whole post before answering. You can kill me now.

The eventual end result (as a product) would be a board with an Arm, a dac and an SD card interface, nowt much more.

Personally, if you go with those very highest end chips, I'd argue for throwing in a full complement of A/D channels as well. Not just as a clean, separate input channel, but a rigorously synchronized with the D/A part one as well. Plus a bit of support circuitry. That's because of what Meridian has done with their DSP loudspeakers: they appear to do adaptive impedance mathing at least in the LF band, which calls for feedback from the analog side to the digital. Theoretically you should be able to implement even that by making your delta-sigma loop such that its digital input is calibrated precisely to its analog output value/voltage, pointwise, and then using the synched A/D channel to sense instantaneous current. In delta-sigma architectures there would always be a lot of loop delay there, but at least for LF impedance matching and nonlinear compensation stuff, that could be neglected because the feedback would then feed to a long term analysis stage, which would in case feed a merely feedforward, short term correction filter. For analysis purposes the precise loop delay from digital to analog and back would have to be known, and it would have to be strictly synchronous over the various channels, but beyond that the precise group delay of the loop wouldn't matter.

Given the ridiculously low cost of Arms (and similar processors) these days I'm very dubious about using arrays for anything but a mass market product with large sales (or something that needed to be thoroughly copy protected) - 10 years ago I would have said the opposite.

ARM ain't even the nastiest exemplar in this vein. Nowadays they're going with heavy parallelization in the GPU vein, even in embedded processor architectures: low clock, massive parallelism, no speculation or lookaside buffers since you can just block as a single thread amongst millions, in order to amortize memory latency, and so on. That stuff really started with IBM's conceptual model for Blue Gene, and on the other hand with GPU parallelism.

So yeah, nobody uses PLA's or even FPGA's for general computation anymore. If you desire a fully general execution model, you go with x86/64/the various vector extensions. If your code has features of local nondeterminism, Itanium/IA-64 or some other WLIV with predication does the job. If your app is of the SIMD kind, first you vectorize, but eventually you'll go the GPU/CUDA route. And if you just happen to have a problem which calls for general computation, and which you are able to express at *very* low parallel granularity, then you go with something like Tilera (a direct descendant of RISC in instruction set, and a direct descendant of Blue Gene in execution model). No model rules them all, anymore.

So what's the forte of PLAs and FPGAs, today? Is there such a thing? Well, yes. PLAs can implement arbirary boolean circuits in one cycle. Many such circuits can be precomputed/minimized to fit within a given PLA geometry, so, if you need to do heavy duty configurable bit twiddling, PLAs are your friend. E.g. cryptanalysts, error correction folks, circuit designers, combinatorial optimizers, whatnot, love that stuff.

FPGAs are for silicon learning folks, those into specializing (parallel or not) algorithms, since they incorporate memory they are the choice for deep pipelining and systolic operation (think: heavily pipelined cryptoengines before anybody dares take on the cost of a full blown ASIC), and really, they are are just very regular and easy to deal with as far as hardware goes. They were designed to be so. Today we even have compilers which turn straight C code into FPGA configuration packets. Or some other procedural language; it's just that easy because the FPGA architecture was designed *to* ease up that transition. Because it was aimed at being the optimum circuit-minded counterpart to the stateful process mode that is best represented in Turing's model of computation.

Give me a high end Virtex chip or something akin to that, I think I could -- even as a total amateur who's never touched the thing a single time -- put out a design which achieves 400µs total latency per the whole ambisonic signal vector, at at least full fourth order, using stock FPGA chips and their standard compilers. FPGAs are to low level gate logic (including PLAs) as Pascal is to assembler. Or perhaps rather APL to C; much higher level by design, qualitatively different as far as you space usage goes, and explicitly parallel and modular at the same time.

Finally, I hear the price of genuine ASICs has gone down exponentially as well, in the recent years.. So that they're not too pricy anymore at all. If this list wanted to see e.g. that third order ambisonics appliance happen...

I believe,
  1) there would now be a number of free and open source tools
     available to edit the specification in something like
    1a) a subset of C99, or if not,
    1b) straight VHDL/Verilog,
  2) software to turn that into a hardware design,
    2a) using standard library components,
    2b) from a free library,
  3) then optimize, place and route the thing on silicon,
    3a) again using free tools,
    3b) even if that would call for some glue logic on the fly as of now,
    3c) using free SPICE tools we could get rid of transients and the
        like, especilly if we crowdsourced the simulation effort
        on-list,
    3d) and there are even free solvers of electromagnetic free fields
        out there which could help us deduce the optimum surroundings
        and shielding for whatever we're trying to accomplish.

My point is, if we really wanted to, we could assume, as a technologically sophisticated crowd, the major initial cost of designing a full ASIC. Fuck all else, so to speak, why not go all the way to the be all and end all of circuit design? Because the price of the initial mask set has been coming down exponentially too; it really doesn't cost too much anymore. At current prices it's still too expensive for an individual project, but once the basic design and testing has been done plausibly enough and all of the design data has been placed in the open domain, it's almost certain some hardware manufacturer would try it out. Especially if the design was kept to the minimum of etching cycles and metallization layers and angles of incidence during etching; what makes it particularly easy for us is that we'd *want* a rather low definition process (in the micrometers perhaps even), simply because we're dealing with mixed mode audio circuits, and too small of a feature size would kill our noise floor in any case.

Seriously, if even this kind of a list really wanted to make something happen, we could easily forget about PLAs, FPGAs, Arms, Intels and everything else. The price of a pure pedal-to-the-metal ASIC is so low, and it's allure so great to major hardware manufacturers (if done right), that we could actually jump to that final semiconductor technology right now. Seriously. :)
--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
_______________________________________________
Sursound mailing list
Sursound@music.vt.edu
https://mail.music.vt.edu/mailman/listinfo/sursound

Reply via email to