A method comprising: storing, by a computer system, speech data for a plurality of speakers, the speech data including a plurality of feature vectors and, for each feature vector, an associated sub- phonetic class; and building, by the computer system based on the speech data, an artificial neural network, ANN, for modeling speech of a target speaker in the plurality of speakers, the ANN being configured to discriminate between instances of sub-phonetic classes uttered by the target speaker and instances of sub-phonetic classes uttered by other speakers in the plurality of speakers, wherein building the ANN comprises: retrieving an existing ANN that comprises a plurality of existing output nodes, each existing output node corresponding to a sub-phonetic class and being configured to output a probability that a feature vector input to the existing ANN is an instance of the sub-phonetic class uttered by one of the other speakers in the plurality of speakers; and modifying the existing ANN to generate the ANN, wherein the modifying causes the ANN to include an output layer that comprises the plurality of existing output nodes and, for each existing output node, a new output node that corresponds to the sub-phonetic class of the existing output node, the new output node being configured to output a probability that a feature vector input to the ANN is an instance of the sub-phonetic class uttered by the target speaker. storing, by a computer system, speech data for a plurality of speakers, the speech data including a plurality of feature vectors and, for each feature vector, an associated sub- phonetic class; and building, by the computer system based on the speech data, an artificial neural network, ANN, for modeling speech of a target speaker in the plurality of speakers, the ANN being configured to discriminate between instances of sub-phonetic classes uttered by the target speaker and instances of sub-phonetic classes uttered by other speakers in the plurality of speakers, wherein building the ANN comprises: retrieving an existing ANN that comprises a plurality of existing output nodes, each existing output node corresponding to a sub-phonetic class and being configured to output a probability that a feature vector input to the existing ANN is an instance of the sub-phonetic class uttered by one of the other speakers in the plurality of speakers; and modifying the existing ANN to generate the ANN, wherein the modifying causes the ANN to include an output layer that comprises the plurality of existing output nodes and, for each existing output node, a new output node that corresponds to the sub-phonetic class of the existing output node, the new output node being configured to output a probability that a feature vector input to the ANN is an instance of the sub-phonetic class uttered by the target speaker. retrieving an existing ANN that comprises a plurality of existing output nodes, each existing output node corresponding to a sub-phonetic class and being configured to output a probability that a feature vector input to the existing ANN is an instance of the sub-phonetic class uttered by one of the other speakers in the plurality of speakers; and modifying the existing ANN to generate the ANN, wherein the modifying causes the ANN to include an output layer that comprises the plurality of existing output nodes and, for each existing output node, a new output node that corresponds to the sub-phonetic class of the existing output node, the new output node being configured to output a probability that a feature vector input to the ANN is an instance of the sub-phonetic class uttered by the target speaker.