I have some data from a molecular spectroscopy experiment, containing vibrational and rotational spectra, and I want to fit the peaks with Voigt profiles (one for each peak) in order to obtain the centers of the peaks. Do you know any software suitable for this kind of fit? I usually use Python (scipy, lmfit), but so far it didn't really work, as there are many peaks in one spectrum, so many parameters to fit for and I think that the fit gets stuck in a local minima, before reaching the actual parameters (but if you know a python package good enough for what I need, I am willing to try). Also, should I fit all the spectrum at once, or one peak at a time. If I do one peak at a time I get rid of the dimensionality problem, but the fit might not be as accurate as when I fit everything at once.
For fitting of 1D data the Fityk code (https://github.com/wojdyr/fityk) is a good choice. It has a bunch of predefined functions, like Voigt, pseudo-Voigt, etc., and many different fitting methods. It is free and open-source and highly extensible (user-defined function, batch processing, etc.) via lua scripts. It also has a really good manual (https://fityk.nieto.pl/fityk-manual.html) and an active group (https://groups.google.com/g/fityk-users).
Another free option is Spectragryph (https://www.effemm2.de/spectragryph/) focused on optics applications.