天文資料還能用來混音?用Python將星光節奏化為DJ素材

蘇羿豪

蘇羿豪

Day 2 • Sun, Oct 18
11:45 - 12:15
Location
R1
Language
Chinese
Category • Level
Application • Medium

天文資料不只能用於科學研究,也能成為一般大眾將天文連結到生活及其他領域的創作素材。我將分享如何用Python取得「凌日系外行星巡天衛星」(TESS)記錄的星體亮度變化資料,從資料中找出變亮、變暗、快速上升或下降等變化特徵,並把這些特徵轉換成音量、音高與音色等聲音參數,產生可在網頁中像DJ那樣試聽、挑選與混合的短聲音片段;另外也依照特徵類型與出現時間設計節奏遊戲,讓玩家在不同時間按下不同按鍵。我也會簡要說明,一個想把天文結合不同領域、創造有趣體驗的人,如何運用Codex等AI工具研究不熟的知識和技術,並把想法逐步實現。聽眾將了解天文資料如何被拆解重組成跨越科學、音樂、遊戲的個人化娛樂探索體驗。

Description

本演講使用「凌日系外行星巡天衛星」(TESS)的星體亮度變化資料。TESS是NASA的太空望遠鏡,會連續觀測天空中大量星體的亮度變化,常被用來尋找行星經過恆星前方時造成的微小變暗。

演講中會用到的Python套件與工具如下:

  • astroquery:用Python查詢與下載不同天文資料庫的觀測資料。這次會使用其中的NASA MAST資料庫,取得TESS星體亮度變化資料。
  • Astropy:天文資料處理常用套件,可讀取天文觀測資料、處理表格與座標等資訊。這次會用它讀取TESS下載回來的天文資料檔案,取出時間、亮度與資料品質欄位。
  • numpy:Python數值計算套件,適合處理大量陣列資料。這次會用它清理資料、計算相對亮度、建立平滑基準、重取樣、尋找亮度變化特徵,並產生後續聲音合成與MIDI輸出會用到的數值參數,例如特徵強度、音量、音高與音色。
  • wave:Python標準函式庫,可讀寫WAV音檔。這次會用它把計算後的聲音波形輸出成WAV,供網頁播放。
  • MIDIUtil:用Python產生MIDI檔的套件。這次會用它輸出可再編輯的MIDI,讓同一組天文資料轉換結果可以匯入DAW或其他音樂工具繼續創作。
  • Codex等AI工具:協助研究不熟的知識與技術、拆解開發步驟並撰寫程式。這次會簡要說明它如何協助我研究並實做天文資料聲音化。
蘇羿豪
蘇羿豪

「開放天文 拉近群眾與星空的距離」 透過創作故事、遊戲等有趣體驗來推動開放科學的公民天文學家,著有《資料視覺化:用Python為星空作畫》/Astrohackers in Taiwan社群的共同創辦人/承接網站開發及資料科學相關案子的遠距工作者 https://astrobackhacker.tw

Related Speeches