interpreting a raw waveform

i need to write a program that will take a raw waveform in both text form(x and y co-ord) and visual format, and play as sound.
I'm also looking for an algorithm to produce the karaoke effect(cancelling out vocals) on a wav file.
Can anyone help?
Thanks.

Comments

  • : i need to write a program that will take a raw waveform in both text
    : form(x and y co-ord) and visual format, and play as sound.
    x and y co-ord? Well, one of these will be time. But do you know if they will be evenly spaced? If not you're going to have to:-

    1) Read them in, and sort by the co-ordinate representing time (probably x).
    2) Choose an output sampling rate, allocate an output buffer of suitable length, then take the first and second value, and use interpolation to generate the values between the two points.
    3) Output your data to the soundcard. OS dependent, post with OS for suggestions.

    Not sure what you mean by visual format - you mean taking an image?

    If you need a kinda testbed for your input stuff, without worrying about sound output and other things until later, and you're working in C, you could always consider writing your input code as an AMaMP (http://amamp.sourceforge.net/) core I/O module. Then again, you may be able to get simpler code if you work on your program from scratch.

    With a powerful enough PC, you should be able to achieve this stuff in realtime.

    : I'm also looking for an algorithm to produce the karaoke effect
    : (cancelling out vocals) on a wav file.
    Simplest way is to take the left channel, invert it and add it to the right channel. This cancels out anything panned to the center, which vocals usually are.

    Hope this helps,

    Jonathan

    ###
    for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion