Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

PCM tone generator

Name: Anonymous 2011-10-30 12:52

Hey /prog/

I'm trying to teach myself how to generate PCM audio in C, and I can't figure out why this isn't generating a clear sine wave signal when I pipe it to aplay.  Any ideas?


#include <math.h>

#define MIDDLE_C 261.626
#define HZ 8000.0
#define ONE_CYCLE 2.0
#define PI 3.14159265

int main() {

    float frames = HZ / MIDDLE_C;
    float i;
    float n;
    unsigned int x;
    int s, v;

    for(v=0; v<MIDDLE_C; v++) {
        for(i=0; i<frames; i++) {
            n = (1 + sin((i / frames) * (PI * 2))) / 2;
            x = (int)round(0xFF * n);
            putchar(x);
        }
    }

    return 0;

}

Name: Anonymous 2011-10-30 18:14

>>17
Your inner loop does one period. Your inner loop goes in integer steps. Ergo your period will always be an integer number of samples. You truncate the last part of your wave to fit.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List