And what software?
I do my work with recurrent neural networks, which are machine learning frameworks that can learn to imitate input datasets. Unlike traditional programming where a programmer figures out the rules and teaches them to the computer, with neural networks the programmer gives a dataset to the computer and tells it to figure out its own rules. The process is similar in many ways to how people learn - and the earliest neural networks were designed for studying the workings of biological brains.