Re: Symbian Vs NET, Learning Audio DSP (Was: common Jobs for VI Programmers)

  • From: Veli-Pekka Tätilä <vtatila@xxxxxxxxxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Sat, 29 Sep 2007 13:23:18 +0300

Hi Ken,
As far as mobile goes I'd be far more willing to develop for devices running SymbianOS as opposed to the MIcrosoft camp. I'm not against MIcrosoft but here in FInland most people, me included, have a non-Windows mobile phone and anything that runs Symbian can run those apps. I already have a screen reader for the phone, too, which is Talks, since it was out there before SmartHAL.

Another point is that Symbian has been designed from the ground up to be extremely memory conscious allowing you to manage memory with certainty in C+ and it is efficient as well, since the native language is C++. The OS itself is an elegant microkernel, server based design, compared to Windows, fully object oriented from the ground up and these ddays it is actually a hard realtime OS, even,since the phone runs with the same CPU. OK I'm hyping, practically the quality of the NET tools, libs and level of convenience is much higher, but my point is that Symbian is a mobile OS from the ground up, while WIndows CE is just WIndows in a mobile environment. There's a big architectural difference, or at least used to be. Symbian feels more like embedded programming as well, though I realize this alone is a silly argument, <grin>.

About DSP, if I'm interested in just knowing what's out there, designing nice sounding analog filters and oscs rather than getting a broad and comprehensive education in math, is there a minimum subset of math for me to really get started in audio DSP work like designing basic subtractive synths? I'd probably be able to learn at least some of this stuff on-line but would need exercises as well, and a firm grip on real applications to keep me motivated. Wikipedia is pretty bad in terms of math, in that, many things there are introduced very compactly and abstractly. Plus their alt tags for the formulae aren't awfuly nice to read with speech or Braille.

Most naive oscillators you do with lookup tables or by computing stuff on the fly suffer from aliasing, for instance, and I still don't understand say how resonant low-pass filters work, though know quite well how to use them in real synths and how steepness is specified.

You're right some things can easily be delegated to libs, even in the music-dSP list in which I lurked for a while, people said you can use FFT all right without actually understanding how it works. I understand the basic idea at some level and even know the formulae for building the basic waveforms, mostly due to Sound on Sound's synth secrets and the Reaktor manual. Come to think of it, knowing how to use something is what coders use every they, if I use a B-tree it is enough for me to know how it looks like to the coder and what its efficiency is,I don't need to know how it is implemented.

The highest math I know is hmm:
logarithms, basic derivatives, addition of vectors and other very basic stuff like that. I took short courses in math in highschool, which went well, so I never got into complex numbers, vectors apart from addition or anything higher than that. I feel like there's a big leap in the way of thinking in any higher math, once it becomes applying some axioms or reading abstract definitions that would make sense to me much faster informally expressed. The thing I love in coding is that it is logical, intuitive reasoning using common sense, and rather straight forward to reason about with a high degree of practicality. To me it is very different count of reasoning than pure math is, and I think I'm much better in coding than I would be in math. So I'm still not sure if I'm up to the DSP work, although it is the kind of coding I think I would ultimately like to do, if I could.

--
With kind regards Veli-Pekka Tätilä (vtatila@xxxxxxxxxxxxxxxxxxxx)
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila/

Ken Perry wrote:
You can definitely do embedded programming on your own.  You just
need to buy your self a mobile device I suggest something with
windows mobile 2003 or 5 or 6.  I know most people are using .net but
I have recently found out that its much easier to deal with these
devices with Win32 because while .Net  is awesome on the desktop it
is missing so much on the small platforms it is not worth it.  Even
with windows mobile 6 it is easier to do things at the Win32 level
rather than the .net cf.   Anyway you don't even need to fork over
the cash for mobile speak or Hal because you can create your own
simple screen reader or talking application and work out from there.
Now if you do spend the money on Mobile speak or Hal all the better
then you have a starter device to play with that is fully accessible.


As to math.  I agree and disagree with the fact that you need good
math skills.  I guess that would depend on what you call good math
skills.  I studied up to calculus but as some of my other friends
have recently found out Math fades with time I took my calculus
classes in 98 and I have trouble with first derivatives while I
understand what all the integrals are used for and how to derive many
of the formulas using math I don't remember how to do them all.
Further more all though I had forgotten how to do Fourier transforms
I still helped write a program to take readings from multiple
environment sensors and used a library that did Fourier transform on
the data to get a smooth view of the data.  So even though I had
forgotten how to do the math I still knew what the math could be used
for and how to use the function.  The libraries for most of the math
you will use are already written.  The new math still being developed
is something for researchers not serious coders.  So I personally
think its more important to know what is possible to do with which
formulas rather than to actually know how to do it.

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: