sdinput#

Input from soundcard hardware using the SoundDevice library.

SoundDeviceSamplesGenerator(*args, **kwargs)

Controller for sound card hardware using sounddevice library.

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 generator result().

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()#

Display the properties of the sounddevice input device.

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.