One option is to convert the EDF recording into ordinary CSV files first and then import those files into Mathematica.
I recently created an open-source tool called edf2csv: https://edf2csv.vercel.app/
The basic command is:
bash
npx edf2csv recording.edf
It creates an output folder containing:
signals.csv
channels.csv
annotations.csv
metadata.json
You can then import the signal data into Mathematica using something like:
data = Import["recording_csv/signals.csv", "Dataset"]
The tool works locally, supports EDF, EDF+, BDF, and BDF+, and preserves the original units and sampling rates. It also separates channels with different sampling rates instead of inventing interpolated samples.
For disclosure, I am the developer of the tool. I built it partly because importing and correctly interpreting EDF recordings often requires substantially more work than importing an ordinary table. Would love to hear your thoughts using this tool!