Euphonic is a Python package that can efficiently calculate phonon bandstructures and inelastic neutron scattering intensities from a force constants matrix (e.g. from a .castep_bin file). Euphonic can also do simple plotting, and can plot dispersion and density of states from precalculated phonon frequencies (e.g. CASTEP .phonon).
For more information, see the docs.