Pitch correction of human singing voice using neural networks
Vilkman, Antti (2020)
Kandidaatintyö
Vilkman, Antti
2020
School of Engineering Science, Laskennallinen tekniikka
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2020060139908
https://urn.fi/URN:NBN:fi-fe2020060139908
Tiivistelmä
Pitch correction of vocals is an integral part of music production, and while there are automatic methods for the process, they tend to produce a recognizable sound and their usage can be clearly heard in the final audio. To preserve the natural nuances and expressive elements of human singing, the pitch correction usually needs to be done manually, which is time consuming work. Finding an automatic solution that fixes the out-of-tune sections in the vocal without affecting the natural qualities of the voice using a simple convolutional neural networks was the aim of this thesis. A dataset consisting of recorded vocals and synthesized out-of-tune versions of these recordings was used for the training of the model. The out-of-tune versions were created by applying random pitch shifts to the original recordings. The used model achieved similar levels of accuracy for the training, validation and test data sets. While capable of making correct predictions for some of the input data, overall the accuracy of the model wasn't high enough to use for the task. Using more data and gathering a non-synthetic dataset could help to improve the performance while retaining the simple structure of the used neural network. Laulun vireenkorjaus on olennainen osa nykypäivän musiikin tuotantoa, ja vaikka siihen on olemassa automaattisia ratkaisuja, niiden tuottama äänijälki on selkeästi tunnistettavissa lopputuloksesta. Laulun sisältämien luonnollisten nuanssien ja ilmaisullisten elementtien säilyttämiseksi virettä on usein korjattava manuaalisesti. Tämän työn tavoitteena oli kehittää automaattinen järjestelmä, joka korjaa epävireiset kohdat laulussa vaikuttamatta sen luonnollisiin ominaisuuksiin, käyttämällä konvoluutioneuroverkkoja. Opetusdatana käytettiin nauhoitettuja lauluja ja niistä syntettisesti luotuja epävireisiä versioita. Epävireset versiot luotiin tekemällä alkuperäisten nauhoitteiden vireisiin satunnaisia muutoksia. Käytetty malli saavutti samantasoiset tarkkuudet koulutus-, validaatio- ja testidatalle. Vaikka osa mallin syötteille antamista ennustuksista oli oikeanlaisia, kaikenkaikkiaan mallin tarkkuus ei ollut riittävän korkea tehtävään. Suuremman datamäärän ja ei-synteettisen datajoukon kerääminen voisi parantaa suorituskykyä säilyttäen käytetyn neuroverkon yksinkertaisen rakenteen.