According to my knowledge , Set your data (voice ) in to training and testing measures using sklearn library then create dummy variable to convert your voice into machine readable mode.
I dont know about any ready made tool to do this like Cortana. But if you can generate a good labeled data set of your voice you can train that with scikitlearn or tenser flow for speech recognition. There are some other tools specially for Speech recognition like CMUSphinx and KaldASR .