A computing system, comprising: a feature extraction system configured to extract a set of training features from audio training data and generate pairs of feature vectors from a same audio source and pairs of feature vectors from different audio sources; and a neural network training system configured to receive the pairs of feature vectors and train a neural network by applying the pairs of feature vectors through a weight matrix, to an input node layer of the neural network, modify the weight matrix based on an objective function of network outputs that indicate whether the pairs of feature vectors are from the same audio source or different audio sources, and to extract weights from the weight matrix and provide the weights to an audio processing system; wherein the feature extraction system is configured to extract the pairs of feature vectors as feature vectors from speech of known speakers; the feature extraction system is configured to generate the pairs of feature vectors as pairs of feature vectors from the same speaker and pairs of feature vectors from different speakers; the input node layer of the neural network comprises: a first bottleneck layer having a set of nodes; and a second bottleneck layer having a set of nodes; the weight matrix ties weights on inputs to corresponding nodes of the first and second bottleneck layers together; and the neural network training system comprises: a training component that feeds the pairs of feature vectors into the neural network by feeding a first feature vector of each of the pairs of feature vectors through the weight matrix into the nodes of the first bottleneck layer and feeding a second feature vector of each of the pairs of feature vectors through the weight matrix into the nodes of the second bottleneck layer. a feature extraction system configured to extract a set of training features from audio training data and generate pairs of feature vectors from a same audio source and pairs of feature vectors from different audio sources; and a neural network training system configured to receive the pairs of feature vectors and train a neural network by applying the pairs of feature vectors through a weight matrix, to an input node layer of the neural network, modify the weight matrix based on an objective function of network outputs that indicate whether the pairs of feature vectors are from the same audio source or different audio sources, and to extract weights from the weight matrix and provide the weights to an audio processing system; wherein the feature extraction system is configured to extract the pairs of feature vectors as feature vectors from speech of known speakers; the feature extraction system is configured to generate the pairs of feature vectors as pairs of feature vectors from the same speaker and pairs of feature vectors from different speakers; the input node layer of the neural network comprises: a first bottleneck layer having a set of nodes; and a second bottleneck layer having a set of nodes; the weight matrix ties weights on inputs to corresponding nodes of the first and second bottleneck layers together; and the neural network training system comprises: a first bottleneck layer having a set of nodes; and a second bottleneck layer having a set of nodes; the weight matrix ties weights on inputs to corresponding nodes of the first and second bottleneck layers together; and the neural network training system comprises: a training component that feeds the pairs of feature vectors into the neural network by feeding a first feature vector of each of the pairs of feature vectors through the weight matrix into the nodes of the first bottleneck layer and feeding a second feature vector of each of the pairs of feature vectors through the weight matrix into the nodes of the second bottleneck layer.