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
http://www.freelists.org/list/programmingblind
- Follow-Ups:
- References:
- RE: common Jobs for VI Programmers: GUIs, DSP, DB, Asm
- From: Ken Perry
Other related posts:
- » Re: Symbian Vs NET, Learning Audio DSP (Was: common Jobs for VI Programmers)
- » RE: Symbian Vs NET, Learning Audio DSP (Was: common Jobs for VI Programmers)
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 whichformulas rather than to actually know how to do it.
- RE: common Jobs for VI Programmers: GUIs, DSP, DB, Asm
- From: Ken Perry