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

Reply via email to