關於數位(DSP)效果器實作 及升學疑問

本文由 JoiUhRnG2011-05-28 發表於 "閒談當代、聊天" 討論區

  1. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    我是台灣科技大學電子系的學生
    畢業專題我想用數位訊號處理(DSP)為基礎,做出樂器的效果器
    我問過一位在音訊領域擅長的教授,他直接問我有沒有演算法、Code
    我說沒有,之後就不了了之

    後來我再請教另外一位台大畢業的教授(非擅長數位訊號、音訊領域),
    一開始他說:他聽到我想做一個能在人類耳朵聽不到延遲的時間做出,及時處理做出音效的實作
    他聽到就覺得有點困難
    我跟他說過我去找那位教授的情況,之後他建議我上網找資料看看有沒有演算法,或是相關的解決方法

    因為我沒有錢買電吉他,沒辦法玩效果器
    所以還沒拿定主意想要做什麼音效

    我上網有找到一篇文章,他說分為五種基本效果
    實際上從聲學原理考慮,一共只有五種基本效果:<?XML:NAMESPACE PREFIX = O /><O:p></O:p>
    (1)延時/延遲類(包括延時、延遲、混響、殘響等),<O:p></O:p>
    <O:p></O:p>
    (2)壓縮類(包括雜訊門、等化器等),<O:p></O:p>
    <O:p></O:p>
    (3)失真類(包括各種失真、金屬、“髒”效果器等),<O:p></O:p>
    <O:p></O:p>
    (4)合唱類(包括身歷聲、鑲邊、八度器等),<O:p></O:p>
    <O:p></O:p>
    (5)濾波器(包括哇音、相位等)。
    http://gotome.com.tw/biancheng/2011-03-18/852.html<O:p></O:p>

    請問以上哪個基本效果可以比較容易實現?


    請問有沒有人能推薦我相關網站,或是資源、Paper?
    或是能建議我搜尋相關的關鍵字?
    我想上網google盲目地搜尋,找不到些什麼東西...

    希望各位能不吝嗇的給我相關意見



    另外有人知道 交大的 聲音與音樂創意科技碩士學位學程,實際上他們在學些什麼東西?
    或是有沒有人認識在那邊讀過這個學成研究所畢業的學生?
     
  2. Jam

    Jam Member

    註冊日期:
    2002-03-07
    文章:
    148
    讚:
    8
  3. Mr72

    Mr72 Well-Known Member

    註冊日期:
    2001-09-07
    文章:
    2,034
    讚:
    106
    多數人耳聽得到的"延遲" latency .. 來自A/D & D/A 的interleaving
    只要處理晶片不要太弱
    DSP processing 的軟體演算其實可以不太影響"延遲"的數據

    DSP 的algorithm coding 好壞評價 常來自 user interface 的設計
    我想你要評估自己的強項 去選主題
    btw...
    Coding DSP 不一定要有樂器.. 用audio clips 就OK了...
    C+++ 要懂一點
    但D/A 跟喇叭 或是必須的
     
  4. CarpeDiem

    CarpeDiem New Member

    註冊日期:
    2010-06-21
    文章:
    17
    讚:
    2
    交大的 聲音與音樂創意科技碩士學位學程

    有分甲乙組,甲組就像音樂班那樣,乙組雖然是做電聲方面的,不過
    可能不是你說的那種!

    可以找一下電信或通訊方面的系所
    (是指訊號處理方面的,並不是類比RF/被動電路那種,有可能分在
    電子電機裡面),也有可能分在資工系~ARM之類的!

    ps.基本上聲音與音樂創意科技碩士學位學程的
    重心好像比較偏向乙組,看甲乙組老師的比重就知道了!
     
    Last edited: 2011-05-28
  5. emperorof420

    emperorof420 Member

    註冊日期:
    2010-07-29
    文章:
    96
    讚:
    0
    延遲的話是因為通常做效果器的必須要硬體直接做a/d d/a 然後在用軟體做效果.
    可以考慮用verilog或是assembly直接寫audio in/out 那樣a/d d/a才能會出現最有效果. 因為那樣是直接編出一個可以當效果器的電路.
    然後在讓C++ 或是 C 做更詳細波形之類的.

    其實延遲都會出現的. 只是說多跟少而已. 10ms應該都是可以接受的範圍.

    如果你要做 建議是拿已經完成的ASIO介面, 然後你只要負責做C++裡面的編碼來做效果.

    至於各種效果有各種難處.
    1. 延遲的你你必須要寫一個Cache, 或是短暫記憶, 看你的需要而定. 你收進來的信號必須要個別存在兩個地方. 然後得有一個Function寫feedback, 來控制回聲量. Matlab有很多 sound decay function你可以把他轉成C 之後之接拿來用. 就看你要delay的多漂亮, 不過最難的地方就是Cache能反應的夠快讓使用者沒感覺電腦在運算.

    2.壓縮挺簡單的, 網路上有很多已經製作好得compression function你就看你需要甚麼拿甚麼.

    3.失真其實不簡單. 通常這個地方會用Convolution下去做. 最難的就是找到失真的Equation下去運用. 最方便的方法就是把聲音的頻率分開. 譬如說 20hz-100hz你寫一個function 然後總共會有譬如說10個function, 這些之後會跟音源Convolve. 或是你可能FFT之後弄個乘法 就好了, 然後在轉回來time domain.

    4. 合唱其實跟delay難度差不多. 你寫出delay 那個cache之後. 另外寫一個modulation function. 再把cache裡面的東西跟這個modulation function在 Fourier Domain互乘, 然後在轉回來time domain.

    5. 娃 跟合唱差不多, 只是你要寫一個manual function, 可以讓io (鍵盤, midi) 去控制. io的網路上已經有很多可以拿來改了.


    我之前做過比較機歪的就是直接拿DE2來做效果器... 不過Verilog+Assembly寫得很爽哈....

    可以拿c++ sound processing kit來寫, compressor裡面已經寫好了, 只是改成你要的樣子就好. 基本上都是plug-in的. 除非你想要真的自己寫...
    http://www.helsinki.fi/music/research/spkit/documentation/SPKit.html

    當然羅, 最簡單的地方就是從matlab開始看怎麼做dsp. 因為畢竟要所有訊號處理的function都會用才能開始寫真正的code, 不然寫出來也掉東掉吸的.

    至於怎麼把聲音delay的問題解決, 那就是看個人功力怎麼樣讓你的code寫得又快又準.

    人耳的構造可能也要看一下, 那樣才能知道說在哪個地方你的code可以寫隨便一點. 那樣整體才會跑快一點.

    ASIO的protocol也是必學. 那樣才能直接在你的電腦上編程.
    你要是想要做出像Zoom G2.1那樣, 那就得從verilog學起... 可是那樣你早晚會發瘋的....

    我是知道史單佛有專門學聲音的dsp碩士... 可是我進不去= = 凎 嗯.
     
  6. light3170

    light3170 New Member

    註冊日期:
    2010-07-21
    文章:
    47
    讚:
    0
    哦~ 我是勤益科技大學, 化料系的(畢業)學生
    (講這個做啥= =?)
    比較容易實現的我想大概破音失真系莫屬...

    首先我想說的, 如果你真的有興趣...
    還是搞一把琴跟一顆綜合效果器吧!!
    這樣會對你比較有幫助.

    破音系大概會是最好入門的效果器, 因為套件買的到.
    而且是在電子材料行就能搜括的到.
    如果目的只在於做出一顆, 不計較音色... 那十分簡單...
    到露天收詢"DIY, 效果器" 就有人賣套件.
    還附上電路圖跟電路板.

    另外其他些種類, 什麼濾波啊, 延遲啊, 八度啊?
    這些東西牽扯到IC設計, 當然要做不是不行...
    先將IC放大設計成電路, 在找工廠幫忙生產...
    不過牽涉到要Doping各種元素, 我想大概是有難度.
    所以可能在設計成電路就會打住了(各種三極體, EBC什麼的混來混去)
    而且設計出來也可能會一大盤...(畢竟那不是我的專業, 只是憑空想像)
    有些IC是各廠商的機密... 應該是很難找到(而且不便宜).

    如果你要找這種專題去做, 建議你, 搜尋趨向不應該是他人的"論文".
    而是各個公司的"專利".
    找到專利在反推論文會比較輕鬆... 大概啦!!
    (想當初我專題也死去活來的!!)
    這樣到時候填寫文獻才會比較有東西.
    proposal的部分也能塞一堆資料XD

    另外, 如果你有興趣...
    當代的Amp跟效果器 DIY版, 有個討論區塊是自己設計效果器的.
    你可以過去逛逛看....

    以上有誤, 請指教!!
     
  7. victor.y

    victor.y Member

    註冊日期:
    2002-08-23
    文章:
    101
    讚:
    0
    我印象中台灣對於audio dsp結合聲學這方面的人才還滿缺的,尤其是科技業的部分;建議可以上104看看這方面資訊(敲audio相關字就一堆),畢業專題與產業有相關的,以後也比較好發展,如果你能連演算法都包了,在台灣應該是無敵了吧我想,哈.科技大廠也不用找Waves或是Doby授權演算法了靠你就ok了~祝你好運!!
     
  8. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    感謝大家的回應
    因為一些大大小小的事忙到現在才回應...


    感謝你提供消息



    可能是實作的平台AD,DA不夠好,老師才這樣說
    實際情況要問老師原因

    我不知道我做的專題會不會用到UI
    感謝你的建議


    甲乙組名稱,你好像說反了@@

    電聲的領域很廣,有一部份包括被動電路(像是矽麥克風)
    另一部份是我想要做的Audio DSP

    我查了一些資料,好像很多音訊處理的教授都是機械相關背景出身的
    要我跨過去考機械所,如果是考機械方面,對我來說有點難...因為我是電機電子背景的學生(不過我沒有去查相關考科...實際上這個相關類組考什麼我也不知道考科考些什麼。
    這方面好像問補習班,他們會幫忙提供資訊)

    我想可能最後只能找訊號處理方面的研究所,不過訊號處理研究所大部分都是通訊領域方面的研究所....

    如果我去了通訊所,要做Audio相關的東西,可能教授沒有辦法給我相關的意見,或是不清楚Audio處理的關鍵重點、方法
    畢竟一位教授會做通訊信號處理,他會很清楚這個研究領域注重的方向(資訊傳輸正確、等等...)。
    但可能他對音訊領域就不太清楚了

    所以我想在台灣找會音訊領域相關的教授

    研究所的方向,可能會影響我未來的生活
    短則四年(到研究所畢業),長則影響一輩子
    所以這個暑假對我來說很關鍵!
     
  9. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    你說的已完成的ASIO介面是? 音效卡?
    我去查了一下我電腦內建的音效卡,沒有支援ASIO

    還是說你的意思是要自己做ASIO介面?


    第3點的FFT指的是Fast Fourier transform?

    第4點很有趣XD
    互乘就會有這樣的效果?


    這部分找跟Audio有關的Algorithms書籍,可以學到這個嗎?
    還是要靠多寫多經驗?

    可以請你推薦相關必看的經典書籍? 感謝


    感謝你的經驗分享!


    我會寫Verilog,高職學過VHDL,大學有教Verilog
    我不知道我夠不夠強,至少學校的Lab作業我都會寫


    我聽學長說:要出國唸書,要有財力,不然可能會很辛苦
    可惜我沒什麼錢,不然我很想出國去學習 唉~
     
    Last edited: 2011-07-25
  10. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    感謝你的建議

    原本想說要回某科大學生,但是感覺有點隨便...
    我意思是想表達我是個大學生想要做專題

    你說的比較偏類比音效,我想用DSP的方法寫Audio相關的東西

    找專利反推專題(論文),這方法不錯!


    台灣的確很缺少這部分的人才
    國外很多人在做這些,台灣可能沒有環境,學得人很少...
    所以人才就很少
    不過在台灣有間上市上櫃公司──美律實業,在電聲領域他們做得不錯,國際間市佔率還滿高的

    這個重擔好重~!

    模擬別人的演算法會被告侵權吧!
     
    Last edited: 2011-07-25
  11. CarpeDiem

    CarpeDiem New Member

    註冊日期:
    2010-06-21
    文章:
    17
    讚:
    2
    會投入這方面的話,熱忱成分居多吧~
    一般人通常會選擇消費性相關產品~

    美律有也在做,不過他們的主要收入是揚聲相關的元件喔~

    pay也不是說很多~~
     
  12. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    在台灣Audio DSP相關職位的需求量很少?
    人才也很少,或者不怎樣,所以導致pay很少?
    因為一般來說有職務/業務需求,但是人才少,那薪水相對來說會高很多

    或者說是單純公司不重視?
     
  13. 掌門人

    掌門人 當代校長張超然

    註冊日期:
    2001-08-30
    文章:
    4,575
    讚:
    824
    如果是用軟體模擬別人的硬體 (類比或數位),是 ok 的。Lexicon 的某些 reverb 硬體現在就有人做 plug-in 模擬其聲音,只要沒有用到原始程式。

    其實音樂用的 DSP、相關 software 這類東西的市場雖然和主流產業比起來像雞肋,但相對於小型投資還挺大的,特別是現在有像 Mac App store、iOs 的 app store 都讓做小軟體的公司多了很多機會。個人挺推崇的像 Fabfilter、Audio Damage 的 plug-ins 都非常成功 (Fabfilter 的產品略貴一些),而公司也都只有兩三人。

    目前這種 download 販賣提供了很大的機會,不僅是音樂上的,同時又讓人才不見得要靠大公司,也不受所處的地區限制 (Fabfilter 好像是義大利公司)。這有點像小型 .com bubble,台灣人才若有興趣,正是大好機會!
     
  14. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    所以說用軟體模擬別人的軟體專利,恐怕就有問題了,是嗎?
    例如:蘋果告htc侵犯專利

    專題做個效果器app也是個不錯的題目!

    app store是個策略創新,以前賣軟體辛苦很多,要自己架網站來行銷等之類非軟體相關的
    現在有很多軟體販售平台,加上網路付費便利性提升,對軟體開發者是個很大的誘因,造成百家爭鳴的情形
    開發一套app成本不高(要看軟體功能多大),重點在他的數位內容、功能、wi-fi,3G普及造成的便利性軟體,有些免費app開發者在他有空的時候寫軟體
    未來趨勢會有雲端的Web app,百家爭鳴的情況會越演越烈吧!
    我說的可能不夠全面性,若有錯誤,請不吝指教

    感謝站長的鼓勵
     
    Last edited: 2011-07-26
  15. S.Steven

    S.Steven Member

    註冊日期:
    2001-11-17
    文章:
    982
    讚:
    4
    第一步就是應該想辦法找到相關的code,不需要什麼大廠的程式,因為現在連程式的架構都不曉得,很難自己從無到有,基本上能夠賣錢的程式,都不會是只有一個人寫出來. 想辦法拿到相關的code,再去研究,比較容易了解,了解後,也才能比較簡單實現自己的想法.
     
  16. 掌門人

    掌門人 當代校長張超然

    註冊日期:
    2001-08-30
    文章:
    4,575
    讚:
    824
    是的。

    題外話,我個人是認為演算法應該受到保護,但軟體專利有時就有點奇怪。當然,法律本來就有很多模糊地帶.......

    其實除非你有什麼特別的 DSP 東西是因為市場上沒有,自己想做一個出來,還不如寫一個 app 的 "應用" 程式。畢竟 DSP 還牽涉到運算模式導致聲音結果的不同,初接觸要能做出非常 unique 的產品真的不容易。反之,像 iPad 之類的音樂應用程式雖然看似很多,不但已經有的不見得很好用,很多項目都是缺的。

    前者例如簡單的節拍器 app,我試了很多個,其實大多很差 (因為不理解音樂應用和界面設計);後者例如在 broadcast 的領域裡有 sample playback 的機器,通常長得像一格一格的鍵盤,如 A1- A48,然後可以插入 flash memory card。card 裡面只要照原廠指定的 folder 模式排列 wave files,每個按鍵就可以自動 playback 聲音。這樣的機器非常貴,至少都幾千美金。其實像 DJ、live keyboard musicians 都用得到,但除了 broadcast 領域以外,這些音樂人都要用 USB MIDI keyboard 接電腦,再配上 sampler 軟體來搞應該要很簡單的事。同理,這樣的軟體在 iPad/ Tablet 上要弄是很容易的,要多少 "格"、多少 banks、哪一格指定哪個 sample 都很好做。但其實市場上並沒有,因為 software engineers 不知道有這種 "簡單的" 需求,反而都是做些複雜的 drum machine。

    當然,我只是舉例,或許已經有人這星期做出來了,正在算本週收入多少。重點是看似百家爭鳴,但有許多簡單的需求並沒有被滿足,而且有的東西是在被創造出來之前,看似沒有需求。

    先從 "簡單"、"做出來" 開始就好。

    Just my 2 cents!


    PS: 值得一提的是,我覺得後 PC 時代的市場會非常非常非常大,大到難以想像.......只是現在人們還看不出來。PC 的黃金時代已經結束,網路已日漸成熟,但後 PC 時代的發展會讓前兩者看起來不過像是為它鋪路的。有志的年輕人就衝吧!



    很多賣錢的程式都是一兩個人寫出來的。例如 Sibelius 前面幾年已經商業化時,是兩個音樂院作曲學生 (雙胞胎兄弟) 寫的。現在生意大了,賣給 Avid (ProTools 的母公司)。上面提到的 Fabfilter,我買了 4、5 個 plug-ins (從幾十美金到約 $200 美金),他們到現在也只有兩個人。隨手可以舉出一票寫出一流、可以賣錢的軟體是一兩個人做出來的。最近國外 forum 有討論到的 Valhalla DSP 只有一個人。他那個聲音怪怪的 reverb: ValhallaShimmer,我正考慮是否要買。 出了音樂領域也一樣,很多商業應用軟體、客製軟體都是一兩個人做的。

    而且因故....,許多人像我一樣都非常支持這類小公司。電腦與網路就像 70 年代的車庫,可以搞出很多東西!:D

    Just my 2 cents!
     
  17. S.Steven

    S.Steven Member

    註冊日期:
    2001-11-17
    文章:
    982
    讚:
    4
    掌門人所說的是,但是我所說的是偏向整個系統,如ProTools絕不可能只從1~2人就可以獨立完成,牽扯的範圍大太,又如自己公司在開發Android,裡面的source code就高達幾萬隻檔案,對於一個想要了解自己不知道的領域,參考已有的code是最快的. 那種Plug-in其實只要有第一隻程式出來,之後都好辦. iPhone App當然也可以1~2人完成,但是Apple提供的開發環境,其實不太可能1~2人就可以達成.
     
  18. 掌門人

    掌門人 當代校長張超然

    註冊日期:
    2001-08-30
    文章:
    4,575
    讚:
    824
    那當然!但 "能夠賣錢的程式" 的確不是一定要一堆人,而發問的人自然也不會是想開發 "ProTools" 這類規模的 "實作"。:)

    Cheers!

    想開發軟體的人都加油!台灣和整個產業都需要新的人才!
     
  19. JoiUhRnG

    JoiUhRnG New Member

    註冊日期:
    2008-01-01
    文章:
    86
    讚:
    0
    我認同你的說法,特別是「需求」、「Designer/Engineer須要理解音樂應用和界面設計」,有了這兩項將來才會有更好的產品、app。
    例如:Apple的iPod、iPhone都是Setve Jobs重視使用者經驗,不僅操作簡單、便利,Apple的產品更創造許多原本沒有的需求。

    Technology科技可能早就有了!
    只是看到科技會拿來應用的人不多!

    台灣和整個產業需要更多User Experience Designer,或是有能力看到需求,整合需求性、便利性的人,而他也能夠跟Engineer溝通。

    Cheers!
     
  20. Mr72

    Mr72 Well-Known Member

    註冊日期:
    2001-09-07
    文章:
    2,034
    讚:
    106
    這職位一般叫"Product Manager" or "Field Application Engineer"

    我的經驗很多也是比如說
    PM 根本不暸Hall ,Room,plate...etc efx 的空間 acoustics差別
    RD or programmer就算很強 根本不知如何follow..
    OEM 或ODM 的廠商 很會幫客戶做.. 但也從不太瞭來龍去脈

    你想做的題目 都偏signal processing..
    除了AD/DA 很影響品質判斷
    時序的動作準確性很影響phase

    我想你可以從了解delay ,compressor ...的定義開始
    聲音經驗的學習 一般要從聽開始
     

分享此頁面