Neoclassical Philosophic Musings

    shared-utils

    2.0.1 • Public • Published

    shared-utils

    Contains useful utilities like random number generator for ints or floats in min - max range inclusive

    Available at https://github.com/scottstensland/shared-utils

    synthesize an audio buffer with random noise OR sinusoidal curve

     
    // ------------  populate buffer with sin curve ------------  //
     
    // var SIZE_BUFFER_SOURCE = 5;
    var SIZE_BUFFER_SOURCE = 256;
    // var SIZE_BUFFER_SOURCE = 4096;
    // var SIZE_BUFFER_SOURCE = 16384;
     
    var samples_per_cycle = 64;
     
    var source_obj = {}; // we populate its buffer then save to output WAV file 
    var target_obj = {}; // then read back WAV file to populate this target buffer then do curve diff to confirm curves match
     
    source_obj = audio_utils.pop_audio_buffer(SIZE_BUFFER_SOURCE, samples_per_cycle);
     

    synthesize an audio buffer with random noise

     
    var shared_utils = require("shared-utils");
    var path = require('path');
     
    shared_utils.set_random_seed(17); // comment out if U want fresh random sequence for each run 
                                      // otherwise random sequence repeats across subsequent runs of this script
     
    var SIZE_BUFFER_SOURCE = 256;
     
    var source_obj = {}; // we populate its buffer with random float values then save to output WAV file 
     
    source_obj.buffer = new Float32Array(SIZE_BUFFER_SOURCE);
     
    var max_index = SIZE_BUFFER_SOURCE;
     
    for (var index = 0; index < max_index; index++) {
     
        source_obj.buffer[index] = shared_utils.get_random_in_range_inclusive_float(-1.0, 1.0);
     
        // console.log(index, " pop_audio_buffer ", source_obj.buffer[index]);
    }
     

    write typed array 32 bit float buffer (Float32Array) to output file WAV format 16 bit precision

     
    var output_dir = process.argv[2] || "/tmp";
    var output_format = ".wav";
    var source_wave = "source_wave_shared_utils_test";
    var source_wave_filename = path.join(output_dir, source_wave + output_format);
     
    shared_utils.write_32_bit_float_buffer_to_16_bit_wav_file(source_obj, source_wave_filename);
     

    Install

    npm i shared-utils

    DownloadsWeekly Downloads

    40

    Version

    2.0.1

    License

    none

    Unpacked Size

    92.9 kB

    Total Files

    16

    Last publish

    Collaborators

    • eventhorizon