- MNE version: 1.10.0
- operating system: bluefin-dx-nvidia-open:gts

Bluefin (Version: gts-41.20250803 / FROM Fedora Silverblue 41)
Linux 6.14.11-200.fc41.x86_64
import mne
converted_edf_filepath = "path to my file.edf"
mne_edf = mne.io.read_raw_edf(converted_edf_filepath)
mne_edf.annotations[0]
The output is:
OrderedDict([('onset', np.float64(27.0)),
('duration', np.float64(0.0)),
('description', np.str_('Epilepsy start')),
('orig_time',
datetime.datetime(2023, 5, 6, 12, 30, 24, tzinfo=datetime.timezone.utc)),
('extras', {})])
Compared to:
annotations = mne.read_annotations(converted_edf_filepath, encoding="latin")
annotations[0]
Whose output is:
OrderedDict([('onset', np.float64(-5.0)),
('duration', np.float64(0.0)),
('description',
np.str_('.©-í-ÿ-%.·.µ.~.\x7f.n.\x98.á.û.(/\x93/ñ/Õ/\x90/\x96/|/X/¶/Ú/S/\x04/á.|.x.\x9c.\x83.Ì.æ.r.T.9.Õ-¿-ý-\x82.ç.æ.×.¦.´.$/I/_/p/ /û.\'/7/K/\x84/\x82/b/x/q/^/\x1d/Z.!.\x89.\x9f.®.¹.m.\x15.#.£.¼.G.Ù-\x86-Ç-4.ì-«-¡-\x89-Á-ô-\x07.\t.Û-ñ-î-y-W-c-\\-Ú-v.n.!.Õ-~-Û-¿.ù.Ã.\x88.K.l.\x86.`.$.Æ-Ó-).W.j.9.B.n.\x16.Ö-Ò-°-±-Ö-Í-A-é,|-\x0b.\x03.í-ú-ò-\x1a.i.!.æ-H.\x82.·.³.0.\t.\x08.\x19.i%A%q%\x85%¯%¼%Ê%è%Ä%±%Ç%Ú%î%Î%\x8b%Ì%E&\x04&±%¼%\x99%»%ù%³%]%}%ã%æ%Ö%á%\x82%\xa0%\x07&×%Õ%´%r%À%â%Û%Ð%\x9f%ì%;&9&s&o&2&p&±&|&=&\x1b&)&n&K&ù%$&9&\x1f&;&\x15&·%¥%Ã%î%\x03&\x05& &\r&×%³%\x92%ù%\x89&v&_&\x17&D%\x15%\x9d%Ù%º%È%ð%³%\x97%ó%\x1e&\x08&ë%Ý%Ñ%Å%L&è&¤&4&%&ê%\x9e%«%\x92%&%ô$Ï$É$\x13%ä$\x9c$×$ã$\x13%\x8b%s%@%D%)%F%\x83%\x93%µ%\t&X&G&\x0f&\x18&ý%Ù%4&R&É%|%h%\x16%\x12%=%\x1f%K%n%\x1a%\r%\r%Ê$Ð$,%¹%\x18&.&0&û%\x11&\x82&\x91&\x8e&©&u&F&_&c&T&x&v&L&Q&<&\x1c&Ó%7%5%\x9e%¡%¤%£%\\%\x19%/%\x93%\x9f%\\%\x19%Å$ÿ$b%\x1f%ó$î$Ò$\x08%8%O%`%6%P%k%\x16%\x02%\x12%\x0b%t%ñ%å%¢%^%\t%H%\x08&E&"&õ%¸%Í%å%Ï%\x9d%9%7%s%\x8c%²%\x9e%\xa0%¸%W%\x11%')),
('orig_time', None),
('extras', {})])
When read with `mne.read_annotations`, there are five corrupt annotations at the beginning, then the correct annotations begin.
Also tried latin-1 for encoding. One item of note is that the onset is -5.0 in the second example.