feat(init audio buffer): adding a separate parameter for the initial audio buffer size

This commit is contained in:
CarolinePascal
2025-05-23 16:04:28 +02:00
parent 0fbcbcdb2e
commit e620395416
3 changed files with 10 additions and 3 deletions

View File

@@ -41,6 +41,7 @@ from lerobot.datasets.utils import (
DEFAULT_EPISODES_PATH,
DEFAULT_FEATURES,
DEFAULT_IMAGE_PATH,
DEFAULT_INITIAL_AUDIO_BUFFER_DURATION,
DEFAULT_RAW_AUDIO_PATH,
INFO_PATH,
_validate_feature_names,
@@ -482,7 +483,7 @@ class LeRobotDatasetMetadata:
if not self.features[key].get("info", None):
audio_path = self.root / self.audio_path.format(audio_key=key, chunk_index=0, file_index=0)
self.info["features"][key]["info"] = get_audio_info(audio_path)
self.info["features"][key]["info"]["start_time_s"] = DEFAULT_AUDIO_CHUNK_DURATION
self.info["features"][key]["info"]["start_time_s"] = DEFAULT_INITIAL_AUDIO_BUFFER_DURATION
def update_chunk_settings(
self,

View File

@@ -71,6 +71,7 @@ DEFAULT_IMAGE_PATH = "images/{image_key}/episode-{episode_index:06d}/frame-{fram
DEFAULT_RAW_AUDIO_PATH = "raw_audio/{audio_key}/episode_{episode_index:06d}.wav"
DEFAULT_AUDIO_CHUNK_DURATION = 0.5 # seconds
DEFAULT_INITIAL_AUDIO_BUFFER_DURATION = 1.0 # seconds
LEGACY_EPISODES_PATH = "meta/episodes.jsonl"
LEGACY_EPISODES_STATS_PATH = "meta/episodes_stats.jsonl"

View File

@@ -84,7 +84,12 @@ from lerobot.configs.policies import PreTrainedConfig
from lerobot.datasets.image_writer import safe_stop_image_writer
from lerobot.datasets.lerobot_dataset import LeRobotDataset
from lerobot.datasets.pipeline_features import aggregate_pipeline_dataset_features, create_initial_features
from lerobot.datasets.utils import DEFAULT_AUDIO_CHUNK_DURATION, build_dataset_frame, combine_feature_dicts
from lerobot.datasets.utils import (
DEFAULT_AUDIO_CHUNK_DURATION,
DEFAULT_INITIAL_AUDIO_BUFFER_DURATION,
build_dataset_frame,
combine_feature_dicts,
)
from lerobot.datasets.video_utils import VideoEncodingManager
from lerobot.microphones.utils import (
async_microphones_start_recording,
@@ -345,7 +350,7 @@ def record_loop(
# Fill audio buffers if needed
if robot.microphones:
busy_wait(DEFAULT_AUDIO_CHUNK_DURATION)
busy_wait(DEFAULT_INITIAL_AUDIO_BUFFER_DURATION)
timestamp = 0
start_episode_t = time.perf_counter()