Hi! I wanted to wait a couple of days to see if I'd get any more responses, but I haven't heard from anyone else, including Paul. Anyway, my interests lie primarily in processing audio for musical applications. Judging from comments in the source code and documentation of the Audio pkg, Paul's interest seems to be processing speech data. They have a lot in common, of course, but I'm wondering if I should try to extend the Audio pkg, or start from scratch, building on the built-in audio functions documented in the Octave reference manual. The Audio pkg doesn't really add a lot of functionality to the built-in functions, and in fact there seems to be some redunancy, but maybe there's a reason for that (efficiency, ease-of-use, flexibility, etc.). That's why I was hoping to hear from Paul, but if nobody is actively supporting it any more, maybe I should just contribute my own package.
I'm not sure how the process works as far as contributions are concerned, either. Who evaluates the contributions, tests them, etc.? Or is there any review process at all? Since I'm fairly new to Octave, I'd welcome any suggestions on how to improve my code. Here is a list of some of the functions and global variables that would be in the package: ## Global variables: ## REFFREQ - frequency in Hz of reference note ## (A4 = 440 in Western equal-tempered scale) ## REFNOTE - note representation corresponding to REFFREQ ## REFMIDI - MIDI number assigned to reference note ## DEGREE - number of notes in scale ## SCALE - list of symbols to represent notes of scale ## TEMPO - tempo in Beats Per Minute (BPM) (= quarter note) ## NOTETYPES - available note/rest durations ## SAMPLERATE - default sample rate in samples per second ## BITDEPTH - default sample depth in bits ## WAVETYPES - available wave types ## MODTYPES - available modulation methods (AM, FM, etc.) function retval = freq2pitch (freq) # convert frequency to pitch notation function retval = pitch2freq (pitch) # convert pitch notation to frequency function retval = midi2pitch (midi) # convert Midi note value to pitch notation function retval = pitch2midi (pitch) # convert pitch notation to Midi note value function retval = midi2freq (midi) # convert Midi note value to frequency function retval = freq2midi (freq) # convert frequency to Midi note value function retval = radians (deg) # convert degrees to radians function retval = degrees (rad) # convert radians to degrees function retval = normalize (v, ceil) # normalize amplitude within 0 +/- ceil function retval = reverse (v) # reverse audio sample function retval = invert (v) # invert audio sample function retval = repeat (v, n) # repeat audio sample n times function retval = silence (n) # generate silence n samples in length function retval = sine (n, amp, phase) # generate 1 cycle of sine wave function retval = square (len, amp, phase) # generate 1 cycle of square wave function retval = triangle (len, amp, phase) # generate 1 cycle of triangle wave function retval = sawtooth (len, amp, phase) # generate 1 cyle of sawtooth wave function retval = noise (n) # generate random noise n samples in length function retval = generate (type, freq, dur, amp, phase, opt) ## type - wave type ## freq - frequency in Hertz ## dur - duration in seconds ## amp - amplitude ## phase - phase offset in degrees ## opt - optional parameters, depending on wave type ## returns sound data in single-row matrix function retval = envelope (y, env) ## y - sound data in single-row matrix ## env - envelope ## returns sound data in single-row matrix function retval = note (instr, pitch, dur, amp) ## instr - function handle to an instrument ## pitch - pitch in {note, octave} format ## dur - duration (specified as valid NOTETYPES) ## amp - amplitude ## returns sound data in single-row matrix function retval = rest (dur) ## dur - duration (specified as valid NOTETYPES) ## returns sound data in single-row matrix function retval = modulate (s1, s2) ## returns sound data in single-row matrix function retval = concatenate (varargin) # varargin - one or more variables containing sound data function retval = merge (varargin) # varargin - one or more variables containing sound data If you or anyone else has any suggestions or comments, please let me know. Thanks, David. On Fri, Jan 2, 2009 at 11:39 AM, David Bateman <dbate...@dbateman.org>wrote: > David wrote: > >> Hi! >> I'm a new user of Octave, primarily interested in using it to process >> audio data. I'm wondering if anyone is currently doing any development on >> the "Audio" package. I saw from the web site that Paul Kienzle is the >> package maintainer, so I assume he's on this mailing list, but there was no >> email address listed for him on the web site. >> If anyone knows how to contact him, please let me know so I can discuss >> my ideas for extending the Audio package with him. I don't want to duplicate >> someone else's efforts, but if nobody is currently working on enhancements, >> then maybe I can contribute some of the functions I've developed myself. >> Thanks, >> David. >> >> > Although Paul was a major developer of octave-forge in the past, in recent > years he has reduced his effort significantly.. He is still subscribed to > this list and so might respond.. > > In any case why not discuss your ideas directly here.. I don't believe > anyone is working on the audio package at the moment.. > > D. > > > -- > David Bateman dbate...@dbateman.org > 35 rue Gambetta +33 1 46 04 02 18 (Home) > 92100 Boulogne-Billancourt FRANCE +33 6 72 01 06 33 (Mob) > >
------------------------------------------------------------------------------
_______________________________________________ Octave-dev mailing list Octave-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/octave-dev