know.audio_to_store

Audio to store experimentation

Example use:

from omisc.audio_to_store import *

wfs = demo_live_data_acquisition(
    live_source=LiveWf(
        input_device_index = None,  # if None, will try to guess the device index
        sr = 44100,
        sample_width = 2,
        chk_size = 4096,
        stream_buffer_size_s = 60,
    ),
    store=mk_session_block_wf_store(
        rootdir=None,  # will choose one for you
        # template examples: '{session}_{block}.wav' '{session}/d/{block}.pcm',
        #    '{session}/{block}', 'demo/s_{session}/blocks/{block}.wav'
        template='{session}_{block}.wav',  #
        pattern=r'\d+',
        value_trans=int
    ),
    chk_size=100_000,
    end_idx=300_000,
    logger=print
)
print(f"{len(wfs)=}")
class know.audio_to_store.LiveDataSingleSourceType(*args, **kwargs)[source]
class know.audio_to_store.SessionBlockBytesStoreType(*args, **kwargs)[source]

The protocol for SessionBlockStores

class know.audio_to_store.SessionBlockStoreType(*args, **kwargs)[source]

The protocol for SessionBlockStores

class know.audio_to_store.SessionBlockWaveformStoreType(*args, **kwargs)[source]

The protocol for SessionBlockStores

know.audio_to_store.get_root_dir(rootdir=None)[source]

get a rootdir (a default one, or validate the one given etc.)

know.audio_to_store.mk_mongo_single_data(mgc='mongodol/test', key_fields=('session', 'block'), data_field: str = 'data')[source]

s[session, block] waveform store with a mongoDB backend