diff --git a/beh_audio_video_recordings/README.md b/beh_audio_video_recordings/README.md new file mode 100644 index 000000000..83e7efa2b --- /dev/null +++ b/beh_audio_video_recordings/README.md @@ -0,0 +1,80 @@ +# Behavioral audio/video recordings + +This dataset provides a minimal example of behavioral **audio**, **video**, **audiovideo**, and **image** recordings stored in the `beh/` directory. + +It is intended to accompany the proposal to add audio/video recordings to behavioral experiments (see [bids-specification PR #2231](https://github.com/bids-standard/bids-specification/pull/2231)). + +Note: media files are small placeholder files for example purposes. In a real dataset, these would be actual media files containing the recorded data. + +## Dataset description + +This dataset contains behavioral audio and video recordings from 2 participants performing various tasks: + +### Subject 01 + +- **Speech task**: audio recording of participant describing a picture (WAV format) with accompanying events/annotations, plus a reference photo of the stimulus image +- **Resting state**: video recording of participant sitting comfortably (MP4 format) +- **Interview task**: combined audiovideo recording of participant being interviewed (MP4 format) + +### Subject 02 + +- **Stroop task**: multiple simultaneous video recordings from different angles (face close-up and room view), plus a combined audiovideo recording with verbal responses, and a setup verification photo +- **Vocalization task**: two runs of audio recordings (FLAC format) with accompanying events/annotations + +## Key features demonstrated + +1. **Audio file formats**: WAV and FLAC +2. **Video file formats**: MP4 +3. **Audiovideo format**: MP4 with combined audio and video streams +4. **Photo format**: JPG still images +5. **Multiple recording angles**: using the `recording` entity to distinguish simultaneous recordings +6. **Multiple runs**: using the `run` entity for repeated tasks +7. **Metadata**: JSON sidecar files with device information and audio/video/image technical specifications +8. **Events files**: annotations for the speech/vocalization tasks with timing information +9. **Timing alignment**: `scans.tsv` files for synchronization across recordings + +## Validation + +When validated with a schema that includes the PR #2231 rules, this dataset should produce no errors (warnings for recommended metadata keys may remain). + +To test: + +1. Clone the BIDS specification repository: + + ```bash + git clone https://github.com/bids-standard/bids-specification.git + cd bids-specification + ``` + +2. Check out the branch that includes the audio/video recording proposal (until merged): + + ```bash + git checkout audio-video-clean + ``` + +3. Install the BIDS Validator (if not already installed): + + ```bash + npm install -g bids-validator + ``` + +4. Build the updated schema: + + ```bash + bst -v export --schema src/schema --output src/schema.json + ``` + +5. Install bids-validator-deno: + + ```bash + pip install bids-validator-deno + ``` + +5. Run the validator on this dataset with the updated schema: + ```bash + bids-validator-deno -s file:///path/to//bids-specification/src/schema.json /path/to/bids-examples/beh_audio_video_recordings + ``` + +## Privacy considerations + +When working with real audio and video recordings of human subjects, ensure compliance with applicable privacy regulations (HIPAA, GDPR, etc.) as these files often contain personally identifiable information. diff --git a/beh_audio_video_recordings/dataset_description.json b/beh_audio_video_recordings/dataset_description.json new file mode 100644 index 000000000..75d1d4141 --- /dev/null +++ b/beh_audio_video_recordings/dataset_description.json @@ -0,0 +1,12 @@ +{ + "Name": "Audio and Video Behavioral Recordings Example", + "BIDSVersion": "1.10.0", + "DatasetType": "raw", + "License": "CC0", + "Authors": ["BIDS Example Team", "BIDS Community Contributors"], + "Acknowledgements": "This is an example dataset for demonstrating audio and video recordings in BIDS", + "ReferencesAndLinks": [ + "https://github.com/bids-standard/bids-specification/pull/2231" + ], + "DatasetDOI": "10.0000/example.audio-video" +} diff --git a/beh_audio_video_recordings/participants.json b/beh_audio_video_recordings/participants.json new file mode 100644 index 000000000..f72981fa3 --- /dev/null +++ b/beh_audio_video_recordings/participants.json @@ -0,0 +1,24 @@ +{ + "participant_id": { + "Description": "Unique participant identifier" + }, + "age": { + "Description": "Age of the participant", + "Units": "years" + }, + "sex": { + "Description": "Sex of the participant", + "Levels": { + "M": "Male", + "F": "Female" + } + }, + "handedness": { + "Description": "Handedness of the participant", + "Levels": { + "left": "Left-handed", + "right": "Right-handed", + "ambidextrous": "Ambidextrous" + } + } +} diff --git a/beh_audio_video_recordings/participants.tsv b/beh_audio_video_recordings/participants.tsv new file mode 100644 index 000000000..85cad5b04 --- /dev/null +++ b/beh_audio_video_recordings/participants.tsv @@ -0,0 +1,3 @@ +participant_id age sex handedness +sub-01 25 F right +sub-02 30 M left diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.json b/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.json new file mode 100644 index 000000000..890c71956 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.json @@ -0,0 +1,12 @@ +{ + "Device": "GoPro HERO10 Black", + "DeviceSerialNumber": "GP10-456789", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "AudioBitDepth": 16, + "FrameRate": 30.0, + "CameraPosition": "front", + "Height": 1080, + "Width": 1920, + "Duration": 300.0 +} diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.mp4 b/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.mp4 new file mode 100644 index 000000000..b7c16a040 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-interview_audiovideo.mp4 @@ -0,0 +1 @@ +placeholder audiovideo file diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.json b/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.json new file mode 100644 index 000000000..82377f179 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.json @@ -0,0 +1,13 @@ +{ + "TaskName": "RestingState", + "TaskDescription": "Participant sitting comfortably with eyes open for 10 minutes", + "Device": "Sony FDR-AX53", + "DeviceSerialNumber": "AX53-789012", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "FrameRate": 30.0, + "CameraPosition": "front", + "Height": 1080, + "Width": 1920, + "Duration": 600.5 +} diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.mp4 b/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.mp4 new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-rest_video.mp4 @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.json b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.json new file mode 100644 index 000000000..06635bfc4 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.json @@ -0,0 +1,10 @@ +{ + "TaskName": "Speech", + "TaskDescription": "Participant was asked to describe a picture for 2 minutes", + "Device": "Zoom H6 Handy Recorder", + "DeviceSerialNumber": "H6-123456", + "AudioChannelCount": 2, + "AudioSampleRate": 44100, + "AudioBitDepth": 16, + "Duration": 120.5 +} diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.wav b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.wav new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_audio.wav @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.json b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.json new file mode 100644 index 000000000..0578c255a --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.json @@ -0,0 +1,16 @@ +{ + "TaskName": "Speech", + "TaskDescription": "Participant was asked to describe a picture for 2 minutes", + "event_type": { + "Description": "Type of event", + "Levels": { + "task": "Overall task period", + "vocalization": "Participant speaking or vocalizing", + "pause": "Pause in speech", + "cough": "Non-speech vocalization" + } + }, + "description": { + "Description": "Detailed description of the event" + } +} diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.tsv b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.tsv new file mode 100644 index 000000000..77303d7ad --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_events.tsv @@ -0,0 +1,12 @@ +onset duration event_type description +0.0 120.5 task speech description task +5.2 2.3 vocalization first utterance begins +10.5 5.6 vocalization description of main scene +18.3 3.2 pause participant pauses to think +22.0 8.1 vocalization description of characters +35.2 4.5 vocalization description of background +45.0 2.0 cough participant coughs +50.3 10.2 vocalization description of actions +65.0 5.5 vocalization emotional content description +75.8 8.9 vocalization final summary +90.0 30.5 vocalization free description continues diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.jpg b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.jpg new file mode 100644 index 000000000..517a3f765 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.jpg @@ -0,0 +1 @@ +placeholder photo file diff --git a/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.json b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.json new file mode 100644 index 000000000..e87c7da41 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/beh/sub-01_task-speech_image.json @@ -0,0 +1,7 @@ +{ + "Device": "Canon EOS R5", + "DeviceSerialNumber": "EOSR5-234567", + "Height": 3000, + "Width": 4000, + "PhotoDescription": "Stimulus image shown to participant during speech task" +} diff --git a/beh_audio_video_recordings/sub-01/sub-01_scans.json b/beh_audio_video_recordings/sub-01/sub-01_scans.json new file mode 100644 index 000000000..61c424ab6 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/sub-01_scans.json @@ -0,0 +1,8 @@ +{ + "filename": { + "Description": "Path to the data file relative to the subject directory" + }, + "acq_time": { + "Description": "Acquisition time of the scan in ISO 8601 format" + } +} diff --git a/beh_audio_video_recordings/sub-01/sub-01_scans.tsv b/beh_audio_video_recordings/sub-01/sub-01_scans.tsv new file mode 100644 index 000000000..587492175 --- /dev/null +++ b/beh_audio_video_recordings/sub-01/sub-01_scans.tsv @@ -0,0 +1,5 @@ +filename acq_time +beh/sub-01_task-speech_audio.wav 2025-12-15T10:00:00 +beh/sub-01_task-speech_image.jpg 2025-12-15T10:00:00 +beh/sub-01_task-rest_video.mp4 2025-12-15T10:30:00 +beh/sub-01_task-interview_audiovideo.mp4 2025-12-15T11:00:00 diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.json new file mode 100644 index 000000000..821349f38 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.json @@ -0,0 +1,14 @@ +{ + "TaskName": "Stroop", + "TaskDescription": "Combined audio and video recording of participant performing Stroop task with verbal responses", + "Device": "GoPro HERO10 Black", + "DeviceSerialNumber": "GP10-567890", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "AudioBitDepth": 16, + "FrameRate": 60.0, + "CameraPosition": "front", + "Height": 2160, + "Width": 3840, + "Duration": 450.0 +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.mp4 b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.mp4 new file mode 100644 index 000000000..b7c16a040 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_audiovideo.mp4 @@ -0,0 +1 @@ +placeholder audiovideo file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.jpg b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.jpg new file mode 100644 index 000000000..517a3f765 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.jpg @@ -0,0 +1 @@ +placeholder photo file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.json new file mode 100644 index 000000000..d23d3b9f4 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_image.json @@ -0,0 +1,7 @@ +{ + "Device": "Canon EOS R5", + "DeviceSerialNumber": "EOSR5-345678", + "Height": 3000, + "Width": 4000, + "Description": "Setup verification photo showing participant position and display arrangement" +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.json new file mode 100644 index 000000000..209fbef9c --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.json @@ -0,0 +1,12 @@ +{ + "TaskName": "Stroop", + "TaskDescription": "Stroop color-word interference task performed while being video recorded from multiple angles", + "Device": "Logitech C920 Webcam", + "DeviceSerialNumber": "C920-456789", + "FrameRate": 30.0, + "CameraPosition": "front", + "Height": 720, + "Width": 1280, + "Duration": 300.0, + "RecordingDescription": "Close-up recording of participant's face during task" +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.mp4 b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.mp4 new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-face_video.mp4 @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.json new file mode 100644 index 000000000..804f0fe7b --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.json @@ -0,0 +1,14 @@ +{ + "TaskName": "Stroop", + "TaskDescription": "Stroop color-word interference task performed while being video recorded from multiple angles", + "Device": "Canon EOS R5", + "DeviceSerialNumber": "EOS-R5-123456", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "FrameRate": 30.0, + "CameraPosition": "room-corner", + "Height": 1080, + "Width": 1920, + "Duration": 300.0, + "RecordingDescription": "Wide-angle recording of the entire room during task" +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.mp4 b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.mp4 new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-stroop_recording-room_video.mp4 @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.flac b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.flac new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.flac @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.json new file mode 100644 index 000000000..a6d04d6af --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_audio.json @@ -0,0 +1,11 @@ +{ + "TaskName": "Vocalization", + "TaskDescription": "Participant producing various vocalizations including vowels, consonants, and humming", + "Device": "Blue Yeti Microphone", + "DeviceSerialNumber": "YETI-987654", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "AudioBitDepth": 24, + "Duration": 180.0, + "RunDescription": "First run of vocalization task" +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.json new file mode 100644 index 000000000..476c225ec --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.json @@ -0,0 +1,18 @@ +{ + "TaskName": "Vocalization", + "TaskDescription": "Participant producing various vocalizations including vowels, consonants, and humming", + "trial_type": { + "Description": "Type of vocalization trial", + "Levels": { + "task": "Overall task period", + "vowel": "Sustained vowel sound", + "consonant": "Repeated consonant sound", + "humming": "Humming", + "breath": "Breath/pause", + "free": "Free vocalization" + } + }, + "description": { + "Description": "Human-readable description of the event" + } +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.tsv b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.tsv new file mode 100644 index 000000000..d7477cc3e --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-01_events.tsv @@ -0,0 +1,15 @@ +onset duration trial_type description +0.0 180.0 task vocalization task (run 01) +5.0 3.0 vowel "ah" vowel +12.5 2.5 vowel "ee" vowel +20.0 2.0 vowel "oo" vowel +30.0 5.0 humming humming at comfortable pitch +40.5 1.5 breath breath/pause +45.0 4.0 consonant "sh" consonant +55.0 4.0 consonant "s" consonant +65.0 3.0 consonant "f" consonant +75.0 10.0 free free vocalization +100.0 5.0 humming humming at lower pitch +120.0 2.0 breath breath/pause +130.0 8.0 free free vocalization +160.0 10.0 free final free vocalization diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.flac b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.flac new file mode 100644 index 000000000..b3a425249 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.flac @@ -0,0 +1 @@ +placeholder \ No newline at end of file diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.json new file mode 100644 index 000000000..c28030b96 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_audio.json @@ -0,0 +1,11 @@ +{ + "TaskName": "Vocalization", + "TaskDescription": "Participant producing various vocalizations including vowels, consonants, and humming", + "Device": "Blue Yeti Microphone", + "DeviceSerialNumber": "YETI-987654", + "AudioChannelCount": 2, + "AudioSampleRate": 48000, + "AudioBitDepth": 24, + "Duration": 180.0, + "RunDescription": "Second run of vocalization task" +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.json b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.json new file mode 100644 index 000000000..476c225ec --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.json @@ -0,0 +1,18 @@ +{ + "TaskName": "Vocalization", + "TaskDescription": "Participant producing various vocalizations including vowels, consonants, and humming", + "trial_type": { + "Description": "Type of vocalization trial", + "Levels": { + "task": "Overall task period", + "vowel": "Sustained vowel sound", + "consonant": "Repeated consonant sound", + "humming": "Humming", + "breath": "Breath/pause", + "free": "Free vocalization" + } + }, + "description": { + "Description": "Human-readable description of the event" + } +} diff --git a/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.tsv b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.tsv new file mode 100644 index 000000000..1aca8321f --- /dev/null +++ b/beh_audio_video_recordings/sub-02/beh/sub-02_task-vocalization_run-02_events.tsv @@ -0,0 +1,14 @@ +onset duration trial_type description +0.0 180.0 task vocalization task (run 02) +3.0 2.5 vowel "ah" vowel +10.0 2.5 vowel "ee" vowel +17.0 2.0 vowel "oo" vowel +25.0 4.0 consonant "sh" consonant +35.0 4.0 consonant "s" consonant +45.0 6.0 humming humming at comfortable pitch +60.0 2.0 breath breath/pause +65.0 10.0 free free vocalization +90.0 5.0 humming humming at higher pitch +110.0 2.0 breath breath/pause +120.0 12.0 free free vocalization +150.0 8.0 free final free vocalization diff --git a/beh_audio_video_recordings/sub-02/sub-02_scans.json b/beh_audio_video_recordings/sub-02/sub-02_scans.json new file mode 100644 index 000000000..61c424ab6 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/sub-02_scans.json @@ -0,0 +1,8 @@ +{ + "filename": { + "Description": "Path to the data file relative to the subject directory" + }, + "acq_time": { + "Description": "Acquisition time of the scan in ISO 8601 format" + } +} diff --git a/beh_audio_video_recordings/sub-02/sub-02_scans.tsv b/beh_audio_video_recordings/sub-02/sub-02_scans.tsv new file mode 100644 index 000000000..e5481c331 --- /dev/null +++ b/beh_audio_video_recordings/sub-02/sub-02_scans.tsv @@ -0,0 +1,7 @@ +filename acq_time +beh/sub-02_task-stroop_recording-face_video.mp4 2025-12-15T11:00:00 +beh/sub-02_task-stroop_recording-room_video.mp4 2025-12-15T11:00:00 +beh/sub-02_task-stroop_audiovideo.mp4 2025-12-15T11:00:00 +beh/sub-02_task-stroop_image.jpg 2025-12-15T11:00:00 +beh/sub-02_task-vocalization_run-01_audio.flac 2025-12-15T11:30:00 +beh/sub-02_task-vocalization_run-02_audio.flac 2025-12-15T11:35:00