YARP
Yet Another Robot Platform
Loading...
Searching...
No Matches
AudioRecorderDeviceBase.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3
* SPDX-License-Identifier: BSD-3-Clause
4
*/
5
6
#include <vector>
7
8
#include <
yarp/os/Searchable.h
>
9
#include <
yarp/dev/AudioGrabberInterfaces.h
>
10
#include <
yarp/dev/api.h
>
11
#include <
yarp/dev/CircularAudioBuffer.h
>
12
#include <mutex>
13
14
#ifndef YARP_DEV_AUDIORECORDERDEVICETEMPLATE_H
15
#define YARP_DEV_AUDIORECORDERDEVICETEMPLATE_H
16
17
namespace
yarp::dev
{
18
19
class
AudioDeviceDriverSettings
20
{
21
public
:
22
size_t
numSamples
= 0;
23
size_t
numChannels
= 0;
24
size_t
frequency
= 0;
25
size_t
bytesPerSample
= 2;
26
};
27
46
class
YARP_dev_API
AudioRecorderDeviceBase
:
public
yarp::dev::IAudioGrabberSound
47
{
48
protected
:
49
bool
m_enable_buffer_autoclear =
false
;
50
bool
m_recording_enabled =
false
;
51
std::mutex
m_mutex
;
52
yarp::dev::CircularAudioBuffer_16t
* m_inputBuffer =
nullptr
;
53
double
m_sw_gain = 1.0;
54
double
m_hw_gain = 1.0;
55
AudioDeviceDriverSettings
m_audiorecorder_cfg
;
56
bool
m_audiobase_debug =
false
;
57
int16_t m_cliptol = 3;
58
59
public
:
60
virtual
yarp::dev::ReturnValue
getSound(
yarp::sig::Sound
& sound,
size_t
min_number_of_samples,
size_t
max_number_of_samples,
double
max_samples_timeout_s)
override
;
61
virtual
yarp::dev::ReturnValue
startRecording()
override
;
62
virtual
yarp::dev::ReturnValue
stopRecording()
override
;
63
virtual
yarp::dev::ReturnValue
isRecording(
bool
& recording_enabled)
override
;
64
virtual
yarp::dev::ReturnValue
getRecordingAudioBufferMaxSize(
yarp::sig::AudioBufferSize
& size)
override
;
65
virtual
yarp::dev::ReturnValue
getRecordingAudioBufferCurrentSize(
yarp::sig::AudioBufferSize
& size)
override
;
66
virtual
yarp::dev::ReturnValue
resetRecordingAudioBuffer()
override
;
67
virtual
yarp::dev::ReturnValue
setSWGain(
double
gain)
override
;
68
69
virtual
~AudioRecorderDeviceBase
();
70
71
protected
:
72
bool
configureRecorderAudioDevice(
yarp::os::Searchable
& config, std::string device_name);
73
};
74
75
}
// namespace yarp::dev
76
77
#endif
AudioGrabberInterfaces.h
CircularAudioBuffer.h
Searchable.h
yarp::dev::AudioDeviceDriverSettings
Definition
AudioPlayerDeviceBase.h:21
yarp::dev::AudioDeviceDriverSettings::bytesPerSample
size_t bytesPerSample
Definition
AudioPlayerDeviceBase.h:26
yarp::dev::AudioDeviceDriverSettings::numChannels
size_t numChannels
Definition
AudioPlayerDeviceBase.h:24
yarp::dev::AudioDeviceDriverSettings::numSamples
size_t numSamples
Definition
AudioPlayerDeviceBase.h:23
yarp::dev::AudioDeviceDriverSettings::frequency
size_t frequency
Definition
AudioPlayerDeviceBase.h:25
yarp::dev::AudioRecorderDeviceBase
AudioRecorderDeviceBase : a base class for all audio recorder devices
Definition
AudioRecorderDeviceBase.h:47
yarp::dev::AudioRecorderDeviceBase::m_audiorecorder_cfg
AudioDeviceDriverSettings m_audiorecorder_cfg
Definition
AudioRecorderDeviceBase.h:55
yarp::dev::AudioRecorderDeviceBase::m_mutex
std::mutex m_mutex
Definition
AudioRecorderDeviceBase.h:51
yarp::dev::CircularAudioBuffer
Definition
CircularAudioBuffer.h:21
yarp::dev::IAudioGrabberSound
Read a YARP-format sound block from a device.
Definition
IAudioGrabberSound.h:23
yarp::dev::ReturnValue
Definition
ReturnValue.h:33
yarp::os::Searchable
A base class for nested structures that can be searched.
Definition
Searchable.h:31
yarp::sig::AudioBufferSize
Definition
AudioBufferSize.h:22
yarp::sig::Sound
Class for storing sounds See Audio in YARP for additional documentation on YARP audio.
Definition
Sound.h:25
yarp::dev
For streams capable of holding different kinds of content, check what they actually have.
Definition
BatteryData.cpp:13
api.h
YARP_dev_API
#define YARP_dev_API
Definition
api.h:18
YARP
3.11.100+20250603.4+gitaa77f8b5c
src
libYARP_dev
src
yarp
dev
AudioRecorderDeviceBase.h
Generated on Wed Jun 4 2025 02:40:10 for YARP by
1.9.8