I am learning to identify the beats precisely at a random spot in a piece of music at least of strict tempo upon hearing it for a short time, say in one bar. Are there ways to do so effectively and efficiently? It would very much helpful too if someone can suggest good tools, say, free software or apps, that can train me to do that. The task seems particularly hard for a piece of "smooth" (please tell me the precise music word for it) music without percussion.
In a comment to the OP, thrig mentioned Temperley's book "Music and Probability," and I thought I'd give some extra context. This is not a full answer to the question, but, depending on how far you want to go with this and what your goals are (scholarly, or just to use the software), this could be a good start:
Longuet-Higgins and Steedman published some research in 1971 titled "On Interpreting Bach" where they took the fugue subjects from Bach's Well-Tempered Clavier and ran them through two separate algorithms: one to determine the meter, and one to determine the melody. Their metrical algorithm is pretty straightforward, though it did fail at times (especially where the notes were the same length). (Their pitch algorithm was also very successful, but that's another topic.)
Now, that was in 1971...the US was still landing people on the moon in 1971! This shows not only how outdated this research is but also how impressive of a feat it was almost 50 years ago.
More recently, Temperley and Sleator published an article in Computer Music Journal 1999 titled "Modeling Meter and Harmony" where they updated and expounded upon the work by Longuet-Higgins and Steedman.
If you're approaching this from a more scholarly angle, I recommend finding these and then checking out where they've been cited (especially the latter article). You should get on the right track pretty quickly that way.