Log in

No account? Create an account

July 24th, 2007

Multimedia & Multitasking

Well its the fourth day of working in my own little world-o-geek.  I've grown a beard and everything!  There's simply no time to go anywhere because I'm doing too many geeky things.  At least this episode of seclusion has been rather productive -- or goal driven -- and somewhat healthy -- mentally speaking.  The vertigo seems to have passed ...

Goal 1: build digital/audio studio

An old sound card was laying around the house and it had exactly the thing I needed to connect a computer to my piano: a MIDI port.  So I beat my old K6-2 into upgrade hell until its motherboard/IDE controller collasped.  *sigh*  After two days of beatings I switched to an even older Pentium2 -- a real bugger because I could have got 3DNow extensions out of the former.  Now all I get is MMX from the later.  :(  Anyways, the Gentoo install is going well. 

It was just icing on the cake when I found out that the ALSA project's drivers enable a second DSP on the card, and there may be a way to enable genuine 4.1 surround sound!  :)  Damn that'd be sweeeet!  What sucks is how, despite its age, the card had onboard, loadable wavetables but the jerks used a proprietary format so I probably will have to use a virtual synthesizer.  *shrug*  That got me playing around with fluidsynth/qsynth and rosegarden last week ... it's all good; the wavetables I'm using there are like 100 times larger than anything it could load onbard. ;)

All this brings us to multimedia.  It's simple: open = good, like free = good.  :)  MP3 has licensing issues.  license = closed (essentially), and sure we may not pay for mp3's -- ahem! -- but it's like having to pay the landlord (or bank, etc.) to make a key for your house instead of paying just the locksmith ... who happens to be a friend and she unlocks for free.  :)  Not exactly the best analogy but it works.  Anyways, FLAC is where it's at -- Free Lossless Audio Codec.  I've never seen a simpler (or honest) acronym, and it replaces Microcrap's WAV at around half the data, aka. size.  AAC replaces MP3 directly and I've seen it around, like on iTunes and Shoutcast and di.fm.  Basically it captures and drives more frequency ranges.  Vorbis does a decent job too; I've listened to it on theclassicalstation.org as OGG.  With modern processor extensions, like those I mentioned above, there's little reason to stay with codecs that retain constant bitrates like .wav.  They just record and play dead weight.  *ugh*  And there's that licensing crap ...

Goal 2 - print pretty notation & books(?)

Three printers sitting at the house and none are used -- unacceptable (for a geek).  So I fired up my oldest server; an IBM 330 running RedHat 6, aka. a 2.2 kernel!*, still serving up my files after EIGHT years, and blew it away to start from stratch.  Literally: Linux From Scratch.  It's an interesting project ...; a learning (and recall) experience for me, but it requires patience.  Fives days at it and still no pretty printing. :(

* A History of the Linux Kernel: 2.2 (with Justin's commentary)

At the same time a group of developers begin work on the graphic environment GNOME (yea it wasn't always around; damned RedHat), ... During the year IBM announces an extensive project for the support of Linux (half of the LUG in the Research Triangle worked for IBM -- them and their "ThinkPads"! -- LOL.  And within 2 years RedHat itself had moved to NCState's campus.  Those were some geeks ... I remember their Kickstart programmer obsessing over Python.  :)  Anyways, enough nastolgia


Don't ya 'luv it when something finally clicks?  Pragmatism always helps.  theory + example = it works.

I think the only people who will appreciate this are the math nerds and computer geeks, but gosh ... it fed an all nighter.  But for the curious -- including my stream of thinking -- here goes.

  • Accessibility: the blind, reading.  Voice synthesis: audiobooks, LibriVox, Project Gutenberg.  Example: festival. 
  • Computers: sin() other math computation, electronics: analog-to-digital processing & vice versa.
  • Physics: compression wave (sound) <-> sine wave (digital modulation)
  • Techniques in electronics (aka. physics<->computers): PCM; DSP, guesses: intensity of digital signal = amplitude of sound wave, frequency of digital signal = sampling rate &&// frequency of sound wave
  • Techniques in computation: aka. old way: essential discrete approximation; new way: digital-to-analog fidelity via interpolation, extrapolation
  • Technique: old way: diphone synthesis (samples of phonetics) - problem: jitter/gaps; new way: HTH interpolative synthesis - see statistics: Markov; predictive sampling (filling in the gaps)
  • also wavetable/soundfont: extrapolative? (synthesis expands sample range)
  • Computers: problems: bandwidth (data), frequency (sampling) -- prerequisites for realtime synthesis
  • Computers: solutions: math (co)processors/extensions: Examples: x87, MMX, SSE -- operate on more data per cycle
  • Computers: implementation = compiler "predictive" optimizations (GCC -mmmx, -msse); explicit optimizations/extensions (to be called at compile time(?) = GCC -fpmath=sse, -ffast-math(?)
  • Regardless: "digitized" wave functions normalized to discrete values [1,-1], yet floating type b/c between min & max, function of variables (time, location = intensity/amplitude)
  • Need more physics of voice waves (what is frequency range, intensity, etc.)
  • Application to accessibility program such as festival: AFAK, not using optimizations available for realtime synthesis -- comparison: "realtime" 3D games use these already. 
  • Well known stall/stagnation in computer audio/sound (supposedly from the hearing enabled not "hearing" a difference in (unrelated) prerecorded sound playback.
  • 3 known centers of research: Univ. of Edenbourgh = festival, Carnegie Mellon U. = samples for Markov computations, some uni in Japan (don't have that locale installed; and can't read its website)

So YEA!  That's a stream of thoughts.  Weird finding: these processor extensions are what Cray used to do back in the day, and I adored Cray's supercomputers as a child.  :)