  We present a user-friendly and versatile tool for laser frequency
stabilization. Its main focus is spectroscopy locking, but the software is
suitable for lock-in techniques in general as well as bare PID operation.
Besides allowing for sinusoidal modulation (up to 50 MHz), triangular ramp
scanning, IQ demodulation (1 $f$ to 5 $f$), IIR and PID filtering, Linien
features two different algorithms for automatic lock point selection; one of
them performs time-critical tasks completely on FPGA. Linien is capable of
autonomously optimizing spectroscopy parameters by means of machine learning
and can measure the error signal's power spectral density. The software is
built in a modular way, providing both a graphical user interface as well as a
Python scripting interface. It is based on the RedPitaya STEMLab platform but
may be ported to different systems.
