擊上方關(guān)注,All in AI中國
通過試驗Tensorflow v2.0 Alpha,逐步生成鋼琴音樂“???”
大家好,在這篇文章中,我會分享給大家一些關(guān)于人工智能的實驗,教大家如何使用深度學(xué)習(xí)生成音符,與我之前關(guān)于生成歌詞的文章不同,這次我們將生成音樂筆記并生成文件(MIDI格式)。
音樂的主角是鋼琴。本文將在自我注意的幫助下,使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN),門控遞歸單元(GRU)的變體生成鋼琴音符。本文不僅將介紹如何生成筆記,還將介紹如何將其生成為正確的MIDI文件,可以在計算機中播放。
本文針對的是對AI感興趣的人,尤其是那些想要練習(xí)深度學(xué)習(xí)的人。我希望通過發(fā)表這篇文章來增加我的寫作技巧,并也對你的文章內(nèi)容產(chǎn)生幫助。
如果您想了解完整的源代碼,那么本文末尾有一個Github鏈接。現(xiàn)在,我將在存儲庫中提供python筆記本和Colaboratory鏈接。
這是開場音樂
聲音1:打開鋼琴
(該音樂是由我們將在本文中創(chuàng)建的模型生成的)
大綱
介紹
人工智能當前的熱門話題之一是如何僅使用數(shù)據(jù)(無監(jiān)督)來生成某些東西。在計算機視覺領(lǐng)域,有許多研究人員正在研究使用生成Advesarial網(wǎng)絡(luò)(GAN)生成圖像的一些先進技術(shù)。例如,NVIDIA使用GAN創(chuàng)建逼真的面部生成器。還有一些關(guān)于使用GAN生成音樂的研究。
如果我們談?wù)撘魳钒l(fā)生器的價值,它可以用來幫助音樂家創(chuàng)作他們的音樂。它可以增強人們的創(chuàng)造力。我想在未來,如果在這個領(lǐng)域有很多高度關(guān)注,大多數(shù)音樂家都會創(chuàng)作出由AI輔助的產(chǎn)生音樂。
本文將重點介紹如何通過在音樂中生成連續(xù)的音符來生成音樂。我們將知道如何預(yù)處理數(shù)據(jù)并將其轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)的輸入以生成音樂。
該實驗還將使用Tensorflow v2.0(仍處于alpha階段)作為深度學(xué)習(xí)框架。我想要展示的是通過遵循他們的一些最佳實踐來測試和使用Tensorflow v2.0。我在Tensorflow v2.0中喜歡的一個功能是它通過使用AutoGraph來加速模型的訓(xùn)練。它可以通過使用@tf.function定義我們的函數(shù)來使用。而且,再也沒有“tf.session”,也沒有全局初始化。這些特征是我從Tensorflow轉(zhuǎn)移到PyTorch的原因之一。 Tensorflow可用性可能對于我來說不太好。盡管如此,在我看來,Tensorflow v2.0改變了這一切并增加了它們的可用性,使得做一些實驗變得舒適。
該實驗還使用自我注意層。自我注意層將告訴我們,給定一個順序?qū)嵗ɡ缭谝魳饭P記“C D E F G”中),每個標記將了解對該標記的其他標記的影響程度。這是一些例子(對于NLP任務(wù)):
圖1:注意力的可視化
有關(guān)自我注意的更多信息,特別是有關(guān)transformer的信息,您可以閱讀這篇很棒的文章。
沒有任何進一步的問題,讓我們繼續(xù)生成音樂
技術(shù)與數(shù)據(jù)
這個實驗將使用:
對于數(shù)據(jù),我們使用來自Magenta的MAESTRO(MIDI和音頻編輯用于同步TRacks和組織)作為數(shù)據(jù)集。此數(shù)據(jù)集僅包含鋼琴樂器。我們將從大約1000個音樂中隨機抽取100個音樂,以加快我們的訓(xùn)練時間。
管道
以下是關(guān)于我們的音樂生成器如何工作的管道:
圖2:管道
我們將看到每個過程。為簡化起見,我們將每個流程劃分如下:
預(yù)處理MIDI文件
在討論如何預(yù)處理midi文件之前,我們需要知道m(xù)idi格式文件是什么。
從pcmag中,MIDI的定義為:
(樂器數(shù)字接口)樂器、合成器和計算機之間音樂信息交換的標準協(xié)議。MIDI的開發(fā)使一臺合成器的鍵盤可以播放另一臺合成器產(chǎn)生的音符。它為音符以及按鈕、撥盤和踏板的調(diào)整定義了代碼,MIDI控制消息可以編排一系列合成器,每個合成器都扮演樂譜的一部分。MIDI 1.0版于1983年引入。
總之,MIDI文件包含了一系列包含注釋的工具。例如鋼琴和吉他的組合,每種樂器通常有不同的音符。
對于預(yù)處理MIDI文件,有一些庫可以在Python中使用。其中一個是pretty_midi。它可以操作MIDI文件,還可以創(chuàng)建一個新文件。在本文中,我們將使用這個庫。
pretty_midi文件格式如下:
圖3:PrettyMidi格式
開始是第二個音符的開始。結(jié)束是一秒鐘內(nèi)演奏的音符的結(jié)束。一次可以有多個音符重疊。音高是演奏音符的MIDI數(shù)字。速度是發(fā)出音符的力。
MIDI數(shù)字與注名的關(guān)系參考如下圖:
圖4:Midi數(shù)字和注釋名稱
閱讀Midi文件
我們將批量讀取midi文件,這是我們使用pretty_midi讀取它的方式:
midi_pretty_format=pretty_midi.PrettyMIDI (“song.mid”)
我們將得到PrettyMidi對象。
對鋼琴卷軸陣列進行預(yù)處理
圖5:從pretty tymidi到Piano Roll Array
在本文中,我們需要從樂器中提取所有的音符。許多MIDI文件的音樂中有多種樂器。在我們的數(shù)據(jù)集中,MIDI文件只包含一種樂器,那就是鋼琴。我們將從鋼琴樂器中提取音符。為了更簡單,我們將提取所需幀每秒的音符。pretty_midi有一個方便的函數(shù)get_piano_roll來獲取二進制2D numpy中的音符。數(shù)組在(注釋、時間)維度數(shù)組中,音符長度為128,時間按照音樂的時長除以FPS。
我們怎么做的源代碼:
預(yù)處理到字典的時間和筆記
圖6:鋼琴卷軸數(shù)組到字典
在得到鋼琴卷軸的數(shù)組之后,我們將它們轉(zhuǎn)換成字典。字典將從音符播放的時間開始。例如,在上面的圖中,我們從28開始(如果我們轉(zhuǎn)換到秒,假設(shè)我們轉(zhuǎn)換到piano_roll的速度是5 fps,音樂開始播放的速度是5.6 s,我們可以用28除以5)。
創(chuàng)建字典之后,我們將把字典的值轉(zhuǎn)換為字符串。例如:
array([49,68])=> '49,68'
要做到這一點,我們應(yīng)該循環(huán)字典的所有鍵并改變它的值:
for key in dict_note: dict_note[key]=','.join(dict_note[key])
預(yù)處理要輸入的音符列表和神經(jīng)網(wǎng)絡(luò)的目標
圖7:字典來列出序列
當我們得到字典后,將它轉(zhuǎn)換成連續(xù)的筆記,這些筆記將被用來作為神經(jīng)網(wǎng)絡(luò)的輸入。然后我們得到下一個時間步長作為神經(jīng)網(wǎng)絡(luò)輸入的目標。
圖8:滑動窗口
在本文中,序列列表的長度為50。這意味著如果我們的fps是5,將得到一個包含10秒(50 / 5)游戲時間的序列。
列表中的“e”表示在這段時間內(nèi)沒有演奏音符。因為有時候每個音符之間會有一個跳躍或者沒有音符。在圖7中的示例中,我們可以看到從43跳到46。如果我們轉(zhuǎn)換這個序列,序列的列表將是:
[…'61,77', '61,77', 'e', 'e', '73',…]
我們怎么做呢?我們將用一批音樂來處理這個音符。
我們使用一個50長度的滑動窗口。對于音樂中的第一個音符,我們將在列表中添加“e”49次。然后將開始時間設(shè)置為字典中的第一個timestep。在圖7中的例子中,它是28。然后我們在音樂中添加第一個音符(在示例‘77’中)。
然后對于下一個實例,我們將窗口滑動1次,并向列表中添加48次“e”,并將timestep 28中播放的音符添加到列表中,將timestep 29中播放的音符添加到列表中,并重復(fù)操作,直到音樂結(jié)束。
在下一段音樂中,我們重復(fù)上面的過程。
這是源代碼:
創(chuàng)建注意分詞器
在我們深入研究神經(jīng)網(wǎng)絡(luò)之前,我們必須創(chuàng)建標記器以將順序音符更改為音符的順序索引。首先,我們應(yīng)該將音符映射到表示音符id的索引。
例如:
{ '61,77' : 1, # 61,77 will be identified as 1 'e' : 2, '73' : 3, . . }
如果我們之前的輸入如下:
[...,'61,77','61,77','e','e','73',......]
我們將其轉(zhuǎn)換為:
[... 1,1,2,2,3 ......]
這是我們的做法。
總結(jié)我們的預(yù)處理功能,以下是我們將使用的功能:
訓(xùn)練模型
在我們了解如何使用Tensorflow v2.0的新功能進行訓(xùn)練之前,我們將看到如下架構(gòu):
神經(jīng)網(wǎng)絡(luò)架構(gòu)
圖9:我們的神經(jīng)網(wǎng)絡(luò)架構(gòu)
因此,深度學(xué)習(xí)架構(gòu)將使用3層門控循環(huán)單元(GRU,一種回歸神經(jīng)網(wǎng)絡(luò)的變體)和一些自注意層。使用丟失使得神經(jīng)網(wǎng)絡(luò)不會過快地過度擬合。
對于Self Attention Layers,我們將使用此存儲庫并對其進行一些編輯,以便我們可以在Tensorflow v2.0上使用它。
因此,深度學(xué)習(xí)架構(gòu)將使用3層門控遞歸單元(GRU,遞歸神經(jīng)網(wǎng)絡(luò)的一種變體)和一些自我注意層。該方法采用了跳脫法,使神經(jīng)網(wǎng)絡(luò)不會快速過擬合。
對于Self - Attention層,我們將使用這個存儲庫并稍微編輯一下,以便在Tensorflow v2.0上使用它。
代碼:
訓(xùn)練
我們將通過迭代數(shù)據(jù)集中的多個音樂來更新模型的權(quán)重,并如上所述預(yù)處理數(shù)據(jù)。然后,以一批待輸入的實例和神經(jīng)網(wǎng)絡(luò)的目標為例。
我們將使用GradientTape來更新神經(jīng)網(wǎng)絡(luò)的權(quán)重。首先,我們使用apply_gradients計算損失并應(yīng)用反向傳播。如果您熟悉使用PyTorch,這就是Pytorch在訓(xùn)練其神經(jīng)網(wǎng)絡(luò)模型方面的工作方式。
務(wù)必在函數(shù)上使用@ tf.function。這會將功能轉(zhuǎn)換為簽名并使我們的訓(xùn)練更快。 tf.function的一個缺點是不能使用不同大小的批量作為神經(jīng)網(wǎng)絡(luò)的輸入。例如,我們的批量大小為64。如果數(shù)據(jù)集的大小為70,則最后一批將包含6個實例。這將使程序拋出異常,因為圖形將具有與初始圖形不同大小的輸入。也許它的工作原理是通過在使用函數(shù)時查看第一個輸入來創(chuàng)建占位符。
在本文中,我們將使用16 BATCH_SONG和96 BATCH_NNET_SIZE。這意味著我們將從所有音樂列表中獲取16個音樂,然后提取其序列。然后,對于神經(jīng)網(wǎng)絡(luò)中的每一步,我們從提取的序列實例中獲取96個序列作為神經(jīng)網(wǎng)絡(luò)的輸入和目標。
代碼如下:
推理和生成MIDI文件
圖10:推理和生成MIDI文件
使用我們訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型生成MIDI文件有兩種方法:
我們需要在開始時選擇:
圖11:關(guān)于生成器如何工作的可視化
在我們選擇音樂生成器的種子之后,使用我們訓(xùn)練的模型基于50個隨機音符預(yù)測下一個音符。我們使用預(yù)測值作為如何隨機選擇音符的概率分布,這樣做直到我們想要的指定的最大序列長度。然后我們放下前50個音符。
在我們生成音符列表序列之后,將其再次轉(zhuǎn)換為鋼琴卷軸陣列。然后將其轉(zhuǎn)換為PrettyMidi對象。
之后,我們調(diào)整音樂的速度和節(jié)奏,最后我們生成MIDI文件。
代碼 :
這是如何從生成的注釋中編寫midi文件:
結(jié)果
當我這樣做時,訓(xùn)練耗時1小時,持續(xù)1個 epoch。當我這樣做時,我決定進行4個 epoch(4個小時)的訓(xùn)練。
已經(jīng)訓(xùn)練了4個 epoch的模型,結(jié)果如下:
由于頭條號限制,只能發(fā)送一條音頻,故詳細資料請私信小編,回復(fù)“音樂”即可免費獲取。
(請注意,這些是從MIDI文件轉(zhuǎn)換而來的mp3文件。我使用在線轉(zhuǎn)換器來執(zhí)行此操作,這些注釋似乎有點遺漏。如果您想聽到,我會將原始MIDI上傳到存儲庫中。)
這些生成的筆記之間存在明顯差異。如果我們用一個音符生成它,它將在播放音符時節(jié)奏緩慢。它與我們從50個隨機音符生成它時不同。它沒有緩慢的開始。
這是在選擇以隨機50個音符開始的音樂的最后序列上的自我注意塊的可視化:
首先注意
圖12:第一次自我注意
第二個注意
圖13:第二次自我注意
正如您所看到的,第一個自我注意塊會學(xué)習(xí)在序列實例中為每個音符聚焦的音符。然而,在第二個關(guān)注區(qū)塊中沒有關(guān)注什么結(jié)果。我們還可以判斷,如果其他音符的位置離當前音符很遠,則它不會聚焦于它(圖像12和圖像13中的黑色)。
結(jié)論
我們使用包含鋼琴音樂的MAESTRO數(shù)據(jù)集構(gòu)建了一個生成音樂的工具。我們預(yù)處理它,訓(xùn)練我們的神經(jīng)網(wǎng)絡(luò)模型,然后用它生成音樂。音樂是MIDI格式。我們使用Tensorflow v2.0來完成它。我認為Tensorflow v2.0用戶體驗(UX)比以前的版本更好。
我們的模型產(chǎn)生的音樂也很連貫,很好聽。它可以調(diào)整播放音符的方式。例如:當發(fā)生器從音符(意味著它是音樂的開頭)時,它以慢節(jié)奏開始。
我們可以嘗試一些音樂生成器。在本文中,我們已經(jīng)嘗試生成單個儀器。如果音樂有多種樂器怎么辦?需要有一個更好的架構(gòu)來做到這一點。我們可以嘗試多種方法來試驗音樂數(shù)據(jù)。
后記
這就是關(guān)于生成鋼琴音樂筆記的文章。實際上,通過查看我的第一篇關(guān)于深度學(xué)習(xí)的文章,我得到了啟發(fā),這就是生成音樂的抒情效果。 “如何生成音符?”我做了一個試驗它很有效。
對我來說,試驗這個有一些困難。首先,我需要搜索易于預(yù)處理和輸入神經(jīng)網(wǎng)絡(luò)的文件格式。我發(fā)現(xiàn)MIDI很簡單,文件很小。然后,我需要知道是否有任何庫可以在Python中預(yù)處理文件。我找到了兩個,有music21和pretty_midi,他們的存儲庫沒有過時,我選擇pretty_midi。最后,我需要考慮如何預(yù)處理筆記。值得慶幸的是,pretty_midi有一個方便的函數(shù)get_piano_roll來使它更容易。
我還沒有讀過很多關(guān)于音樂的研究論文。也許有一些研究論文可以在Colaboratory中復(fù)制和顯示。
自我注意層缺乏可視化效果。
存儲庫:https://github.com/haryoa/note_music_generator
音樂格式從一種轉(zhuǎn)換為MP3是許多用戶常常需要的任務(wù),無論是為了什么原因。幸運的是,有許多優(yōu)秀的軟件工具可以幫助您完成這個任務(wù)。在本文中,我們將介紹幾款受歡迎的音樂格式轉(zhuǎn)換工具,以便您可以選擇最適合您的需求的一個。
1、風云音頻處理大師
推薦理由:廣泛支持多種文件格式,且轉(zhuǎn)換速度快。
轉(zhuǎn)換步驟:
-打開風云音頻處理大師,選擇文件轉(zhuǎn)換功能。
-點擊“文件選擇”以上傳音頻文件。
-選擇輸出格式為MP3。
-點擊“轉(zhuǎn)換”來開始轉(zhuǎn)換。
2、OnlineAudioConverter
推薦理由:用戶友好,支持多種不同的格式,可自定義輸出設(shè)置。
轉(zhuǎn)換步驟:
-打開OnlineAudioConverter網(wǎng)站。
-上傳您要轉(zhuǎn)換的音頻文件。
-選擇輸出格式為MP3。
-自定義音頻參數(shù)(可選)。
-點擊“轉(zhuǎn)換”按鈕開始轉(zhuǎn)換。
-下載轉(zhuǎn)換后的MP3文件。
3、FileZigZag
推薦理由:無需注冊,支持在線批量轉(zhuǎn)換,可將文件轉(zhuǎn)換為MP3或其他音頻格式。
轉(zhuǎn)換步驟:
-訪問FileZigZag。
-上傳您的音頻文件。
-選擇輸出格式為MP3。
-輸入您的電子郵件地址。
-點擊“轉(zhuǎn)換”。
這幾款軟件在音樂格式轉(zhuǎn)換方面都有其獨特的優(yōu)點,因此您可以根據(jù)您的具體需求和操作系統(tǒng)選擇其中一個。無論您是要將什么格式的音樂轉(zhuǎn)換為MP3,這些工具都能為您提供便捷的解決方案。
然現(xiàn)在的計算機硬件和軟件功能在日益強大和更加可靠,我們?nèi)匀粫龅皆S多令人受挫的問題,在用電腦創(chuàng)作音樂時遇到這些問題,夠讓人覺得掃興。
如果這算是一句安慰的話,那么就是,你遇到的問題,別人肯定也會遇到。如果一個同樣的問題總是出現(xiàn),我們就有必要將它們匯總一下。下面文章將向大家介紹入門選手用電腦制作音樂時最常見的16種問題和解決方法。
01. 我的音頻工作站上無法顯示音頻接口或MIDI界面
首先解決問題的方法是更新這些界面的驅(qū)動。最新的驅(qū)動一般來說可以在產(chǎn)品的官網(wǎng)中找到免費下載。如果不可行(或者如果找不到最新驅(qū)動提供下載),你需要選擇一些通用的替代驅(qū)動。
插一句,Mac沒有安裝驅(qū)動的必要,因為OS系統(tǒng)有對MIDI和音頻設(shè)備的內(nèi)置順從支持。然而,Windows系統(tǒng)沒有,所以推薦你使用ASIO4all,一種低延遲、能匹配許多界面的驅(qū)動。
另一種情況是驅(qū)動沖突。有時候一個驅(qū)動和另一個特定驅(qū)動不能夠同時工作,如果你在電腦上接入了太多來自同一制造商的一進一出MIDI界面的話,軟件可能無法區(qū)分它們。
那么IRQ沖突和損壞的PCI插槽呢?PCI聲卡會與你的電腦里的其他PCI設(shè)備沖突,導(dǎo)致問題。而關(guān)于損壞的插槽嘛,換一個插槽試試。
如果你用的是外接聲卡——很多人現(xiàn)在都這么做——你有沒有試過換一條連接線?也許只是線材壞了而已。
02. 將吉他直接接入電腦聽上去音質(zhì)糟糕
吉他是錄音時經(jīng)常使用的樂器,如果要將它接入電腦,音頻接口的阻抗要與電吉他相匹配。
這就是為什么很多聲卡的Input雖然都是line in,有的標注著吉他/樂器,有的卻標注著Mic。因此,你最好使用有專為樂器準備的接口的聲卡,或者使用一個DI盒來錄音。
現(xiàn)在還有iRig可以將吉他直接接上電腦,國內(nèi)市場也充斥著仿制品,不要嘗試那些仿制品,音色十分糟糕。
03. 我的錄音失真了/有爆音
在新手那里,最明顯和常見的問題就是錄音電平或增益的調(diào)整問題。你要確保在正式錄音之前用最不同力度演奏一下樂器或唱一段歌曲,眼睛盯著DAW的電平表,看有沒有過零,大部分聲音保持在0dB以下,最好在-3dB左右最好。
另外,有些樂器例如貝司、銅管在某些頻段(特別是低頻)也很容易失真或爆音,注意均衡的調(diào)節(jié)。
然后,檢查是否是你的音箱出了問題,音箱的高音頭如果有雜質(zhì),會產(chǎn)生不規(guī)則的爆音。
一些設(shè)備允許你在+4dBu或-10dBV模擬信號量中切換操作,所以確保選對了正確的信號量。一些調(diào)音臺或聲卡提供一個20dB 的緩沖平臺,能夠降低你輸入的過大的音頻信號。
最后,有的樂器動態(tài)范圍很大,有時候響度超大,有的時候又輕聲細語,而最響的部分很容易造成爆音。解決的辦法就是選擇24-bit的采樣率,給信號留夠足夠的空間,這樣不至于在調(diào)試最響的部分時,輕聲的部分被底噪吞噬掉。如果還不行,再試試在信號源外接硬件壓縮器或者限幅器。
04. 我的錄音波形中有奇怪的毛刺
首先,確保在錄音時整個錄音系統(tǒng)不要有不必要的進程或硬件在工作。同時,如果你在使用的外接設(shè)備上帶有數(shù)字輸出口,你最好將硬件和界面都同步到主時鐘生成器(Master Clock Generator)中,這是非常必要的。
同時,火線雜音的問題也能導(dǎo)致這樣的現(xiàn)象。所以,保險起見,需要將外接聲卡和界面接到一個獨立的火線總線上。
05. 麥克風沒有聲音
這個問題通常有三個原因。第一個是你的麥克風本身出了故障問題,還有可能是供電問題。一些電容麥是需要通過卡農(nóng)線和供電電源才能使用的。這叫做“幻象電力”,通常電壓為48V。當然,一些電容麥 (如 AKG's C1000)用的是電池供電。
第二個原因是聲卡的原因,聲卡接口間一般會有LINE/MIC切換的撥檔,確保選擇麥克風接入的正確接口。
最后一個原因是DAW里的輸入監(jiān)聽有沒有被打開,例如在Cubase里,它出現(xiàn)在音軌左邊,一個黃色的小喇叭圖標。或者是你的輸入映射沒有設(shè)置好,打開Preference調(diào)整一下,在Input里選中你在使用的輸入設(shè)備。
討論了聲卡驅(qū)動、麥克風失聲、錄音音質(zhì)差和爆音與錄音瑕疵的問題,接下來,我們主要來解決MIDI鍵盤的連接,系統(tǒng)延遲,進程遲緩與崩潰,以及插件與DAW兼容的幾個問題。
06. MIDI鍵盤接上電腦后沒聲音
首先觀察DAW里的MIDI Input有沒有信號?如果有,查看一下你要控制的音軌監(jiān)聽是否打開。并且確定該MIDI控制軌已經(jīng)置入軟音源。
如果MIDI Input沒有信號,也許是硬件本身的問題或是Perferences里的音頻輸入設(shè)備(Audio Input Device)和音頻輸出設(shè)備(Audio Output Device)映射不正確導(dǎo)致的問題。硬件本身的問題可以先更新最新版本的驅(qū)動,不過現(xiàn)在很多MIDI鍵盤都自帶驅(qū)動,并不用手動安裝。驅(qū)動問題排除后,可以更換連接線或換另外一臺MIDI鍵盤來測試到底是哪里出了問題。
07. 按下鍵盤后過一段時間才能聽到聲音
這種現(xiàn)象是延遲導(dǎo)致的。當你通過MIDI鍵盤向電腦發(fā)射信號時,電腦需要一個分析和計算的過程,然后在返送至音頻輸出以讓你聽到。這個過程是需要一定的時間的,為了讓這個時間盡可能短暫至按鍵的同時就能發(fā)聲,緩沖區(qū)(buffer)發(fā)揮了它的作用。過大的buffer意味著更明顯的延遲,但是爆音和CPU過載的可能性就更小。因此出現(xiàn)延遲的時候,首先要重新設(shè)置DAW或其他界面的buffer數(shù)值,使其在不產(chǎn)生爆音的前提下盡量最小。
劣質(zhì)的音頻接口也會導(dǎo)致延遲。確保你的DAW和其他操作界面都使用低延遲的驅(qū)動,例如ASIO, WDM或者CoreAudio。
還有一點要注意的是,可能你的MIDI軌里接入了一些會產(chǎn)生延遲的效果器,例如延遲、混響等等,或者是你的軟音源的啟音值(Attack)太大。所以也要檢查一下MIDI軌是否接入了多余或有問題的效果。
08. 為什么我的吉他/人聲在錄音和監(jiān)聽中有回聲
還是要重復(fù)上述的那個傻瓜的問題,是否你的聲軌里有延遲效果器?有的聲軌可能會自帶效果,你并沒有發(fā)現(xiàn)。如果是這樣的話,把效果器關(guān)掉即可。
如果沒有的話,那么還是和前面提到的問題一樣,是延遲導(dǎo)致的。所以我們也用同樣的解決方式——降低buffer的數(shù)值(操作方法可以參看相應(yīng)DAW或錄音界面的說明書)。如果還是不行,試試將音頻接口直接連接至監(jiān)聽(如果有這個功能的話),這種接法是零延遲的。
09. 明明是按照節(jié)拍演奏的,為什么錄下來拍子卻不準?
DAW有兩種錄音方式,一種是錄下你演奏的,另一種是錄下你聽見的。先說說后者吧。如果你已經(jīng)發(fā)現(xiàn)演奏和監(jiān)聽之間已經(jīng)有了小小的延遲,但是你忽略掉它,依然按照你認為準確的拍子去演奏的話,最后錄下來的結(jié)果還是拍子稍微有點慢的。同時這種監(jiān)聽的干擾也會讓你不知不覺節(jié)奏不穩(wěn),很可能節(jié)奏會有點搶。
而那些錄下你所演奏的DAW呢?為什么也會拍子不準呢?首先是因為監(jiān)聽的干擾使得你的演奏其實已經(jīng)不再準確,只不過是你自己沒有發(fā)覺,然后就是當你搶拍子時,DAW里的compensate/補償或quantize/量化功能會對你的節(jié)拍再次進行校準,有可能節(jié)奏變準了,也有可能更糟糕。
解決的辦法就是了解你的DAW是哪一種類型,調(diào)節(jié)buffer值后還不能解決,就用量化功能使節(jié)拍準確(注意量化的預(yù)設(shè))。
10. 進程遲緩或崩潰
這種問題有很多原因。首先可以檢查一下buffer值,正如上文提到的,過低的buffer值會讓CPU難以負荷。所以在錄音的時候,將buffer值設(shè)置得較低來避免延遲,等錄音結(jié)束開始縮混,你就可以將buffer值調(diào)得略高一些。
然后是簡化你的效果和音色插件,當你只是使用一個牛鈴音色的時候,就沒必要掛著一個合成器插件來使用其中的牛鈴音色了。那些不用的聲軌和效果器也及時清理掉,避免進程中有多余的占CPU內(nèi)存的東西。
如果你的確需要這些插件和效果器,在不編輯它們的時候也可以將其凍結(jié)。
另外,你還需要檢查一下是電腦硬盤的內(nèi)存是否太慢——太多的音軌和采樣會給硬盤很大的負擔。如果是這個原因,最好給每一軌單獨簡單混音,單存一個文件,然后在把這些整理過的音軌放到總工程中進行后期制作。
11. 插件顯示不了
插件和DAW一般都分為32位和64位的版本,因此要確保版本兼容。比方說,Logic Pro X提供的是64位的版本,就只能運行64位的插件。所以很多人升級版本后失望地發(fā)現(xiàn)有些插件使用不了,正是這個原因?qū)е碌摹:芏郉AW(例如Ableton Live和Cubase)都提供32位和64位的版本,你可以根據(jù)自己的插件來選擇使用哪個版本。還有值得慶幸的是,一些DAW擁有32位轉(zhuǎn)64位(反之亦然)的功能,叫做bit bridge,詳細你可以查看使用說明。
那么沒有bit bridge我們也可以下載一些轉(zhuǎn)換器來轉(zhuǎn)換,推薦轉(zhuǎn)換音頻文件的 32 Lives (soundradix.com) 和轉(zhuǎn)換VST的jBridge (jstuff.wordpress. com)。
另外你還要注意, AU-only的插件不能夠在VST-only 的DAW里顯示,無論你做怎樣的嘗試。
最后,如果新下載的插件無法顯示,你還可以讓DAW重新掃描一遍插件庫,進行對應(yīng),或者手動置入。
接下來主要解決的是工程里的音頻或采樣與工程間的關(guān)系問題。
12. 工程文件里的音頻/采樣不見了
出現(xiàn)這樣的問題,一般是因為你的音頻或采樣的文件被移動或重命名了。大多數(shù)DAW是不會將音頻文件同工程文件儲存在一起的,而是通過特定的路徑指向這些文件所在的硬盤位置。所以如果你移動了它們,或是重命名,軟件將無法找到和識別它們。當然,一些DAW也會提供自動續(xù)鏈的功能,自動嘗試定位正確的音頻文件地址。而有的DAW則需要手動指向。
另外,一些軟件會將工程中使用的音頻隨工程文件另存為一個整體的音頻文件,雖然這樣會占用很大的硬盤空間,但是能確保數(shù)據(jù)被儲存在工程當中。
總之,培養(yǎng)在每次新建工程前整理檔案的習(xí)慣是很重要的。新建一個文件夾,寫上“音頻庫”等字樣,然后在下面按時間或類別建一些文件夾,用來存放某個工程備用的音頻。這樣總比Vocal在一個你的SD卡里,Guitar在你的桌面上好很多吧。除此之外,一些DAW擁有“收集”功能,可以將與特定文件相關(guān)聯(lián)的音頻收集整理,拷貝到一個共同的文件夾中。
13. 導(dǎo)入工程的采樣/錄音音高或速度不對
聲音錄制和儲存的時候都有特定的采樣率。舉個例子,通常音頻的采樣率為44.1kHz(用于CD),而世界通用的視頻收聲采樣率為48kHz。一些工程師喜歡更高的采樣率,例如96kHz或甚至是192kHz。所以如果你用錯誤的采樣率回放這些錄音,自然音高和速度就會不對勁。
每次導(dǎo)入采樣的時候都搞清楚采樣率是否和工程文件匹配。當然,一些DAW遇到采樣率不符的情況會自動提醒
14. 錄音里的音頭不見了,或不明顯
一些DAW在導(dǎo)入音頻時會在音頻的最前端做淡入處理,以此渲染過渡效果或防止爆音。這會讓你錄制的底鼓或軍鼓失去音頭與爆發(fā)力。解決辦法很簡單,移除淡入效果即可。或者為長遠計,在DAW的偏好中將此功能關(guān)閉。
15. 兩個DAW里的聲音聽起來不一樣
雖然網(wǎng)絡(luò)上有很多關(guān)于哪個DAW比較好的爭論,但是實際上,所有的現(xiàn)代DAW在進行基本的音頻播放、錄音時,音質(zhì)是一樣的。然而,某些設(shè)置或特點的確會給你的音頻帶來負面的影響——本文中提到的很多問題就是例子。
你的DAW在導(dǎo)入音頻文件時會將音頻與工程的速度進行自動匹配嗎?有的DAW就是這樣的,例如Ableton Live。對于工作流程來講,這的確是個好功能。但是它會降低素材的保真度。所以如果你不需要,關(guān)掉它。
還有一種可能是DAW里的模板工程自帶了一些效果器,例如壓縮、均衡等等,也許是你一開始在“新建”工程時沒注意,選擇了模板工程。
檢查完效果器,我們再確認一下聲向還有音量、立體聲、單聲道、比特率、文件格式(MP3還是WAV)等等這些數(shù)值的設(shè)定是否有問題。因為他們對聲音區(qū)別度的影響也很大。
16. 彈奏MIDI鍵盤時,鬧鬼似地自動變化起來
當你彈奏MIDI鍵盤時,明明一直用同樣的方法按同一個鍵或同一個和弦,但是聲音出來的卻不一樣,可以是規(guī)律的變化,也可以是不規(guī)律的,音色、音高都有可能。這種情況一般是因為軟體合成器或MIDI鍵盤里的某些自動變化功能被打開了,例如音序器、低頻振蕩器等等。解決的辦法很多,關(guān)鍵要找出問題所在。所以先從這個思路入手,找到在變化的程序或控制,關(guān)閉即可。