Improving Squeak's Multimedia - Part 2 Followup

Dean_Swan at Mitel.COM Dean_Swan at Mitel.COM
Fri Feb 25 19:31:51 UTC 2005


Brad,

I agree with you regarding cleaning up the current audio classes (i.e. 
SoundPlayer>>sampleRate dependencies, etc.).  Regarding Russell's ideas 
about a framework, examples would be Quicktime (Win/Mac), 
DirectSound(Win), PortAudio(Win/Linux), Jack(Linux), CoreAudio(Mac OS-X). 
I do think that we need to look at AbstractSound as Squeak's current audio 
framework.  If we want insight into the original thinking behind 
AbstractSound, I'm sure John Maloney could help us out since he is the 
originator of much if not all of AbstractSound.  I would be willing to act 
as a point of contact for this to keep John from being inundated with 
queries.

I think Russell captured what my role can be here well: "low level stuff". 
 For example, Russell's desire for an equalizer - I could easily provide 
some basic filters suitable for constructing a multiband parametric or 
graphic equalizer (sidenote - a "graphic" equalizer is probably more 
efficiently implemented using FFTs), and things of this sort.  I could 
also probably do a simple overlap-add FFT framework, which is a useful 
foundation for many audio processing algorithms.  I have implemented this 
kind of thing in C and assembly on many DSPs, so it wouldn't be hard to do 
the same in Smalltalk.

I will try to spend some time going over what is already in Squeak for 
audio and come up with some outline of what I think needs work.  Off the 
top of my head, I think there is a need for more consistency in how audio 
is handled in Squeak, and better support for multiple simultaneous audio 
streams (either recording or playback).  In this respect, I think OS-X 
CoreAudio and DirectSound can prodvide some ideas.

Yes I can do some coding, but I'm also willing to provide designs for 
people who have time to code but no low level DSP algorithm expertise.  We 
may be able to accomplish more sooner that way.  I don't have a lot of 
spare time to devote to this, so it might take longer for me to give any 
visible results if my deliverables are only working code.  As an example, 
I think I've offered some inspiration to John Maloney for some things that 
are already in Squeak.  I think we discussed the concept of the phoneme 
recognizer about 4 years ago in the context of a way to synchronize lip 
movements for the animated faces.  John is the kind of guy who can take 
rough ideas like that and turn them into working code quickly.  If we have 
somebody like that on your team,  I think I can help with things like 
algorithm details.

Regarding prioritizing my interests - nope.  I view that as your job in 
the role of team/project leader.  You've already expressed that your 
primary agenda item is audio, and that's good enough for me.  I think we 
need to cover the basics of audio capture, playback, and file I/O, and I 
agree that these items probably largely amount to understanding what we 
have and cleaning it up a bit.  From my POV, adding "cool low level stuff" 
would come next.

                -Dean
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20050225/9e406a00/attachment.htm


More information about the Squeak-dev mailing list