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

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.