SoundDeviceSamplesGenerator¶
- class acoular.sdinput.SoundDeviceSamplesGenerator(*args, **kwargs)¶
Bases:
SamplesGenerator
Controller for sound card hardware using sounddevice library.
Uses the device with index
device
to read samples from input stream, generates output stream via the generatorresult()
.- device = Int(0, desc='input device index')¶
input device index, refers to sounddevice list
- num_channels = Int(1, desc='number of analog input channels that collects data')¶
Number of input channels, maximum depends on device
- collect_samples = Bool(True, desc='Indicates if samples are collected')¶
Indicates if samples are collected, helper trait to break result loop
- sample_freq = Property(desc='sampling frequency')¶
Sampling frequency of the signal, changes with sinusdevices
- precision = Enum('float32', 'float16', 'int32', 'int16', 'int8', 'uint8', desc='precision (resolution) of signal')¶
Datatype (resolution) of the signal, used as dtype in a sd Stream object
- overflow = Bool(False, desc='Indicates if sounddevice buffer overflow')¶
Indicates that the sounddevice buffer has overflown
- running = Bool(False, desc='Indicates that the stream is collecting samples')¶
Indicates that the stream is collecting samples
- stream = Any¶
The sounddevice InputStream object for inspection
- device_properties()¶
- Returns:
- Dictionary of device properties according to sounddevice
- result(num)¶
Python generator that yields the output block-wise. Use at least a block-size of one ring cache block.
- Parameters:
- numinteger
This parameter defines the size of the blocks to be yielded (i.e. the number of samples per block).
- Returns:
- Samples in blocks of shape (num,
num_channels
). The last block may be shorter than num.
- Samples in blocks of shape (num,