mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-23 09:46:00 +00:00
feat(init audio buffer): adding a separate parameter for the initial audio buffer size
This commit is contained in:
@@ -41,6 +41,7 @@ from lerobot.datasets.utils import (
|
|||||||
DEFAULT_EPISODES_PATH,
|
DEFAULT_EPISODES_PATH,
|
||||||
DEFAULT_FEATURES,
|
DEFAULT_FEATURES,
|
||||||
DEFAULT_IMAGE_PATH,
|
DEFAULT_IMAGE_PATH,
|
||||||
|
DEFAULT_INITIAL_AUDIO_BUFFER_DURATION,
|
||||||
DEFAULT_RAW_AUDIO_PATH,
|
DEFAULT_RAW_AUDIO_PATH,
|
||||||
INFO_PATH,
|
INFO_PATH,
|
||||||
_validate_feature_names,
|
_validate_feature_names,
|
||||||
@@ -482,7 +483,7 @@ class LeRobotDatasetMetadata:
|
|||||||
if not self.features[key].get("info", None):
|
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)
|
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"] = 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(
|
def update_chunk_settings(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -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_RAW_AUDIO_PATH = "raw_audio/{audio_key}/episode_{episode_index:06d}.wav"
|
||||||
|
|
||||||
DEFAULT_AUDIO_CHUNK_DURATION = 0.5 # seconds
|
DEFAULT_AUDIO_CHUNK_DURATION = 0.5 # seconds
|
||||||
|
DEFAULT_INITIAL_AUDIO_BUFFER_DURATION = 1.0 # seconds
|
||||||
|
|
||||||
LEGACY_EPISODES_PATH = "meta/episodes.jsonl"
|
LEGACY_EPISODES_PATH = "meta/episodes.jsonl"
|
||||||
LEGACY_EPISODES_STATS_PATH = "meta/episodes_stats.jsonl"
|
LEGACY_EPISODES_STATS_PATH = "meta/episodes_stats.jsonl"
|
||||||
|
|||||||
@@ -84,7 +84,12 @@ from lerobot.configs.policies import PreTrainedConfig
|
|||||||
from lerobot.datasets.image_writer import safe_stop_image_writer
|
from lerobot.datasets.image_writer import safe_stop_image_writer
|
||||||
from lerobot.datasets.lerobot_dataset import LeRobotDataset
|
from lerobot.datasets.lerobot_dataset import LeRobotDataset
|
||||||
from lerobot.datasets.pipeline_features import aggregate_pipeline_dataset_features, create_initial_features
|
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.datasets.video_utils import VideoEncodingManager
|
||||||
from lerobot.microphones.utils import (
|
from lerobot.microphones.utils import (
|
||||||
async_microphones_start_recording,
|
async_microphones_start_recording,
|
||||||
@@ -345,7 +350,7 @@ def record_loop(
|
|||||||
|
|
||||||
# Fill audio buffers if needed
|
# Fill audio buffers if needed
|
||||||
if robot.microphones:
|
if robot.microphones:
|
||||||
busy_wait(DEFAULT_AUDIO_CHUNK_DURATION)
|
busy_wait(DEFAULT_INITIAL_AUDIO_BUFFER_DURATION)
|
||||||
|
|
||||||
timestamp = 0
|
timestamp = 0
|
||||||
start_episode_t = time.perf_counter()
|
start_episode_t = time.perf_counter()
|
||||||
|
|||||||
Reference in New Issue
Block a user