<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for dhd</title>
    <link>http://www.advogato.org/person/dhd/</link>
    <description>Advogato blog for dhd</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 23 May 2013 06:06:10 GMT</pubDate>
    <item>
      <pubDate>Mon, 10 Dec 2001 14:47:36 GMT</pubDate>
      <title>10 Dec 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=103</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=103</guid>
      <description>Um, yeah, I'm still alive.  I'm just not so enthusiatic
about diary-writing anymore, particularly the on-line
variety.  There were some poignant observations I was all
set to make here but I'm not sure I care enough.
&lt;p&gt;
Now more than ever, there are more important things than
free software to speak out about.</description>
    </item>
    <item>
      <pubDate>Mon, 9 Jul 2001 13:05:20 GMT</pubDate>
      <title>9 Jul 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=102</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=102</guid>
      <description>Well, I've just gotten Flite's unit selection up to roughly
the same quality as Festival's, by filling in a few missing
pieces in the join cost estimation and fixing the Viterbi
decoder.  The scoring, and the actual choice of units, is a
bit different, but it sounds pretty good regardless.
&lt;p&gt;
It's a bit big though ... well, it's huge actually (so
"small, fast" is not entirely accurate when it comes to unit
selection voices :-) 
With 15,000 units and 150,000
frames of LPC plus residual data in a &lt;em&gt;small&lt;/em&gt; unit
selection
database, one would expect it to be.
 This means that the really fun part of my task is just
beginning.
</description>
    </item>
    <item>
      <pubDate>Wed, 4 Jul 2001 01:08:08 GMT</pubDate>
      <title>4 Jul 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=101</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=101</guid>
      <description>Hanging out with friends in Ottawa, YAPC, B.C., Calgary,
Ottawa, back home, sleep-deprived stupor, work, etc.
&lt;p&gt;
YAPC was pretty fun.  As usual I didn't get enough sleep. 
My &lt;a
href="http://www.cepstral.com/~dhd/yapc19101/"&gt;talk&lt;/a&gt;
didn't go nearly as well as I'd hoped.  I need to bite the
bullet and actually practice these things ahead of time.  I
did, however, control my slides with the power of my voice!
&lt;p&gt;
I am working on really fun stuff now, namely converting
cluster-based unit selection databases from Festival to work
with &lt;a href="http://www.cmuflite.org/" &gt;Flite&lt;/a&gt;.  I'm
still managing to avoid writing any Scheme code, and have
ended up using Perl to parse Scheme data and write out C. 
It works really well, so I don't care...
&lt;p&gt;
There's a lot of work to be done in shrinking and optimizing
databases which should keep my busy for a while.
&lt;p&gt;
As a consequence, I'm finally really getting acquainted with
the internals of the TTS engine.  It's amazing how much more
straightforward some things become when they're expressed as
well-written code.  Of course, I may not have been able to
understand the code as well without the prior explanations.
&lt;p&gt;
It's also deceptive because some of the algorithms are very
simple in implementation and "just work", but rely on a
frightening amount of signal-processing-fu or statistics-fu
to explain why exactly they just work.  Unfortunately
there's a tendency in some papers and books I've read to
throw down the big scary math *first* and then eventually
derive the practical implementation.</description>
    </item>
    <item>
      <pubDate>Mon, 21 May 2001 01:50:35 GMT</pubDate>
      <title>21 May 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=100</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=100</guid>
      <description>Well, I was hoping to ride at least 50 miles today, but I
had to get some work done in the morning and by the time I
had finished being lazy around the house, it was 4PM, so I
had to settle for a slightly extended version of my daily
15-mile loop (10th -&amp;gt; jail trail -&amp;gt; greenfield -&amp;gt; beechwood
-&amp;gt; fifth -&amp;gt; neville -&amp;gt; boundary -&amp;gt; jail trail -&amp;gt; 10th) ...
this time
taking a detour through Hazelwood and finding a more
formidable hill to climb on the way out.  The hills around
here never cease to amaze (and exhaust) me; guess I'll just
have to keep going up them until that's no longer true!
&lt;p&gt;
Having installed some voice-building machines and
discovering the inherent suck-factor of all existing
command-line audio recording tools, I just had to write yet
another one, which I managed to do on the spot in about 30
minutes.  Now if I could just get around to fixing
POE::Component::Audio to do multiple channels and other
trivial things, I'd feel better.
&lt;p&gt;
Stepping on the scale this morning I noted that, after
giving myself an extra week of reduced eating to make sure
that I was really actually under 150lbs, I was, well, really
actually )well) under 150lbs, down from 180lbs three months
ago and
probably more before that...  Hopefully being able to eat a
bit more often will improve my demeanor and mental
clarity...  Now I just have to get some pants that fit.</description>
    </item>
    <item>
      <pubDate>Fri, 18 May 2001 15:01:32 GMT</pubDate>
      <title>18 May 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=99</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=99</guid>
      <description>Fun with Sphinx acoustic training.  Boy, I wish I actually
understood the math behind all this stuff.  I guess that's
what graduate school is for (most likely that's where I'll
be in a couple years time).
&lt;p&gt;
For now, though, I'm going to enjoy some hacking on the
implementation of it - the process (though it is inherently
massively CPU-intensive) is taking a lot more time than it
should and there are a lot of code cleanups to be done.
&lt;p&gt;
Computers are not really a hobby for me anymore.  This is
unquestionably a good thing in terms of my mental health,
though I worry that I am not doing enough to maintain and
improve my technical skills.
&lt;p&gt;
It was only a few years ago that I was a young liberal-arts
student and self-taught hacker living off of student loans
and struggling for meaningful
employment, and I fear that, should things go wrong, my lack
of formal education and credentials will come back to haunt
me.  I guess I can always go back to school.
&lt;p&gt;
In reality, things are actually going very well indeed for
me; I work for a company with sensible management and
finances, doing interesting work with real applications and
customers.  It's just that I have learned to survive by
planning for the worst case scenario.
&lt;p&gt;
I'm worried about the
&lt;a
href="http://www.salon.com/tech/col/leon/2001/05/16/eazel_gone/index.html"&gt;perception
that free software doesn't pay&lt;/a&gt;, and about the
possibility that the demand for Linux/GNU/Perl/Apache
expertise in the job market may be evaporating.  I really
hope that this is not the case, if not for my sake, then for
the sake of people who might be in the same place I was a
few years back; bright kids learning and using free software
on their own time, who should have their efforts rewarded
rather than repeatedly running into the "no BSCS degree, no
job" barrier.
&lt;p&gt;
On the other hand, I am certainly glad that there will be no
more bogus companies burning cash like Dubya, Cheney, and
their oil buddies want us to burn oil, nor instant
millionares and lazy people expecting huge payoffs.  And
speaking as a Canadian ex-pat, I'd be happy to see the
outrageous salaries paid in the US be "corrected", so that
perhaps the rest of the world will get a chance to keep its
best and brightest.
&lt;p&gt;
Anyway, as I was saying, I've been splitting my spare time
between my old and
neglected interests of cooking, cycling, and homebrewing,
and if you'll excuse me, I've got some bread to bake.</description>
    </item>
    <item>
      <pubDate>Fri, 4 May 2001 14:26:52 GMT</pubDate>
      <title>4 May 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=98</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=98</guid>
      <description>I have volunteered myself for a million little projects with
unspecified goals and deadlines, and am consequently getting
very little actual work done on any of them.  I miss my old
project manager...
&lt;p&gt;
On the bright side I'm finally fiddling with the voice
building tools in greater depth, since we're actually, like,
building voices now.  I went into the studio to record some
unit selection prompts and I'm slowly working on a French
diphone voice (if I ever get the diphone list generation and
letter-to-sound stuff done...)</description>
    </item>
    <item>
      <pubDate>Tue, 24 Apr 2001 18:16:07 GMT</pubDate>
      <title>24 Apr 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=97</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=97</guid>
      <description>Arr.  Once again I am in computer telephony hell.  In the
hopes of achieving reliable echo cancellation and
full-duplex performance, we acquired a very expensive
Dialogic PCI telephony card and the package of (stupid,
proprietary, gross) Linux software support.  Well, it
appears that the software support ... doesn't.  And the
documentation ... doesn't.
&lt;p&gt;
And as far as I can tell, Dialogic doesn't actually want to
support people who try to use it.  Their customer support
e-mail directs you to a web forum or a pay-per-incident
service.  After paying $BIGNUM for this piece of crap board
and proprietary crap software, the least they could do is
write some bloody documentation for it that is good for more
than toilet paper and give at least some complimentary
e-mail support.  Fuck you, Dialogic.
&lt;p&gt;
Surveying the landscape of computer telephony fills me with
a deep feeling of helplessness and despair.  All the
software is broken, all the hardware is obscure as hell, it
all costs unbelievable amounts of money, and it never seems
to work correctly.  And when it looks like I find a board
that is actually useful for my applications, it turns out
that it only works on Windows NT.  (come on, people, you
could at least support Solaris or some kind of
semi-reasonable proprietary OS).
&lt;p&gt;
It looks like the Quicknet/IXJ stuff, as quirky as it may
be, is the best thing there is for Linux and open source
telephony at the moment.  I hereby take back all the bad
things I said about them :-)</description>
    </item>
    <item>
      <pubDate>Tue, 3 Apr 2001 13:38:57 GMT</pubDate>
      <title>3 Apr 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=96</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=96</guid>
      <description>BEWARE!</description>
    </item>
    <item>
      <pubDate>Sat, 31 Mar 2001 15:31:33 GMT</pubDate>
      <title>31 Mar 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=95</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=95</guid>
      <description>Oh yeah!  That's right!  We &lt;a
href="http://www.cepstral.com/website/pages/cep_developers.html"&gt;released
some speech stuff&lt;/a&gt; a few days ago.  Please beat on it,
etc.  I'm mostly working on higher-level things at the
moment (i.e. actual applications that use these modules) so
these should be stable for a while.
&lt;p&gt;
In other news, &lt;a
href="http://www.sourceforge.net/projects/cmusphinx/"&gt;Sphinx2
0.3&lt;/a&gt; was put out with little fanfare.
 So you don't actually need to use the CVS version to
compile Speech::Recognizer::SPX.  Which reminds me, I should
probably update the README.
&lt;p&gt;
I've already been asked if this stuff works on Windows, I
wonder when someone will ask if it will be rewritten in
Python...
&lt;p&gt;
I'm playing at rewriting the silence filtering library. 
Handling all the audio buffering and framing safely and
efficiently is
unfortunately trickier than it looks.  Pointer arithmetic
is HARD, let's go SHOPPING!</description>
    </item>
    <item>
      <pubDate>Thu, 29 Mar 2001 14:37:04 GMT</pubDate>
      <title>29 Mar 2001</title>
      <link>http://www.advogato.org/person/dhd/diary.html?start=94</link>
      <guid>http://www.advogato.org/person/dhd/diary.html?start=94</guid>
      <description>Playing with the iPaq.  Wrote some nice feature extraction
code for FPU-less machines.  Somewhat unsurprisingly, it's
three times slower on my P3 laptop.  (but 80 times faster on
the iPaq)
&lt;p&gt;
Discovered a nasty bug in the iPaq audio driver, leading to
a kernel oops.  Predictably, &lt;tt&gt;select(2)&lt;/tt&gt; was broken.
 Sent off patches.  No reply.  You'd think that a patch that
changes a grand total of 4 lines, and fixes an oops, would
get a bit of priority in people's mailboxes.  You'd think wrong.</description>
    </item>
  </channel>
</rss>
