The other answers have hit the highlights, going so far as to suggest that it is impossible in principle. Contrariwise, I argue that it could be done in principle, as long as you don't overstate what IPA does. IPA is a conventional system (conventions can be voted in or out) for grouping a range of acoustic events to letters, with a coarse enough granularity that letter-to-sound mappings are not one-to-one – but they also aren't any-to-any (i.e. arbitrary). The letters are arranged into an secondary articulatory scheme, but we can still distinguish [tʃ] from [ŋ] without having to inspect the x-ray record.
IPA, with or without a transcribing AI, does not force a transcriber to select between [e, e:, ej, ei, ɛi, ɛɪ, ɛj, ɛ:] as possible transcriptions of English "great" (for any subset of English speakers). It does tell you that as a narrow phonetic transcription for my (West Coast GA) speech, [e:] is wrong, and for certain northern UK dialects [ɛɪ] is wrong. But IPA is not limited to use as a narrow transcription. At most, one could hope for automated narrow transcriptions. A phonetician can't tell you whether that thing you heard is narrowly phonetic [eit] or [ejt], so a program can't do it either.
The acoustic referents of IPA letters are somewhat ephemeral, in that expert training in IPA transcription (not just for English, but for the entire IPA) is a niche skill not widely practiced, and there is no large corpus of productions. To the extent that there is professional agreement on what [ʊ] refers to and what [u] refers to, one could measure the formants in a corpus of professional reference productions and devise a standard against which other sounds could be compared.
The most significant problem of principle is the same one faced by expert transcribers, which is that a decision about whether a certain vowel is [ʊ] has to be made not only with reference to some external standard, but with reference to other tokens on the target language. Suppose the standard formants of [o] are 360, 640, those of [u] are 250, 595, and those of [ʊ] are 305, 615. Then suppose you encounter a vowel that measures 325, 630. At the level of narrow transcription, [u] would be out because the measured formats are closer to those of [ʊ, o] than those of [u]. That vowel is between [ʊ] and [o]. But the IPA also includes adjustment diacritics to indicate "somewhat higher" or "somewhat lower". The algorithm might decide that a certain vowel token has the vowel [ö̝]. Other tokens could point to a vowel [ʊ], [ʊ̞], [u] and so on. It takes phonological analysis to decide "these are all free / contextual variants of [u]".
Nobody has gathered the skilled performances that are necessary to create the underlying acoustic database. If that were done, then it would become more possible to construct an IPA-transcribing program, at least one that produces narrow phonetic transcriptions.