iT邦幫忙

2021 iThome 鐵人賽

DAY 30
3
AI & Data

AI Voice Conversion系列 第 30

【Day30】回顧與完賽心得

  • 大家好,如果你是從第一天就開始看的人,我是真心非常感謝您的陪伴,陪我走過了這瘋狂的 30 天,想當初只是我實驗室同學慫恿我報名,而且還是在開賽前一天講的,最後還被他放鴿子(但我還是很感謝他讓我知道有這個比賽啦 XD,而且也很努力幫我按讚),中間經歷了產學進度壓力,實驗進度壓力,趕稿壓力,最後抵達終點我真的快在電腦桌前哭出來啦!不過在哭之前我們還是回顧一下這 30 天做了什麼,以及可以改進的地方。

回顧

  • 【Day1】準備出發
    1. 轉換聲音這件事並不是一件很有創意的事,在 2018 年的時候琴鳥這家公司就成功了
    2. 大綱,結果最後並沒有完全照著走 XD
  • 【Day2】聲音的一些基本介紹
    1. 介紹人聲怎麼來的
    2. 介紹 Sample Rate, 頻譜圖, 梅爾頻率
  • 【Day3】聲音的特徵提取
    1. 介紹梅爾倒頻譜, 梅爾倒頻譜係數, 過零率, 頻譜質心
  • 【Day4】音樂分類小實驗
    1. 使用資料集 GTZAN 實作一個音樂流派分類 model
  • 【Day5】從頻域到 wave 的轉換,淺談虛數可以拿來 Train Model 嗎?
    1. 談論虛數是否可以拿來 Train Model 這個問題當初困擾我很久
    2. 介紹 Griffin Lim 演算法,嘗試把頻域的訊號轉回 waveform
  • 【Day6】窗涵式,n_fft ,hop_length 到底什麼意思啊?
    1. 介紹窗涵式, n_fft , hop_length 這些常看到的參數意義
    2. 這是一個不太好的安排,應該再更早之前就先介紹的
  • 【Day7】Vocoder Model 以及 WaveNet 介紹
    1. 介紹 Vocoder Model
    2. 介紹 WaveNet (附有實作,因為不是焦點所以只有貼連結在上面)
  • 【Day8】用 MelGan 把 Mel 轉成 Waveform
    1. 介紹 MelGan
  • 【Day9】 Speaker Identification 介紹與 D_VECTOR 實做
    1. 介紹更從古至今的 Speaker Identification 方式
    2. 介紹與實作 D_VECTOR
  • 【Day10】聲音轉換概述 - 再次出發!
    1. 談論聲音轉換目的與碰到的困難
    2. 描述聲音資料集的之間的差異
    3. 嘗試用數學一點的方法描述聲音轉換這個問題
  • 【Day11】AutoVC 簡介
    1. 介紹 AutoVC 這個聲音轉換 model
  • 【Day12】AutoVC 實作 Pytorch 篇 - 1
    1. 介紹 AutoVC 官方作法,資料集處理的部分
  • 【Day13】 AutoVC 實作 Pytorch 篇 - 2
    1. 快速帶過 AutoVC 官方作法訓練與 model 製作以及最後生成的方法
  • 【Day14】Pytorch 轉 Tensorflow
    1. 分享從 Pytorch 到 Tensorflow 碰到的問題以及解決方法
    2. 以目前作產學案的經驗來談,我覺得這是一個非常實用的技能,它讓你可以更自由地享受兩種不同框架的好處
  • 【Day15】AutoVC 實作 - Tensorflow 篇
    1. 再固定資料集處理的部分,訓練與 model 製作全改成 Tensorflow 來作
    2. 我現在正在調查 dim_neck 這個參數造成的問題
  • 【Day16】音樂生成,我是要生成什麼?
    1. 討論音樂是否有限以及它們的套路
    2. 有想到單一個聲音轉換的主題在我沒把全部的框架都走過一遍的情況下(像我沒做 Star-Gan 那些的),我很難寫出 30 天的文章
    3. 我在音樂生成的時候有做過一些事,也是在那時候接觸了 Transfomer,想說趁這個機會再 Run 一次這個專題
  • 【Day17】音樂與自然語言處理的奇妙關聯
    1. 介紹 MIDI 這個音樂檔案格式
  • 【Day18】在 Python 裡頭利用 Mido 進行編曲
    1. 用 Mido 實作 "追追追" 鋼琴音並輸出成 MIDI 的檔案格式
  • 【Day19】用 4 種不同的 GAN 模型生成音樂簡介
    1. 簡介之後要來拿來作實驗的 4 種不同模型架構
    2. 介紹與前處理資料集
  • 【Day20】WavenetGan, BidirectionalLSTMGAN, WaveGan 鋼琴音樂生成
    1. 實作前 3 個 model 與訓練加上生成
  • 【Day21】Transformer 新手包 (一)
    1. 說明為什麼要做 Transformer
    2. 簡介 Seq2Seq 模型
    3. 介紹注意力機制與簡介自注意力機制
  • 【Day22】Transformer 新手包 (二)
    1. 介紹 Query,Key,Value
    2. 介紹 Multi-Head Attention
    3. 介紹 Positional Encoding
  • 【Day23】Transformer 新手包 (三)
    1. 實作 Positional Encoding
    2. 實作 Decoder 裏頭的 Mask
    3. 實作 attention
  • 【Day24】Transformer 實作包(一)
    1. 實作 Transformer Encoder 的部分
  • 【Day25】Transformer 實作包(二)
    1. 實作 Transformer Decoder 的部分
    2. 講一些 Transformer 的短處
  • 【Day26】 音樂如何引起人的情緒
    1. 簡單講一下音樂跟人的情緒反應
    2. 現在覺得這個部分放在這邊有點奇怪
  • 【Day27】音樂情緒與樂理
    1. 簡單說明音樂情緒模型
    2. 樂理的部分覺得還滿有趣的,如果要真得想跟 AI 一起創作的話,覺得這部分應該要學一下比較好
  • 【Day28】一些實用好工具 - 自製 Youtube-downloader
    1. 單純跟大家分享一些常拿來用的工具
  • 【Day29】漫談 AI 在音樂上其他的優秀作品
    1. 最近才發覺原來已經有超級高水平的 AI 音樂創作了
    2. "Compound Word Transformer" 這個西可以幫助我們做得更好,而且比較有機會弄出來
  • 【Day30】回顧與完賽心得
    1. 我們回顧完了,可以來聊聊心得了

心得

好了可以開始哭了 XD

  • 這是我第一次參加 IT 鐵人賽,總結一下覺得應該要在開賽前就先把 30 天的實驗跟文章 都規劃準備好再來比會比較舒服一點,這次能夠完賽也全要歸功於平常就有在 Hackmd 上做的筆記,但因為沒有做好文章的先後順序規劃,所以中間有一點跳 Tone,下次如有想跟大家分享的事會再改進

  • 雖然 IT 鐵人賽已經結束了,但要是文章有找到 BUG 還是會做更新,另外一開始放所有 Code 的 Repo 也還沒整理完,之後會陸續補齊

  • 最後非常感謝主辦單位舉辦這個比賽,還有耐心看完文章的你們,大家有緣再見!

/images/emoticon/emoticon09.gif/images/emoticon/emoticon13.gif/images/emoticon/emoticon14.gif/images/emoticon/emoticon22.gif/images/emoticon/emoticon28.gif


上一篇
【Day29】漫談 AI 在音樂上其他的優秀作品
系列文
AI Voice Conversion30

尚未有邦友留言

立即登入留言