A computer-implemented method for training, on a server, a neural network for sound enhancement having a plurality of layers, where each layer is associated with an initial activation function, the method comprising: obtaining a training dataset comprising a plurality of tuples, each tuple comprising a conditioning vector for influencing the output of a neural network and input data, to be processed by the neural network, wherein the input data of each tuple of the training dataset comprises at least one audio noise sample and at least one clean audio sample that each contain speech of individual speakers, and wherein the conditioning vector is a speaker embedding vector for each individual speaker, the speaker embedding vector representing a speech profile of the individual speaker; and training the neural network by: applying the conditioning vector of each tuple to the initial activation function of at least one layer by modifying weights of the initial activation function using the conditioning vector, wherein each weight of the initial activation function corresponds to a coefficient of a basic activation function, to thereby generate a conditioned activation function for the at least one layer, wherein the conditioned activation function corresponds to a weighted combination of a set of basic activation functions; and processing the input data of each tuple using the plurality of layers of the neural network, including the at least one layer having a conditioned activation function, to generate output data. obtaining a training dataset comprising a plurality of tuples, each tuple comprising a conditioning vector for influencing the output of a neural network and input data, to be processed by the neural network, wherein the input data of each tuple of the training dataset comprises at least one audio noise sample and at least one clean audio sample that each contain speech of individual speakers, and wherein the conditioning vector is a speaker embedding vector for each individual speaker, the speaker embedding vector representing a speech profile of the individual speaker; and training the neural network by: applying the conditioning vector of each tuple to the initial activation function of at least one layer by modifying weights of the initial activation function using the conditioning vector, wherein each weight of the initial activation function corresponds to a coefficient of a basic activation function, to thereby generate a conditioned activation function for the at least one layer, wherein the conditioned activation function corresponds to a weighted combination of a set of basic activation functions; and processing the input data of each tuple using the plurality of layers of the neural network, including the at least one layer having a conditioned activation function, to generate output data. applying the conditioning vector of each tuple to the initial activation function of at least one layer by modifying weights of the initial activation function using the conditioning vector, wherein each weight of the initial activation function corresponds to a coefficient of a basic activation function, to thereby generate a conditioned activation function for the at least one layer, wherein the conditioned activation function corresponds to a weighted combination of a set of basic activation functions; and processing the input data of each tuple using the plurality of layers of the neural network, including the at least one layer having a conditioned activation function, to generate output data.