From abez@csc.uvic.ca Sun Sep 22 12:47:22 2002 Date: Sun, 4 Aug 2002 13:28:41 -0700 (PDT) From: abez To: dmgerman@csr.uvic.ca, gshoja@cs.uvic.ca, zastre@csc.uvic.ca Subject: CSC499 Proposition Intro: I am seeking a supervisor who either has a project which is suitable for CSC499 and needs someone to work on it for or is willing supervise a project I have come up with. Attached is a project idea which I have already thought about. Sincerly, Abram Hindle 1. Purpose I am seeking a supervisor to supervise my CSC 499 project for the fall semester of 2002. 2. About Me Abram Hindle, 0020755, GPA 8.1, Computer Science Honours. I am personally interested in developing audio oriented applications as a hobby. I produce software to help with creating noise music. I am also interested in networked applications and software engineering. 3. Project Idea: "Abram's Unix Sound System" The purpose of AUSS is to provide a general interface and utilities to enable the use of pipes and sockets to facilitate the movement of audio between processes and programs. The general audio format is intended to be raw 16 bit integers or raw 32 bit floating point. The intended platform is UNIX. The use of sockets is meant to enable the networking of the audio. By using common interfaces of pipes and sockets, playing and recording of audio, developers are freed from worrying about issues such as sound support and recording to file. Blocking of pipes and sockets provides easy timing. Pipes and sockets also enable buffering or lack of buffering (which ever you want). Example utilities would be: multiplexers - take a pipe from STDIN or a named pipe and multiplex the audio stream over multiple servers. demultiplexer - a server which reads audio data from sockets, mixes and outputs the audio to STDOUT. pipe multiplexer - split STDIN to STDOUT/STDERR. player - reads STDIN and outputs to sound card. Configurator - due to the need to script and concurrently run various applications a helper program would be helpful. Probably would be part of the service manager. Service Manager - using sockets de-couple a lot of the processes and configure them in realtime with possibly a graphical interface. Named pipes and sockets enable the programs to communicate to the service manager. The service manager would provide name lookup. Also the service manager would help manage multiple computers as you could name ports and computers together. 4. What I Don't Plan to Cover Audio Compression - could use lame (mp3) or oggenc (ogg vorbis) in realtime with pipes OR a streamer like icecast. 5. Summary In essence I am looking for a supervisor with or without a project for CSC 499 so I complete my Computer Science Honours ungraduate degree. -- ABeZ------------ ------- ------ - ---------- -- ------------ http://www.indexdirect.com/abez/ Abram Hindle (abez@abez.ca) ---- ------- ----------- ----------- - - ------ --------ABeZ