講堂 | 譚旭:AI音樂(lè),技術(shù)與藝術(shù)的碰撞(2)
除了我們前面考慮的結(jié)構(gòu)信息以外,還有一個(gè)非常重要的信息就是曲式結(jié)構(gòu),這個(gè)對(duì)于生成一首完整的旋律非常重要。我們常見的曲式結(jié)構(gòu)有單一、單二、單三、回旋、變奏、奏鳴曲式以及流行音樂(lè)常見的主副歌結(jié)構(gòu),這些信息非常有助于音樂(lè)的生成。同時(shí)也需要考慮一首歌的情緒推動(dòng),起承轉(zhuǎn)合,比如下圖上這種經(jīng)典的穩(wěn)定開始、變化擴(kuò)張、緊張運(yùn)動(dòng)、穩(wěn)定結(jié)束的形式,還需要對(duì)旋律的情感、情緒做出理解。而這些知識(shí)都需要有對(duì)音樂(lè)的理解。
因此,我們開展了 MusicBERT 工作,利用大規(guī)模音樂(lè)數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,從而更好地理解音樂(lè),包括情感分類、流派分類、旋律伴奏抽取、結(jié)構(gòu)分析等。
為了能夠開展大規(guī)模的預(yù)訓(xùn)練,我們構(gòu)建了一個(gè)大規(guī)模的音樂(lè)數(shù)據(jù)集 MMD 包含150萬(wàn)首音樂(lè)數(shù)據(jù),比之前的音樂(lè)數(shù)據(jù)集大10倍。然后針對(duì)音樂(lè)理解任務(wù)我們提出了 OctupleMIDI 這種編碼方式,其中含有8種基本的 token,包括拍號(hào)、速度、小節(jié)、位置、樂(lè)器、音高、時(shí)長(zhǎng)、速度等。相比之前的 REMI、CP 等,編碼方式 OctupleMIDI 能極大地縮短音樂(lè)序列長(zhǎng)度,同時(shí)還可以容納足夠的音樂(lè)信息。更短的序列長(zhǎng)度可以使模型一次性處理更長(zhǎng)的音樂(lè)片段,從而提升模型對(duì)音樂(lè)的理解能力。
我們使用了 BERT 的 Masked Language Modeling 訓(xùn)練方式,采用了 bar-level 的掩碼策略,即一次性掩蓋一個(gè)小節(jié)內(nèi)相同類型的 token,以防止信息泄露。
MusicBERT 模型結(jié)構(gòu)采用了基本的 Transformer,同時(shí)在模型的輸入和輸出上針對(duì) OctupleMIDI 的編碼做了一些特殊的設(shè)計(jì)——輸入時(shí)將8個(gè) token 的 embedding 拼接后通過(guò)一個(gè)線性層映射到模型的隱層維度,在輸出時(shí)接8個(gè) softmax 矩陣分別預(yù)測(cè)相應(yīng)的 token。
MusicBERT 在三個(gè)下游任務(wù):Melody Completion、Accompaniment Completion 和 Genre Classification 上取得了 SOTA 的效果,遠(yuǎn)超以前的音樂(lè)理解模型。
伴奏編曲
在伴奏編曲的生成方面,我們進(jìn)行了 PopMAG 這個(gè)工作。PopMAG 處理的任務(wù)形式是給定主旋律和****進(jìn)而生成不同樂(lè)器的伴奏,包括鼓、貝斯、吉他、鍵盤、弦樂(lè)等。這其中的一個(gè)難點(diǎn)就是要保證多軌音樂(lè)的和諧。因此,我們提出了MuMIDI 的編碼方式,將多軌音樂(lè)編碼到一個(gè)序列里,使得多軌音樂(lè)生成變成了單個(gè)序列的生成,這樣自然地建模了不同軌音符之間的依賴關(guān)系。
我們?cè)谌齻€(gè)數(shù)據(jù)集上評(píng)估了 PopMAG 的伴奏生成效果,根據(jù)人的主觀評(píng)測(cè),生成的伴奏已經(jīng)比較接近真實(shí)的伴奏了。
歌曲合成
針對(duì)歌聲合成,我們做了 HiFiSinger 的工作。事實(shí)上,和說(shuō)話的聲音相比,歌聲需要更高的保真度來(lái)傳達(dá)表現(xiàn)力和情感。那么怎么實(shí)現(xiàn)高保真度呢?一個(gè)方面是提高聲音質(zhì)量,另一方面是提高聲音的采樣率。
之前的工作大都關(guān)注在提高聲音質(zhì)量,而我們考慮的是提高采樣率。我們知道人耳對(duì)頻率的感知范圍為20到20kHz,如果采用16kHz或者24kHz的采樣率的話,根據(jù)奈奎斯特-香農(nóng)采樣定理,它只能覆蓋8kHz或者12kHz的頻帶范圍,并不能很好地覆蓋人耳的聽覺范圍。因此我們將采樣率從24kHz升到48kHz來(lái)進(jìn)行建模。
整個(gè)歌聲合成的流程采用了聲學(xué)模型和聲碼器級(jí)聯(lián)的方式,如下圖(右)所示。但是升級(jí)到48kHz的采樣率有兩個(gè)挑戰(zhàn):1)48kHz在頻譜維度有更寬的頻譜,這給聲學(xué)模型的建模帶來(lái)了挑戰(zhàn);2)48kHz在時(shí)間維度上有更長(zhǎng)的語(yǔ)音采樣點(diǎn),這給聲碼器的建模帶來(lái)了挑戰(zhàn)。
所以,我們分別提出了針對(duì)聲學(xué)模型的 Sub-frequency GAN 和針對(duì)聲碼器的 Multi-length GAN來(lái)解決上述問(wèn)題。
實(shí)驗(yàn)結(jié)果顯示 HiFiSinger 相比之前的基線方法取得了明顯的音質(zhì)提升,表明了我們的方法對(duì)高采樣率建模的有效性。同時(shí)采用48kHz采樣率的 HiFiSinger 模型甚至超過(guò)了24kHz的錄音音質(zhì),也證明了高采樣率的優(yōu)勢(shì)。
以上就是我們?cè)?AI 音樂(lè)生成方面開展的一系列研究工作。目前 AI 音樂(lè)生成仍存在一些研究挑戰(zhàn),包括以下幾個(gè)方面:1)對(duì)音樂(lè)結(jié)構(gòu)的理解有助于音樂(lè)的生成以及編排;2)音樂(lè)的情感以及風(fēng)格的建模;3)交互式的音樂(lè)創(chuàng)作;4)對(duì)于生成音樂(lè)原創(chuàng)性的保證等。
微軟亞洲研究院機(jī)器學(xué)習(xí)組一直致力于 AI 音樂(lè)的研究,研究課題包括詞曲寫作、伴奏編曲、歌聲合成、音樂(lè)理解等。我們即將推出 AI 音樂(lè)開源項(xiàng)目 Muzic,涵蓋了我們?cè)?AI 音樂(lè)的一系列研究工作,敬請(qǐng)期待。
AI 音樂(lè)研究項(xiàng)目主頁(yè):
https://www.microsoft.com/en-us/research/project/ai-music/
Muzic 開源項(xiàng)目頁(yè)面(頁(yè)面將于近期公開):
https://github.com/microsoft/muzic
論文列表:
[1] SongMASS: Automatic Song Writing with Pre-training and Alignment Constraint, AAAI 2021, https://arxiv.org/pdf/2012.05168.pdf
[2] DeepRapper: Neural Rap Generation with Rhyme and Rhythm Modeling, ACL 2021, https://arxiv.org/pdf/2107.01875.pdf
[3] MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training, ACL 2021, https://arxiv.org/pdf/2106.05630.pdf
[4] PopMAG: Pop Music Accompaniment Generation, ACM MM 2020, https://arxiv.org/pdf/2008.07703.pdf
[5] HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis, arXiv 2021, https://arxiv.org/pdf/2009.01776.pdf
相關(guān)鏈接:
https://www.microsoft.com/en-us/research/project/ai-music/
https://www.bilibili.com/video/BV1Kg411G78m
https://github.com/microsoft/muzic
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。