history of xylph

19
History of Xylph dendai sie; Talk Live! 七七 2013/12/14

Upload: tomona-nanase

Post on 02-Aug-2015

240 views

Category:

Software


0 download

TRANSCRIPT

Page 1: History of Xylph

History of Xylph

dendai sie; Talk Live!

七瀬2013/12/14

Page 2: History of Xylph

自己紹介

•七瀬朋奈(Tomona Nanase)

•@nanasetomona@nanase_coder

•長野県北部に生息

•信州大学工学部情報工学科 B4 ( 信大 JK)▫来年度から同大大学院

Page 3: History of Xylph

自己紹介

•使用言語は主に C#

•たまに PHP, JavaScript

•Minecraft の Bukkit プラグイン制作で Java▫nanase_t

•http://nanase.cc/•https://github.com/nanase

Page 4: History of Xylph

自己紹介

自宅から 18km ほど。火山と硫黄で不毛地帯が続く

Page 5: History of Xylph

自己紹介

グンマー国境から車で約 1 時間、これが長野県の一般的な風景である

Page 6: History of Xylph

きっかけ

•音楽には興味があった▫YMO からの強い影響▫B1 の夏頃から C# で音が鳴らせないか格闘

•2010 年年末、C# から OpenAL を使って音を鳴らした

•それよりも前からシンセサイザを作りたいと思っていた

Page 7: History of Xylph

Pyxy ( ピクシー )

•2011 年 6 月ごろ完成▫完全プロトタイプ、超スパゲッティコード

▫独自のバイナリフォーマット▫シンセサイザ ( 波形合成 ) 部分と

シーケンサ ( 自動演奏 ) 部分が同一機構▫モノフォニック (1 パート 1 音 )▫ADSR, LFO

▫現在に通じる基礎概念が完成していた▫Xylph にソースは後継

Page 8: History of Xylph

Xylph ( シルフ )

•2011 年 8 月完成▫バイナリフォーマットを廃止▫テキストファイルで音色と楽曲を記述▫一種の言語処理系を持っていた。闇の始まり

▫U-20 プロコンに出品「直ちに影響はない」大臣より賞をもらう

Page 9: History of Xylph

Xylph v2.0

•2011 年 11 月完成▫言語文法をさらに強化。闇 ++▫初めてポリフォニックに対応

▫C# の性能の限界が露見▫Xylph からソースを引き継いだため

超スパゲッティ化

Page 10: History of Xylph

Xylph v3.0

•2013 年 2 月ごろ▫概念としての構想が中心▫言語文法をさらにさらに強化。闇 #

▫コード内に初めて「 Compiler 」、リファレンスに「 MIDI 」の単語が出現

▫実際のコードは制作されず

Page 11: History of Xylph

Xylph v3.0

Page 12: History of Xylph

初代 ux ( マイクロシルフ )

•2012 年 9 月ごろ▫Xylph の内部構成を再構成▫言語文法の見直し、中間表現の導入。闇 +++

▫FM 音源の実装によりそれまでの波形生成を劇的に変化

▫シンセサイザ部とシーケンサ部の一部分離▫MIDI 規格への合致▫動作性能重視のためモノフォニック

Page 13: History of Xylph

そして ux

•2013 年 5 月▫言語処理系を廃止。闇からの解放

▫シンセサイザ部とシーケンサ部の完全分離▫MIDI や SMF の読み込みは外部ライブラリが担当

本体はシーケンサ部のみ実装▫比較的軽い動作▫シーケンサによってポリフォニック対応済

▫最初から MIDI 指向MIDI データがあれば演奏可能

Page 14: History of Xylph

ux

•あえて C# で制作する▫非常に整頓されている言語▫使う側にとっては他に何も必要としない→ すぐに使い始められる

•パフォーマンスを出すために少なからず滅茶苦茶なことをしている▫特に FM 音源部分

•まだまだ更新中 ( 現在 v0.2-dev 開発中 )https://github.com/nanase/ux

Page 15: History of Xylph

uxuxux.Utils

FM 音源

step 音源

エンベロープ

コンプレッサ

SMF(MIDI ファイ

ル )

MIDI-IN

テキスト(ハンドル列の羅列 )

入力

入力

コンバータ

シーケンサ

セレクタ

予約

送出

送出

送出

Page 16: History of Xylph

注 : これはラズウサギーパイです

Page 17: History of Xylph

ux++

•Raspberry Pi で動作する ux を作ろう•C++ で移植実装 ( 闇の再来 )▫言語習得のため▫動作速度を最優先▫安定化した ux をベースに制作▫RasPi 持ってる奴ならコンパイルの仕方くらいわかるだろう (利用者は上級者 )

•まだまだ制作途中https://github.com/nanase/uxpp

Page 18: History of Xylph

Xylph の未来

•未定▫音源定義 XML ファイルが手書きだからエディタがほしい

▫Web上で MIDI を送ったらMP3 で返してくれるようなサービス( それを共有できたら楽しそう )

▫もっと簡単に「軽い音楽」を楽しみたい

•Ruby とか Python とか Ruby とかやりたい▫速度を優先しない移植なら面白そう

Page 19: History of Xylph

OSS

•このプレゼン資料と紹介したプログラムのソースコードhttp://nanase.cc/bin/hox

•最新の ux と uxpp は GitHub を見てねhttps://github.com/nanase