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

device = Int(0)

input device index, refers to sounddevice list

num_channels = Int(1)

Number of input channels, maximum depends on device

collect_samples = Bool(True)

Indicates if samples are collected, helper trait to break result loop

sample_freq = Property()

Sampling frequency of the signal, changes with sinusdevices

precision = Enum('float32', 'float16', 'int32', 'int16', 'int8', 'uint8')

Datatype (resolution) of the signal, used as dtype in a sd Stream object

overflow = Bool(False)

Indicates that the sounddevice buffer has overflown

running = Bool(False)

Indicates that the stream is collecting samples

stream = Any

The sounddevice InputStream object for inspection

digest = Property(depends_on=['device', 'num_channels', 'num_samples'])

A unique identifier for the generator, based on its properties. (read-only)

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.