、建立站點后,在文件夾上右鍵新建一個文件,改名為音樂制作網頁,然后雙擊進入網頁,首先,插入表格,17行,2列,表格寬度和表格粗細都為0,確定。選中表格,下邊的對齊方式為,居中對齊
2、選中第一個格,按住Ctrl鍵再選中第二個格,右鍵,表格,合并單元格,點擊插入,圖像,選擇建的站點下的素材,確定
3、用剛才的方法合并第二行單元格,填寫導航欄文字,選擇拆分,找到對應代碼位置,填寫空格代碼 在文字前后都添加空格,使導航欄文字間隙均勻,下邊背景顏色改為紫色
4、編寫下一行文字,背景顏色為綠色,金曲列表文字,下邊,HTML,格式為標題5,歌曲下載文字,下邊,HTML,格式為標題3,找到代碼中金曲列表文字對應位置,添加空格代碼
5、在歌曲下載文字后面插入,圖像,選擇下載圖標圖片,點擊圖片,選擇連接指向你的歌曲MP3文件
6、在每個格中加入歌名,每個都要插入,布局對象,Div標簽,然后添加歌曲名稱
7、右半部分,前兩行合并,插入布局對象,添加文字那女孩對我說,HTML格式改為標題2,然后將下邊剩余所有行合并,插入布局,添加歌詞
8、選擇歌詞,將HTML的格式改為標題5
9、點擊代碼,找到歌詞位置,復制空格,在每一行歌詞前面招貼空格,刷新一下,使歌詞居中一些
10、按F12預覽
小伙伴們,有沒有看懂呢,看不懂可以去看視頻呦!
擊上方關注,All in AI 中國
披頭士是一個巨大的文化現象。他們永恒的音樂至今仍與人們產生共鳴,無論是年輕人還是老年人。就我個人而言,我是他們的超級粉絲。依我拙見,他們是很棒的搖滾樂隊。他們的歌曲充滿了有趣的歌詞和深刻的思想。例如:
然而,披頭士樂隊之所以偉大,是因為他們多才多藝。他們的一些歌曲深沉而有思想,而另一些則有趣而輕松。毫無疑問,貫穿他們歌詞的最大主題是愛。這里有這樣一句詞:
事實上,這些歌詞并不是你所知道的披頭士寫的。不是約翰·列儂、 保羅·麥卡特尼、喬治·哈里森、甚至也不是林戈·斯塔爾。它們實際上是由機器學習模型生成的,即OpenAI的GPT-2。盡管這使用了他們最小的模型,結果卻相當驚人。
但在我們過于超前之前,讓我們后退一步,看看這一切是如何運作的。和往常一樣,我的Github上有完整的可用代碼。GitHub - EugenHotaj/beatles: Automatic Beatles lyrics generation.
語言模型試圖學習語言的結構(例如英語或披頭士的歌詞)。它們是使用監督學習訓練的生成模型。與其他監督學習任務一樣,語言模型試圖預測給定某些特征的標簽。然而,與大多數有監督的學習任務不同,它沒有明確的標簽,而是語言本身就具有一定的特征和標簽。
在更高的層次上,語言模型所要做的是根據前面的單詞序列預測下一個單詞。例如,一個好的語言模型可以預測"milk"是"to buy a gallon of ____."這一短語的邏輯結論。
通過猜測下一個出現的單詞,我們真正要做的是學習一個基于我們目前所見詞語的詞匯概率分布。也就是說,我們想要學習
其中w_i是我們詞匯表中的單詞。
因為我們明確地為這個分布建模,我們可以用它做一些很酷的事情,比如用它生成我們以前沒有見過的單詞。我們可以做到這一點的方法是從這個分布中反復采樣下一個單詞,然后當我們采樣下一個單詞時,用它作為條件,以此類推。為了讓它更加具體,讓我們看看這在Python中可能是什么樣子。如果我們有一個帶有樣本方法的模型對象,那么我們可以通過這樣做來生成新的樣本:
如何從語言模型中生成句子。
當然,我跳過了一些細節,但希望隨著時間的推移,這些會變得更加清晰。現在,讓我們看一下世界上最簡單的語言模型unigram。
unigram模型忽略任何條件,只是從訓練數據中隨機選擇一個單詞。這相當于把我們的訓練數據扔進攪拌機,攪拌10分鐘后就把里面的內容倒出來。有人說,我們不會創造出任何類似英語的東西(當然,除非我們有足夠的機會和條件)。「鏈接」
在一元模型之上的一個步驟是二元模型。正如你可能從名稱中猜到的那樣,bigram模型學習的分布僅受前一個單詞的限制,即
由于bigram模型非常簡單,所以很容易在Python中實現,這將使我們更深入地理解語言模型的工作原理。
在開始實現之前,我們首先需要一些數據。我們的最終目標是創作出讓披頭士引以為豪的歌曲,所以讓我們從收集他們所有已知的歌詞開始。
我發現這個網站收錄了他們曾經發行的每首歌的歌詞。它還有一個有用的索引頁,其中有指向各個歌曲的鏈接,我們可以用它來抓取網站。我編寫了一個簡單的腳本來方便瀏覽歌曲,解析其HTML以提取歌詞,并將歌詞轉儲到一個文件中,每行一首歌曲。如果你打算跟著做,或者你自己只想要披頭士的歌詞,我強烈建議你使用它,因為抓取HTML是非常繁瑣的,即使使用像Beautiful Soup這樣的工具。
一旦我們有了一個漂亮的、干凈的格式的數據,剩下的就很簡單了。但不要只相信我的話,從這張圖表中可以看出:
數據清理和組織占了數據科學項目的最大一塊。
如上所述,bigram模型只是根據前一個單詞對下一個單詞進行采樣。我們可以做到這一點的一個簡單方法是跟蹤當前單詞后面的單詞,以及它們的出現頻率。也就是說,我們在訓練數據中為每個單詞current_word保存一個字典,然后每次看到一個next_word,我們就更新current_word[next_word] +=1。然后,為了生成單詞,我們只需在current_word字典中查找所有單詞和計數,并對一個與計數成正比的單詞進行采樣。 這是一個完整模型在Python中的樣子:
bigram語言模型的草圖。
最后要注意的是,我們可能想通過添加一些特殊的標記來對歌詞進行預處理,以表示行和歌曲的開始/結束。這是為了迫使我們的模型在生成新歌詞時維護一些歌曲結構,否則模型只會吐出大量沒有結尾的文本。在我的代碼中,我使用XXSL、XXEL、XXSS和XXES分別表示起始行,結束行,開始歌曲和結束歌曲。
最后,要生成歌曲,我們可以從XXSS令牌開始,并一直調用model.predict(),直到遇到XXES令牌為止。
使用bigram模型生成一首歌。
從理論上講,一旦循環停止,我們將產生一首從未見過的披頭士歌曲。但這有什么好處嗎?
下面是bigram模型生成的歌曲的一小段:
生成的樣本似乎不是很契合實際,但只有感同身受的人才覺得有意義。
我們可以繼續擴展bigram模型來考慮前面兩個單詞。這就是所謂的 trigram模型。你可能會發現, trigram模型實際上可以產生更好的歌詞。這是因為三個單詞組合較少,因此模型在每個步驟中的選擇較少,而在某些步驟中它只有一個選擇。通常,我們可以通過考慮前面的n個單詞來創建一個任意的n-gram模型。當n等于整首歌的長度時,你可能會發現這個模型在生成披頭士的歌曲方面是完美的。不幸的是,它生成的歌曲已經存在。
bigram模型最突出的問題之一是,它只使用在訓練數據中看到的單詞和短語。雖然我們想要創作出聽起來像披頭士樂隊寫的歌詞,但我們不想只局限于他們使用的詞。例如,如果披頭士從未使用過單詞"parade",那么bigram模型將不會生成任何關于"parade"的歌曲。當然,由于我們只是在訓練披頭士的歌詞,我們不可能指望我們的模型使用從未見過的單詞。我們需要的是對大量的語料庫進行訓練,比如維基百科或Reddit。
然而,即使我們對所有的維基百科都進行了訓練,并且看到了英語中的每一個單詞,我們的bigram模型仍然過于死板。例如,以短語"高個的男人"為例。每個對英語有基本了解的人都會認識到,"tall"只是"man"的修飾語,與之無關。相反,"tall"可以用來修飾無數的其他事物,比如"woman"、"boy"、"building"、"giraffe"等等。然而,我們的bigram模型不能學習這個,它必須在使用"tall"之前至少看到一次"tall"的用法。所以如果模型只看到過"高個男人"、"高個男孩"、"高個女人",而沒有看到過"高個女孩",那么就連"高個女孩"這個詞都不存在。
因此,我們想要的是一個擁有更豐富的詞匯量和更深入理解詞匯中詞匯之間關系的模型。幸運的是,聰明的研究人員已經發明了如此強大的模型,我們可以用它們來創作更好的歌曲。
OpenAI的GPT-2模型,最近因為"太危險而不能發布"而成為頭條新聞。"模型生成這樣的令人信服的文本,作者認為這可能是用于惡意用途。相反,他們發布了兩個更小的版本供人們玩耍和實驗。我們將使用其中最小的一個來生成披頭士的歌詞。
GPT-2是一個基于transformer的模型。在訓練期間,它能夠學習一個非常好的英語模型(或者至少是Reddit上使用的英語版本)。這意味著它能夠理解像"高"這樣的東西,它可以適用于人類、建筑物或長頸鹿。此外,由于它在Reddit上的訓練占很大一部分,它很可能看到了99.9%的英語單詞和短語。這對我們來說是個好消息,因為這正是我們一直在尋找的:一個龐大的詞匯表和對如何使用這個詞匯的深刻理解。
然而,如果我們打開這個模型,讓它生成一些東西,它幾乎不可能產生類似披頭士的歌詞。這是因為模型不知道我們所傾向的是生成披頭士的歌詞,畢竟這不是它被訓的方向。相反,我們需要推動模型去做我們想讓它做的事情。我們可以通過遷移學習來做到這一點。
遷移學習是指我們可以通過做一件事來利用我們所學到的信息,并將其應用于解決相關的問題。例如,當你開始閱讀這篇文章時,你不需要重新學習單詞是什么,哪些單詞跟在哪些單詞后面,或者它們是如何組合成句子的。想象一下那將是多么乏味。相反,你利用了所有閱讀的文學書籍的時間來理解我現在所談論的內容(我想 Huck Fin畢竟派上了用場)。
以類似的方式,我們可以利用GPT-2通過閱讀Reddit上數百小時的帖子所學到的知識,并將其遷移到生成披頭士歌詞的任務中。高層次的想法是采用預先訓練的模型,并將其訓練更長時間。不過,我們將只使用披頭士的歌詞,而不是Reddit上的帖子。這將使模型嚴重偏向于生成類似披頭士的歌曲。
我將跳過如何做這個,因為它將采取另一個類似長度的帖子來解釋一切。
就像所有優秀的深度學習成果一樣,我在引言中發布的歌詞也是精心挑選的。生成的歌曲并不都是那么的好,它們的質量取決于微調階段的位置。當模型仍然嚴重不適合訓練數據時,對大約100個小批量進行微調后,你可能會得到以下結果:
這樣再寫10-15行。至少比Lil'Pump還要好。
說正經的,我最感興趣的是前兩行。在訓練數據中,每首歌的開頭第一行是標題,第二行是作者,下面幾行是歌詞。即使在這個早期階段,該模型也設法了解了我們數據的結構:第一行和第二行是特殊的;在第二行中,可能出現的單詞組合很少,最有可能出現的是列儂和麥卡特尼。
如果我們微調約350個小批量,模型開始產生更可信的歌詞,如在介紹,或這一個:
不完美,但還不錯。最后,如果我們進行太長時間的微調,會發生以下情況:
模型開始過度擬合,生成的樣本很可能出現在訓練數據中,如重復的"列儂&麥卡特尼"臺詞、"黃色潛水艇"等。我發現大約300-500步的微調能產生最好的歌詞。
希望你現在對語言模型的工作原理有了更好的了解,并且了解我們如何利用最先進的模型來盡力的改進后續任務。
話雖如此,GPT-2模型還有很多值得探索的地方。我生成的示例使用默認的suboptimal hyperparameters。如果把更多的時間花在正確的微調上,看看生成的歌詞能有多好會很有趣。我也只使用了發布的最小型號,因為我是用筆記本電腦訓練的。我相信更大的模型會產生更美好的結果。最后,OpenAI最近發布了MuseNet,它能夠生成非常逼真的音樂。如果將GPT-2和MuseNet放在一起(它們基本上是相同的模型),并生成歌詞和伴奏音樂,那該有多棒?如果我有更多的時間、金錢,或者對我正在做的事情有任何想法,我愿意用機器學習來創作一首成熟的歌曲,然后讓真正有天賦的人來表演。
音胖胖胖創作的原聲是什么歌?相信很多小伙伴在玩抖音的時候都發現很多抖友的唱歌能力是真的非常棒啊。尤其是一個叫胖胖胖的抖友,他的聲音和他的相貌完全不符啊~!他最近最新唱的一首歌非常好聽,小編找了很久才知道這首叫《體面》。
抖音胖胖胖創作的原聲是什么歌
相信很多小伙伴都知道這個胖胖的大叔吧~雖然長相很大叔,但是聲音真的是非常的溫柔啊,不認識的估計以為是女生或者小孩吧~!很多小伙伴都不知道他唱的歌叫什么。小編來告訴你們,這首歌叫《體面》,這首歌最近非常的火爆,是電影《前任3》的插曲,也是又女主于文文演唱的。這首歌最近也在小編的朋友圈刷爆了。非常催淚的一首歌。
試聽地址:https://y.qq.com/n/yqq/song/000Md1wq0vnwzE.html
歌詞欣賞
體面 (《前任3:再見前任》電影插曲) - 于文文
詞:唐恬
曲:于文文
編曲:鄭楠
和聲/和聲設計:于文文
別堆砌懷念讓劇情
變得狗血
深愛了多年又何必
毀了經典
都已成年不拖不欠
浪費時間是我情愿
像謝幕的演員
眼看著燈光熄滅
來不及
再轟轟烈烈
就保留
告別的尊嚴
我愛你不后悔
也尊重故事結尾
分手應該體面
誰都不要說抱歉
何來虧欠
我敢給就敢心碎
鏡頭前面是從前的我們
在喝彩
流著淚聲嘶力竭
離開也很體面
才沒辜負這些年
愛得熱烈
認真付出的畫面
別讓執念
毀掉了昨天
我愛過你
利落干脆
最熟悉的街主角卻
換了人演
我哭到哽咽心再痛
就當破繭
再見
不負遇見
*請認真填寫需求信息,我們會在24小時內與您取得聯系。