2013年8月1日 星期四

初音未來唱《你敢有聽著咱唱歌》精簡版(悲慘世界 Do You Hear The People Sing?台語版)

3/22/2014更新,加上youtube影片版


這個星期都在衝刺8/3 Coscup研討會國語虛擬歌手徵音梅林的發表工作,但我一直很關心洪仲丘的案子,尤其我當兵時也曾經在某個本部連工作過,當過參謀文書,追著案情,知道這此中實在是太多不合理了,而且也對洪仲丘的勇氣感到佩服,大部分人包含我,當兵時對於軍中詭譎的事情,是閃躲避而不談,求明哲保身就好,仲丘如果真是因為言人不敢言,為人不敢為,掀了軍中黑幕而被害,那他就是真勇者了。 不管如何,身為小小音樂人,就擠了一點時間出來,用音樂來給仲丘送行吧....
如果你要下載來作非商業影片或剪輯的話,我提供下載點:mp3版 ogg版 
我的授權是CC-BY-NC,作曲者:Claude-Michel Schonberg、編曲者:MGdesigner (就是我) 作詞者: 吳易澄 醫師

徵音梅林8/3發表倒數計時囉

發表時間是 8/3 COSCUP 2013第一天, 在11:45~12:15 201D會議室的場次,發表純自由軟體的國語虛擬偶像歌手實作:徵音梅林。 示範曲已經做好,叫做《都是你!》試聽版如下,由於有些大會有關的梗..所以有些歌詞 得給它消音XD
她要抗議什麼...來現場,或者事後就會知道了:)

然後我們也來個真實歌手為虛擬歌手伴奏的演出,不過....還沒有3D人物的投影..(嗚哇 需要更多人共襄盛舉啊) 人員徵募仍然開放,詳情請看我們專案頁 :)

2013年7月16日 星期二

徵音梅林計畫-錄音DAY2

前一集
今天是虛擬歌手徵音梅林計畫錄音的第二天,昨天晚上回到家針對昨天遇到的心理層問題(撐太久精神會疲乏,注意力開始渙散,check容易誤判,容易焦慮等),設計了新的工作流程與更好的休息間隔(也可以說是紀律,那就是不超錄),今天錄的間實際長度其實比昨天少,但反而單位小時產量大增,昨天白天平均時速只有30檔左右=.=,晚上提高到50,今天平均時速都在90~100左右,最高速時一小時達到160檔左右。

但是....今天發現了新問題,昨天克服了心理層問題,就是還有肉體(聲帶每天使用限度)極限的問題,今天發現聲優的聲帶,想要長時間穩定地維持萌音,還不斷地唸,有一定的極限,就算休息間隔加長,到後來喉嚨會開始出狀況,開始出現異音,所以只好喊卡,不急著衝上1000大關,保護聲優第一。後面的錄音計畫比較有眉目,可以作更好的調整,錄的天數要增加,每次的時數減少,中間大休時間加長,錄音的工作流程要增加一道新的音色校正步驟。

以下是今天可公開的情報:
(鼻血萌?)
 屁股?
 牛仔?
 噓...你知道就好....
 魔獸梗??
 好吃!
 娃娃灣?
 __之牆?

 埃及語?印和闐:「安娜蘇那穆!」的對聯?

印和闐!印和闐!印和闐!印和闐!

以下是高難度咒語,請多加練習:



 這個應該是五顆星難度
今天我為了我的海量批次錄音增加唯讀功能(以防手賤,洗掉沒問題的音orz雖然還沒有發生過),此外發現我們的程式從另外一種角度來看,有超高難度繞口令產生/顯示器的作用,也許以後有奇怪的另類用途。

除了昨天的原始班底Lo Chu、Paul、me以外,今天感謝以下前來支援的朋友:

賽柏飛以及帶來的好多補給品(補給官?)、新的夥伴維尼(以及他的IPA/正音咬字指導)、Lo Chu的男朋友,以及感謝諸位支援安全士官書記官、MAGI第三審議者。

2013年7月15日 星期一

徵音梅林計畫-錄音DAY1

今天是虛擬歌手徵音梅林計畫錄音的第一天,早上一開始充滿著朝氣以及旺盛的戰鬥力....
 
還有初音未來的加油
 接著開始大戰三百回合..

被很多的咒語攻擊....例如:醋沒萌鼻歌爸背背逼?
崖發芽崖翻
再來沒力氣打了....可以自己唸看看....要每一個音都唸很清楚....一氣呵成,不能斷音(台灣式國語)





 到了晚上變這樣...


明天繼續...orz

2013年7月12日 星期五

Python超級新手心得:寫音訊處理程式的經驗

很久以前就有買了一本O'reilly的《Python入門》也就是小老鼠本(怎麼封面不是大蛇?)Python的程式都是偶而寫一寫,沒有很正規的使用,我還是用java這種系統語言為主,直到最近,為了跟好友Paul Liu開發完全用自由軟體做的虛擬歌手《徵音梅林》,需要特殊的批次錄音程式,自己主業又已經不是作軟體,轉行去作音樂、設計樂器了,美國時間不多,才嘗試Python的快速開發能力,所以就寫了自己第一個完整的Python程式,而且直上GUI。

這個程式的功能是讀取錄音表,然後一個一個的來錄音,程式會自動地顯示錄要錄的發音,錄完自動存檔,而且配特定的檔名,那要錄多少個wav檔呢。4500多個(所以才要寫專用的,用audacity錄一個存一個,再打檔名,你會發瘋的@@)




得到許多寶貴的經驗,為了不要忘記,就順便紀錄一下心得:

1.Python語言本體部份:就算Python號稱很容易,但是一些小細節的習慣動作仍然要適應,例如
  • 縮排的控制也是語法之一,很多小錯誤都卡在這地方XD
  • 同為物件導向語言,看起來很像java,但是存取資料成員時,Python沒有this super可以用,甚至要存取本類別資料成員,都不能省略 自己.變數 這樣的作法
  • 很多有關WxPython的視窗元件的方法成員呼叫,傳的參數如查api會發現往往含上self本身,然後真正在傳參數的時候,卻不用傳self,例如說API上面寫XXX.SetVisible(self,file)或者你自己寫的方法成員宣告時是這樣,但實際呼叫時,只要XXX.SetVisible(myfile)就好了,有一點點人格分裂之感XD
  • Java的GUI程式設計沒有mainloop(),或者說隱藏起來,但是Python的有
  • 承上,同樣的東西在Java很多可能是一個呼叫背後直接跑一個Thread,但Python的不是,所以自己記得包Thread,不然會掛住整個視窗
  • 基本語法不一樣,例如for、操作資料結構部份、沒有";",很直接簡潔,要習慣習慣才行XD
2.開發工具
  • 雖然很多人推崇SPE ,但是SPE存檔存ASCII的,所以程式碼裡面不能出現中文訊息、中文註解,所以我只用它的wxGlade來拉出視窗介面
  • 我主力用emacs,太方便了,只是剛開始寫python,不知道有沒有python的自動補完函式的模組?
3.音訊處理
  • 一開始我用alsaaudio模組,但是後來發現這是一個錯誤的選擇。我們的目標是必須能錄24bit,而Ubuntu以及其他現代的GNU/Linux Distribution是讓alsa上架pulseaudiio,而pulseaudiio被鎖在16bit,你的錄音介面再好也沒有用,用alsa的模組都會直接轉到pulseaudio,然後24bit錄到的都會變成破音
  • 而我是alsa直上jack 音訊系統,pulseaudio也是轉進jack,一直執著alsaaudio沒有用,終究24bit都會變成破音
  • python不適合realtime,所以很少有python用的jack模組,我只有找到pyjack,但build不起來orz。
  • 最後發現有console的jack錄音程式-jack_capture,當然可以正確的錄出24bit的wav,只要我寫的GUI來呼叫他就可以啦,請教paul,得知要用subprocess,一開始有點難度,反覆查API,最後終於搞定,覺得很有趣,原來python被稱為命令稿語言是因為擅長於呼叫其他程式,組合起來快速完成工作。
這次感覺到原來python的魅力以及好處所在,執行有時間壓力的專案時,要打造臨時性工具,不一定要從頭到尾統統自己苦幹實做,運用python這樣的語言,善用且組合現有的程式來完成工作才是上策,而不是把系統語言的寫作觀念帶來命令稿語言。

花了兩個星期寫起來了,利用餘暇時間一點一點寫,昨天終於搞定。搞完,就轉換到音樂人狀態好好地發洩一下....爽啦  XD

count