I'm deliberately avoiding duration initially because I want to pursue placing notes on the grid (and, indeed inferring the grid to start with) before any discussion about note duration.
Note duration is hugely important to a lot of applications (not least of which the kind of analysis of articulation I want in Czerny) but I think we can proceed a long way before considering them.
It's also possible that velocity will have role to play in identify the time signature but again, we can defer that possibility for a while.