Example #1
0
void
Synth_Init(void)
{

	vol = env = 1;
	sound = MORPH_SAW;
	autoFilterON = false;
	autoSound = 0;
	chorusON = false;
	delayON = false;
	phaserON = false;

	Delay_init();
	drifter_init();
	//pitchGen_init();
	sequencer_init();
	ADSR_init(&adsr);
	Chorus_init();
	PhaserInit();
	SVF_init();
	filterFreq = 0.25f;
	filterFreq2 = 0.25f;
	osc_init(&op1, 0.8f, 587.f);
	osc_init(&op2, 0.8f, 587.f);
	osc_init(&op3, 0.8f, 587.f);
	osc_init(&op4, 0.8f, 587.f);
	osc_init(&vibr_lfo, 0, VIBRATO_FREQ);
	osc_init(&filt_lfo, 0, 0);
	osc_init(&filt2_lfo, 0, 0);
	osc_init(&amp_lfo, 0, 0);
	AdditiveGen_newWaveform();
	VCO_blepsaw_Init(&mbSawOsc);
	VCO_bleprect_Init(&mbRectOsc);
	VCO_bleptri_Init(&mbTriOsc);
}
Example #2
0
int main (int argc, char *argv [])
{
    void *context = zmq_ctx_new ();
    void *subscriber = zmq_socket (context, ZMQ_SUB);
    void *buffer = (void *) malloc(MAXSZ);
    lo_message msg;
    int rc = zmq_connect (subscriber, "tcp://localhost:5556");
    assert (rc == 0);

    //  Subscribe to all
    rc = zmq_setsockopt(subscriber, ZMQ_SUBSCRIBE,
			NULL, 0);
    assert (rc == 0);

    osc_init();
    while(1) {
      int size = zmq_recv(subscriber, buffer, MAXSZ, 0);
      msg = (lo_message) buffer;
      if (size > 0) {
	printf("received a message that's %d big\n", size);
	lo_server_dispatch_data(s, buffer, size);
      }
      else {
	printf("oops.\n");
      }
    }
    zmq_close (subscriber);
    zmq_ctx_destroy (context);
    return 0;
}
Example #3
0
static int lllib_init(void)
{
        if (liblustre_init_current("liblustre") ||
            init_lib_portals() ||
            init_obdclass() ||
            ptlrpc_init() ||
            mgc_init() ||
            lmv_init() ||
            mdc_init() ||
            lov_init() ||
            osc_init() ||
            slp_global_init())
                return -1;

        return _sysio_fssw_register("lustre", &llu_fssw_ops);
}
Example #4
0
void
	synth_init
(synth_t	*synth,
 int		 samplerate
 )
{
	synth->samplerate = samplerate;

	for (int i = 0; i < NUM_VOICES; i++)
	{
		voice_init
			(&synth->a_voices[i],
			 samplerate);
	}

	osc_init(&synth->lfo, samplerate);

	synth->lfo_to_volume = 0.0;
	synth->lfo_to_filter = 0.0;
}
Example #5
0
static HmSynth *init(const HmSynthType *type)
{
	SineSynth *synth = malloc(sizeof(SineSynth));
	if (!synth)
		return NULL;

	synth->base = (HmSynth){
		.type = type,
		.free = free_synth,
		.setSampleRate = set_sample_rate,
		.getParams = get_params,
		.getParam = get_param,
		.setControl = set_control,
		.startNote = start_note,
		.stopNote = stop_note,
		.generate = generate
	};

	synth->note = 0;

	osc_init(&synth->osc);
	env_init(&synth->env);
	env_init(&synth->fenv);
	lp2_init(&synth->filter);

	synth->env.a = 48 * 10;
	synth->env.d = 48 * 5000;
	synth->env.s = 0.0;
	synth->env.r = 48 * 100;

	synth->fenv.a = 48 * 100;
	synth->fenv.d = 48 * 0;
	synth->fenv.s = 0.0;
	synth->fenv.r = 48 * 100;

	return &synth->base;
}
Example #6
0
int main(int argc, char *argv[]) {

    if (argc != 2) {
        printf("Syntax: mm [config.txt]\n");
        return 1;
    }

    areas = (Area *)malloc(sizeof(Area) * 100);
    num_areas = 0;

    if (!read_config(argv[1])) {
        return 1;
    }

    osc_init();

    jpeg_buffer = (unsigned char *)malloc(5*1024*1024);
    while(true) {
        stream(stream_url);
        printf("Waiting a bit before reconnecting...\n");
        sleep(3);
    }
    free(jpeg_buffer);
}
Example #7
0
void module_init(void) {
  int i, j;

  // init module/param descriptor
  // intialize local data at start of SDRAM
  data = (wavesData * )SDRAM_ADDRESS;
  // initialize moduleData superclass for core routines
  gModuleData = &(data->super);
  strcpy(gModuleData->name, "aleph-waves");
  gModuleData->paramData = data->mParamData;
  gModuleData->numParams = eParamNumParams;

  for(i=0; i<WAVES_NVOICES; i++) {
    fract32 tmp = FRACT32_MAX >> 2;
    osc_init( &(voice[i].osc), &wavtab, SAMPLERATE );
    filter_svf_init( &(voice[i].svf) );
    voice[i].amp = tmp;

    slew_init((voice[i].ampSlew), 0, 0, 0 );
    slew_init((voice[i].cutSlew), 0, 0, 0 );
    slew_init((voice[i].rqSlew), 0, 0, 0 );

    slew_init((voice[i].wetSlew), 0, 0, 0 );
    slew_init((voice[i].drySlew), 0, 0, 0 );

    voice[i].pmDelWrIdx = 0;
    voice[i].pmDelRdIdx = 0;

    //    voice[i].pmDelBuf = data->pmDelBuf[i];
  }

  for(i=0; i<4; i++) {
    for(j=0; j<4; j++) {
      patch_adc_dac[i][j] = &trash;
    }
  }

  for(i=0; i<2; i++) {
    for(j=0; j<4; j++) {
      patch_osc_dac[i][j] = &trash;
    }
  }

  // cv
  /* slew_init(cvSlew[0] , 0, 0, 0 ); */
  /* slew_init(cvSlew[1] , 0, 0, 0 ); */
  /* slew_init(cvSlew[2] , 0, 0, 0 ); */
  /* slew_init(cvSlew[3] , 0, 0, 0 ); */

  // cv
  filter_1p_lo_init( &(cvSlew[0]), 0xf );
  filter_1p_lo_init( &(cvSlew[1]), 0xf );
  filter_1p_lo_init( &(cvSlew[2]), 0xf );
  filter_1p_lo_init( &(cvSlew[3]), 0xf );



  // set parameters to defaults
  /// slew first
  param_setup(  eParamHz1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp1Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp0Slew, PARAM_SLEW_DEFAULT );
 
  param_setup(  eParamCut0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamCut1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq1Slew, PARAM_SLEW_DEFAULT );

  param_setup(  eParamWet0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWet1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamDry0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamDry1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz1, 	220 << 16 );
  param_setup(  eParamHz0, 	330 << 16 );
  param_setup(  eParamTune1, 	FIX16_ONE );
  param_setup(  eParamTune0, 	FIX16_ONE );
  param_setup(  eParamWave1, 	0 );
  param_setup(  eParamWave0, 	0 );
  param_setup(  eParamAmp1, 	PARAM_AMP_6 );
  param_setup(  eParamAmp0, 	PARAM_AMP_6 );
  param_setup(  eParamPm10, 	0 );
  param_setup(  eParamPm01, 	0 );
  param_setup(  eParamWm10, 	0 );
  param_setup(  eParamWm01, 	0 );
  /* param_setup(  eParamBl1,  	0 ); */
  /* param_setup(  eParamBl0,  	0 ); */

  param_setup(  eParam_cut1,	PARAM_CUT_DEFAULT);
  param_setup(  eParam_rq1,	PARAM_RQ_DEFAULT);
  param_setup(  eParam_mode1,	0);

  param_setup(  eParam_fwet1,	PARAM_AMP_6 );
  param_setup(  eParam_fdry1,	PARAM_AMP_6 );

  param_setup(  eParam_cut0, 	PARAM_CUT_DEFAULT );
  param_setup(  eParam_rq0, 	PARAM_RQ_DEFAULT );
  param_setup(  eParam_mode0,	0);

  param_setup(  eParam_fwet0,	PARAM_AMP_6 );
  param_setup(  eParam_fdry0,	PARAM_AMP_6 );


  param_setup(  eParam_adc0_dac0, 	1 );
  param_setup(  eParam_adc1_dac1,  	1 );
  param_setup(  eParam_adc2_dac2, 	1 );
  param_setup(  eParam_adc3_dac3, 	1 );

  param_setup(  eParam_osc0_dac0, 	1 );
  param_setup(  eParam_osc0_dac1,  	1 );
  param_setup(  eParam_osc0_dac2, 	1 );
  param_setup(  eParam_osc0_dac3, 	1 );
  param_setup(  eParam_osc1_dac0, 	1 );
  param_setup(  eParam_osc1_dac1,  	1 );
  param_setup(  eParam_osc1_dac2, 	1 );
  param_setup(  eParam_osc1_dac3, 	1 );

  param_setup(  eParam_cvVal0, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal1, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal2, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal3, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvSlew0, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew1, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew2, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew3, 	PARAM_SLEW_DEFAULT );
}
Example #8
0
void module_init(void) {
  u32 i;

  // init module/param descriptor
  // intialize local data at start of SDRAM
  data = (wavesData * )SDRAM_ADDRESS;
  // initialize moduleData superclass for core routines
  gModuleData = &(data->super);
  strcpy(gModuleData->name, "aleph-waves");
  gModuleData->paramDesc = data->mParamDesc;
  gModuleData->paramData = data->mParamData;
  gModuleData->numParams = eParamNumParams;

  // fill param values with minima as default
  for(i=0; i<eParamNumParams; ++i) {
    gModuleData->paramData[i].value = gModuleData->paramDesc[i].min;
  }


  for(i=0; i<WAVES_NVOICES; i++) {
    fract32 tmp = FRACT32_MAX >> 2;
    osc_init( &(voice[i].osc), &wavtab, SAMPLERATE );
    filter_svf_init( &(voice[i].svf) );
    voice[i].amp = tmp;
    filter_1p_lo_init(&(voice[i].ampSlew), 0xf);
    filter_1p_lo_init(&(voice[i].cutSlew), 0xf);
    filter_1p_lo_init(&(voice[i].rqSlew), 0xf);
  }

  //  oscAmp1 = oscAmp0 = INT32_MAX >> 2;

  /* osc_set_hz( &osc1, fix16_from_int(220) ); */
  /* osc_set_hz( &osc0, fix16_from_int(330) ); */

  /* ioAmp0 = FR32_MAX; */
  /* ioAmp1 = FR32_MAX; */
  /* ioAmp2 = FR32_MAX; */
  /* ioAmp3 = FR32_MAX; */

  // filters
  /* filter_svf_init(&(svf1)); */
  /* filter_svf_init(&(svf0));     */

  // allocate smoothers
  //  amp1Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo));
  //  filter_1p_lo_init( amp1Lp, oscAmp1 );

  /* amp0Lp = (filter_1p_lo*)malloc(sizeof(filter_1p_lo)); */
  /* filter_1p_lo_init( amp0Lp, oscAmp0 ); */

  // dac
  filter_1p_lo_init( &(cvSlew[0]), 0xf );
  filter_1p_lo_init( &(cvSlew[1]), 0xf );
  filter_1p_lo_init( &(cvSlew[2]), 0xf );
  filter_1p_lo_init( &(cvSlew[3]), 0xf );


  // write descriptors
  /// FIXME: eliminate and move offline !
  fill_param_desc();

  // set parameters to defaults
  param_setup(  eParamHz1, 	220 << 16 );
  param_setup(  eParamHz0, 	330 << 16 );
  param_setup(  eParamTune1, 	FIX16_ONE );
  param_setup(  eParamTune0, 	FIX16_ONE );
  param_setup(  eParamWave1, 	0 );
  param_setup(  eParamWave0, 	0 );
  param_setup(  eParamAmp1, 	PARAM_AMP_6 );
  param_setup(  eParamAmp0, 	PARAM_AMP_6 );
  param_setup(  eParamPm10, 	0 );
  param_setup(  eParamPm01, 	0 );
  param_setup(  eParamWm10, 	0 );
  param_setup(  eParamWm01, 	0 );
  param_setup(  eParamBl1,  	0 );
  param_setup(  eParamBl0,  	0 );

  param_setup(  eParam_cut1,	PARAM_CUT_DEFAULT);
  param_setup(  eParam_rq1,	PARAM_RQ_DEFAULT);
  param_setup(  eParam_low1,       PARAM_AMP_6 );
  param_setup(  eParam_high1,	0 );
  param_setup(  eParam_band1,	0 );
  param_setup(  eParam_notch1,	0 );
  param_setup(  eParam_fwet1,	PARAM_AMP_6 );
  param_setup(  eParam_fdry1,	PARAM_AMP_6 );
  param_setup(  eParam_cut0, 	PARAM_CUT_DEFAULT );
  param_setup(  eParam_rq0, 	PARAM_RQ_DEFAULT );
  param_setup(  eParam_low0,	FRACT32_MAX >> 1 );
  param_setup(  eParam_high0,	0 );
  param_setup(  eParam_band0,	0 );
  param_setup(  eParam_notch0,	0 );
  param_setup(  eParam_fwet0,	PARAM_AMP_6 );
  param_setup(  eParam_fdry0,	PARAM_AMP_6 );

  param_setup(  eParamHz1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamHz0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamPm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm10Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWm01Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamWave0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp1Slew, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParamAmp0Slew, PARAM_SLEW_DEFAULT );
 
  param_setup(  eParamCut0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamCut1Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq0Slew, PARAM_SLEW_DEFAULT );
  param_setup(  eParamRq1Slew, PARAM_SLEW_DEFAULT );

  param_setup(  eParam_adc0_dac0, 	FRACT32_MAX );
  param_setup(  eParam_adc1_dac1,  	FRACT32_MAX );
  param_setup(  eParam_adc2_dac2, 	FRACT32_MAX );
  param_setup(  eParam_adc3_dac3, 	FRACT32_MAX );

  param_setup(  eParam_osc0_dac0, 	FRACT32_MAX );
  param_setup(  eParam_osc0_dac1,  	FRACT32_MAX );
  param_setup(  eParam_osc0_dac2, 	FRACT32_MAX );
  param_setup(  eParam_osc0_dac3, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac0, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac1,  	FRACT32_MAX );
  param_setup(  eParam_osc1_dac2, 	FRACT32_MAX );
  param_setup(  eParam_osc1_dac3, 	FRACT32_MAX );

  param_setup(  eParam_cvVal0, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal1, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal2, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvVal3, 	FRACT32_MAX >> 1 );
  param_setup(  eParam_cvSlew0, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew1, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew2, 	PARAM_SLEW_DEFAULT );
  param_setup(  eParam_cvSlew3, 	PARAM_SLEW_DEFAULT );

  

}
Example #9
0
int main(int argc, char **argv) 
{
	int c, rc;
	int xindex  = -1;  /* index of -x option */

        /* loop until all options are consumed or we hit
         * a -x option 
         */
	while ((c = getopt(argc, argv, "s:n:x:")) != -1 && 
               xindex == -1) {
		switch (c) {
		case 's':
			echo_server_nid = optarg;
			break;
		case 'n':
			echo_server_ostname = optarg;
			break;
		case 'x':
			xindex = optind-1;
			break;
		default:
			usage(argv[0]);
			return 1;
		}
	}

        /*
         * Only warn with usage() if the -x option isn't specificed
         * because when using -x this check is not valid.
         */
        if (optind != argc && xindex == -1)
                usage(argv[0]);

	if (!echo_server_nid) {
		usage(argv[0]);
		return 1;
	}

        libcfs_debug = 0;
        libcfs_subsystem_debug = 0;

        liblustre_init_random();

	if (liblustre_init_current(argv[0]) ||
	    init_obdclass() || init_lib_portals() ||
	    ptlrpc_init() ||
	    lmv_init() ||
	    mdc_init() ||
	    lov_init() ||
	    osc_init() ||
	    echo_client_init()) {
		printf("error\n");
		return 1;
	}

	rc = connect_echo_client();
	if (rc)
		return rc;

	set_ioc_handler(liblustre_ioctl);


        /*
         * If the -x option is not specified pass no args to lctl
         * otherwise pass all the options after the "-x" to lctl
         *
         * HACK: in the case when the -x option is specified
         * lctl sees argv[0] == "-x" and not the real argv[0] seen
         * in this function.  If that is a problem, a mapping will
         * have to be done to fix that.  However for normal functioning
         * it seems to be irrelavant
         */
	if( xindex == -1 )
		rc = lctl_main(1, &argv[0]);
	else
		rc = lctl_main(argc-xindex+1, &argv[xindex-1]);

	rc |= disconnect_echo_client();

	return rc;
}
Example #10
0
int main(void) 
{
	scalar_t sample_freq = 44100;
	scalar_t i, j, freq;
	int b;

	osc_t osc[3];
	osc_init(&osc[0], OSC_TYPE_SAWTOOTH);
	osc_init(&osc[1], OSC_TYPE_SAWTOOTH);
	osc_init(&osc[2], OSC_TYPE_SAWTOOTH);

	filter_moog_t f;
	filter_moog_init(&f);

	i = 0.06f;
	j = -0.01f;
		
	b = 0;
// init oscillator state

	for (b=0; b<7; b++) {
		freq = note2freq(A, b);
		fprintf(stderr, "freq=%3.2f, oct=%i\n", freq, b);
		osc[0].freq = freq;
		make_noise(osc, 1, 0.4f, sample_freq, 0.0001, NULL);
	}

	b=0;

	//return 0;

	for (;;) {	
		
		
		if (b++ == 1) {
			b = 0;
			j *= -1;
		}

		osc[0].freq = 109;
		osc[1].freq = 111;
		osc[2].freq = 55;

		i += j;
		filter_moog_set_params(&f, i, 0.6f);

		make_noise(osc, 3, 0.1f, sample_freq, 0.0002, &f);

		osc[0].freq = 219;
		osc[1].freq = 221;
		osc[2].freq = 55;

		i += j;
		filter_moog_set_params(&f, i, 0.6f);

		make_noise(osc, 3, 0.1f, sample_freq, 0.0002, &f);
		
		osc[0].freq = note2freq(Cb, 2) - 1;
		osc[1].freq = note2freq(Cb, 2) + 1;
		osc[2].freq = note2freq(Cb, 1);


		i += j;
		filter_moog_set_params(&f, i, 0.6f);

		make_noise(osc, 3, 0.2f, sample_freq, 0.0001, &f);

		//osc_init(&osc, OSC_TYPE_SAWTOOTH);
		//make_noise(&osc, 2, 2.0f, sample_freq);
		
		//osc_init(&osc, OSC_TYPE_SQUARE);
		//make_noise(&osc, 2, 2.0f, sample_freq);
	}
}