情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28

互換性と数学的構造を持つ音楽プロジェクトファイルの提案
黒田 和暉1今井 克暢2

北須賀 輝明1

中西 透1

概要：音楽制作において，作業ごとに処理やフォーマットが異なり，環境が分離し，ある作業の音楽情報が別作業では扱いづらい問題がある．後から情報の抽出・追加を行うことでこの問題に対処する方式では不完全で手間がかかるため効率が悪い．そのため音楽プログラミング言語や DAW のプロジェクトファイ
ルなどで，各作業が有益な情報を次の作業に受け渡せるようにする取り組みがある．しかし現状は，特殊な記法，構文，意味論となっており，汎用的な用途には向いていない．本論文では，従来方式と比較しつつ，圏論や集合，有向グラフなどの数学的な表現に基づいたプロジェクトファイルを提案する．その利点としては，外部記述による可読性や再利用性が向上，類似データの関係性の記述が行える．加えて，データ構造をシンプルに保つことで拡張性に富み，共同作業やバージョン管理のしやすさにも繋がっている．

1. はじめに現代のコンピュータを用いて作曲や演奏を行うコンピュー業やバージョン管理のしやすさにも繋がっている．

2. 関連研究タ音楽の分野では，デジタル・オーディオ・ワークステー

2.1 デジタル・オーディオ・ワークステーション（DAW）

ション (DAW) での作業が中心となっている．音楽制作で現代の多くの音楽制作ではコンピュータを用いて作曲やは複数人が作業ごとに分業することもあるが，DAW では演奏を行っている．特にデジタル・オーディオ・ワークス

録音やミキシングなどの一連の作業が行えるにもかかわらテーション (DAW) での作業が中心となっている．DAW

ず，DAW ごとに互換性がないことやプラグインの非所持には，音楽制作における録音からマスタリングまでのプロセより，情報の受け渡しが困難であったり，複数人で同時にスを行うシステムである．例えば，レコーディングスタジ作業を行うことが難しい．つまり現状では，処理やフォーオでよく使用されている Pro Tools[1] がある．但し全体でマットが作業ごとに独自なものとなって，環境が分離してみると 25%以上の市場シェアを持つ DAW はなく，様々なおり，データの受け渡しは WAV ファイルや MIDI ファイ

DAW が使われている [11]．

ルなどの出力のみになっている．よって他の重要な情報がDAW を用いて曲を再生する際には，DAW の付属また喪失・隠蔽されて，別作業の情報が扱いづらい問題がある．

は外部のソフトウェアである楽器・エフェクトのプラグイ

また再生環境では，計算能力の飛躍的な向上によるオンン，WAV ファイルのような音声情報，MIDI のような演奏ライン処理能力の増加や，VR・AR 機器といった新たな環情報，使用している楽器・素材の追加情報やその音を鳴ら境の登場がある．そのためインタラクティブミュージック

すタイミングや音符の情報，エフェクトなどの設定した情のように，作曲時だけでなく再生段階で音楽情報の一部を報の集まりであるプロジェクトファイルが必要である．

改変したり，別の指標として利用したいという需要も増え

2.1.1 音楽制作の作業と環境ていると考えられる．

現在のコンピュータを用いた作曲工程では，様々なソフ

本論文では，従来方式や DAWproject[2] と比較しつつ，トウェアや情報，人物が関わっている．現代の音楽制作の圏論や集合，有向グラフなどの数学的な表現に基づいたププロセスは，おおむね図 1 の枠内が白の四角形のようにロジェクトファイルを提案する．その利点としては，まず様々な作業を経て，曲を完成させている．またマスタリン

物事に対して外部から記述するような形で記述することがグで完成ではなく，リミックスやサンプリングのような曲できるようになり，可読性や再利用性が向上する．また似を再利用して新たに曲を作ることもある．さらに，曲の情ているデータ同士の関係性の記述が行える．加えて，デー報を用いて，音楽ゲームやビジュアライズするなどのインタ構造をシンプルに保つことで拡張性に富み，更に共同作タラクティブな曲の再生が考えられる．

12

広島大学大学院 先進理工系科学研究科
福山大学工学部© 2024 Information Processing Society of Japan

具体的に図 1 は 3 人組で演奏を行うスリーピースのバン501

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28

ドの作業プロセスを示している．バンドメンバーの３人にStudio One 6.5 間でデータ交換ができる．形式としては加え，マスタリングエンジニアや PA エンジニアも携わっ

XML を用いた木構造になっており，トラックやチャンネている．音楽制作では複数人が作業ごとに分業し，音楽処ル，オートメーション，プラグインなどの要素が定義され理の環境が変化することも少なくない．環境によって，使ている．記述例を Listing 1 に示す．

用する DAW が異なったり，外部プラグインを持っていなかったりする．

Listing 1 DAWproject の記述例（一部省略）

文書作成ソフトウェア

コンセプト

楽譜作成ソフトウェア

作詞・作曲・編曲 ギターボーカル
マスタリングエンジニア

録音

ドラム

ミキシング

DAW 2

ベース

DAW 1

マスタリングリミックス・サンプリング

DAW 3
図 1

PA エンジニア

インタラクティブな再生
音楽ゲーム

スリーピースによる音楽制作の分業の例

2.1.2 異なる音楽処理環境への受け渡し
1 で紹介したように，作業中に出現した重要な情報が喪失・隠蔽されて，別作業の情報が扱いづらい問題がある．
その従来方式の解決策は，楽曲ごとに「音楽抽出や分離」

1 % Structure2 <Track name="Piano" id="id1">
3<ClapPlugin deviceID="com.example.piano"

deviceName="Piano" deviceRole="instrument"><State path="plugins/example.p-preset" /></ClapPlugin></Track><Track name="Vocal" id="id2">

45678% 省略
9 </Track>
10 % Arrangement
11 <Clip time="0.0" duration="2.0" playStart="0.0"

track="id1">12<Note time="0.0" duration="0.25" key="65" />13<Note time="1.0" duration="0.25" key="60" />14 </Clip>
15 <Clip time="0.0" duration="4.0" track="id2">
16<Audio duration="2.0" sampleRate="48000">
17<File path="audio/vocal.wav" />18</Audio>
19 </Clip>や「後から手動で情報の追加」である．例えば興味深い事
例として，まず楽曲の中身を自動的に解析し，さらにユーザに共有して性能改善を図る Web サービス [16] がある．
これらにより音から特徴的な情報を取得できるが，完全に抽出できなかったり，手間がかかったりして，作曲段階では存在した情報を再度追加することになって効率が悪い．
もう一つの解決策として，音楽制作に特化 [4] したプログ
ラミング言語 [5], [8], [15] の採用がある．例えば Csound[5]では音楽のデジタル信号処理から音楽規則まで様々な記述ができ，多くの音楽を表現できるため，楽器や演奏，その楽譜などをコード記述として包括して扱うことができる．
さらに近年，ソースコードの楽譜として利用を推進する研究 [17] や，楽譜の進化における新たな道としてライブ・コーディング [3] を論じている研究 [6] もあり，音楽プロ
グラミング言語や専用のソフトウェアについての研究が多数見られるようになった．しかし音楽プログラミング言語
は，音楽制作は工学というよりも創造的なプロセスであるため，迅速なプロトタイピングと実験をサポートする言語が必要とされる [8]．そのため，特殊な記法，構文，意味論となっており，様々な作業にも対応するための汎用的な言語には向いていない．

2.1.3 DAWproject

2.2 圏論的アプローチ
圏論とは，数学的構造間のの関係を抽象的に扱う分野の１つである．音楽と圏のような数学的な表現を応用した先行研究としてはソフトウェア RUBATO[7] がある．

RUBATO は分析やパーフォーマンスが行える．
ここでは本提案方式で応用する，データベースを圏論の概念を用いて表現した圏論的データベースと論理構造を使用するためのトポスについて紹介する．

2.2.1 圏論的データベース
Algebraic database[10] は，圏論の概念を用いてデータベースのスキーマやデータ操作を表現している．まずデー
タベースのスキーマは，一つの圏として，対象はテーブルやデータ型，射はカラムで表現する．またデータベースのインスタンスは，関手 I : S → Set として表現される．

2.2.2 トポス
圏 C が初等トポスとは，カルテシアン閉で部分対象分類子を持つという条件を満たす．部分対象分類子は
図 2 のように表される．例えば，圏 Set や圏 F inSet はX!

また，異なるベンダーの DAW 間でもユーザーデータをtrue転送することができるフォーマットである DAWproject[2]Yも登場している．現在は，Bitwig Studio 5.0.9 と PreSonus

図 2© 2024 Information Processing Society of Japan1

χΩ

部分対象分類子502

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28Ω = {true, f alse} となる初等トポスである．

どの 4 つの音楽処理で頻出する処理も行う．これにより制作者は，複数の DAW と音楽プログラミング言語を同時に2.3 Conﬂict-Free

Replicated

DataTypes(CRDTs)
Conﬂict-Free Replicated Data Types (CRDTs) は，分使用できるようになり，一つの環境に依存しない制作が可能になる．さらにそれらのツールの開発者は，UI や操作のようなユーザビリティを向上させることに専念できる．

散コンピューティングにおいて，強い結果整合性 (Strongつまりプロジェクトファイル駆動型では，プロジェクトEventual Consistency (SEC)) を保証するデータ型の一つ

ファイルは中間表現としての役割を担い，それをベースにである [13]．SEC は，正確なレプリカは最終的に状態が収処理が行われている．音楽管理機構の処理を利用できる束し，かつ，順序不同の更新は同じ状態であることを保証ようにプロジェクトファイルは拡張されており，楽器・エする．具体的には，送られてくる情報の順番に依存しないフェクトのプラグインや音声・演奏データなども含まれてために，情報を更新する操作が可換であることで解決している．

いる．

2.3.1 Grow-only Set

可視化

音楽プログラミング言語

CRDT の Grow-only Set (G-Set)[12] は，追加のみ行える集合である．そのため，Listing 2 で示すように要素の追音楽ゲーム

DAW 1

編集

著作物管理

DAW 2

加は和集合を求めればよい．G-Set は，削除も行える集合の 2P-Set や有向グラフなどに応用される．本提案方式では，操作ベースの 2P2P-Graph [12] を用いる．
情報検索・抽出

Listing 2 State-based grow-only Set (G-Set)[12]
1
2
3
4
5
678910

payload set A
initial ϕupdate add(element e)
A := A ∪{e}query lookup(element e) : boolean b
let b = (e ∈A)
compare (S, T) : boolean b
let b = (S.A ⊆T.A)
merge (S, T) : payload U
let U.A = S.A ∪T.A

付加情報取得音楽管理機構プロジェクトファイル

音声出力
図 3

本システムによる統一された音楽処理環境の例

3.2 提案形式による音楽情報の扱い
本システムのように統一的にプロジェクトファイルを扱

3. 提案形式
本プロジェクトファイルのフォーマットの提案の前に，まず 3.1 で本プロジェクトファイルの使用が想定されていうには，完全性や再利用性，拡張性，可読性などの性質を満たすべきである．本プロジェクトファイルは圏論の概念を用いたデータの保持を行っている．

3.2.1 圏論の概念を用いる利点るシステムについて紹介する．そして 3.2 では本プロジェ

圏論を用いる他の理由としては，いくつかの利点が挙げ

クトファイルの音楽情報の保存形式の定義や有用性についられる．圏論では，集合論のように物事を内部から記述すて説明し，3.3 では共同編集や変更履歴の管理を行うためるのではなく，外部から記述しており，圏の条件を満たしのデータ構造について説明する．ているその他の数学的構造に拡張できる．つまり，再利用性や拡張性の高いプログラムを組むことができるようにな

3.1 提案システムる利点がある．

図 3 は本プロジェクトファイルを用いた音楽制作や再生

また木構造のようなデータ構造による表現では，人にを行うシステムを示している．現在の多くの DAW や音楽よってデータの捉え方が変わることがある．そのため，厳プログラミング言語のツールが，各自で音声出力や操作，格に決められた数学の概念からアプローチを試みること変更履歴などを実装している．一方で本システムでは，直で，フォーマット独自の特殊な表現法や例外処理が発生せ接 DAW のような第三者のソフトウェアがプロジェクトず，可読性が向上する．

ファイルを編集するのではない．各ソフトウェアに内蔵ささらに圏論では，双対性を明確にすることができる利点れた音楽管理機構という新たなサウンドミドルウェアを通がある．例えば，集合論における直和と直積は，双対の関して，音声出力だけでなく，音楽情報取得や著作物管理な係になっている．このように異なる見方を与えることに© 2024 Information Processing Society of Japan503

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28

よって音楽制作においては想像力をかき立てる重要な役割

例として，特別に Note 周りを抽出した圏で考えると，図を果たす利点がある．

5 のように，F(Note) の要素が ID であり，時間やノートナ

3.2.2 音楽情報のデータ構造ンバーの値を持ったレコードとして考えることができる．

提案形式では，圏の圏 Cat を用いる．本論文内で使用する Cat の対象は，圏 F inSet と小さい圏 C であり，Cat の射は，関手 F : C → F inSet を使用する．

3.2.4 プラグインとソースの選択
複数人で作業を行う場合は DAW の違いだけでなく，所持しているプラグインの差異によっても互換性が損

圏 F inSet は，すべての有限集合が対象，それらのすべなわれる．そのため，プラグインのための圏 C の対象ての写像を射とする圏であり，カルテシアン閉で部分対象は，積と余積を用いて様々なデータを入れられるように分類子を持つため，トポスである．圏 C は，プロジェクしている．具体的には，図 6 のように Plugin のソースをトファイルが含む音楽情報の構造を定義するための圏であP arams + (P arams × AudioData) として持たせる．タプ

り，C から F inSet への関手 F を通して，レコードの値をルの始めの要素は，二番目の要素の型が P arams(0) であ取得する．圏論的データベースの観点からすると，圏 C はるか P arams × AudioData(1) であるか表している．そしデータベースのスキーマとして，関手 F はデータベースのて二番目の要素で実際のパラメータの値またはパラメータインスタンスとして捉えることができる．の値と音声データが保存されている．DAW であるプラグ

3.2.3 関手による音楽情報の記述インを使用する場合，初めはそのプラグインのパラメータの値を取得することができ，Params で保存される．その後プラグインを使用して再生されると，そのプラグインのC
Track

Float
ClipNameで，パラメータと音声データの両方を保存することで，プ

Duration

ラグインを持っていない状態でも再生が行えるようになる．

StringTime
Duration

DeviceID

PathPlugin

Audio

このように積や余積を使用することで，簡潔な圏の記述のまま様々な構造の表現や追加が行える．またプラグイン

Sample Rate

Keyだけでなく WAV のような他のファイルやソフトウェアにNote

ついても，複数の構造からソースの確保を行えるように

Int

Params+(Params×AudioData)

LPCM などの音声データが取得できる．そのタイミング

Timeなる．
図 4

圏 C による音楽情報スキーマ

Params+(Params×AudioData)

2.1.3 で紹介した DAW のプロジェクトファイル (Listing(0, [FloatParam{paramID: 1, value:0.5, max:1}, IntParam{…, value:15}])1) に類似したスキーマとなる圏 C は，図 4 のようになる．
各図では，恒等射は自明なものとして省略する．例えば各ト(1, [FloatParam{paramID: 1, value:0.5, max:1}, IntParam{…, value:15}, […])

ラックは，楽器名称や演奏時間，出力ソースの情報が含まれ(0, …)(1, <[{}], [0.4, 0.2, …]>)ている．そして圏 C を F inSet への関手 F : C → F inSet(1, <[EnumParam{…}], […]>)

を用意し，それによってインスタンスが与えられる．Track(1, …)

や Clip，Note などの対象はテーブルの ID 列としての役割(1, …)を果たし，Time や Duration，Name などの射はそのコドメインの Float や String などの対象の型の値の列として捉

図 6えられる．
C

3.2.5 追加情報を与えられるためのトポス

FinSetF(Int) F(Note) F(Clip)
Int

F(Key)

NoteClipKeyTimeF
Duration

60

1165

22

Float

F(Duration)

F(Time)0.0

1.0

P arams + (P arams × AudioData) の集合

0.25

F(Float)

上述の内容では，圏論や集合の概念を用いることで再利用性や拡張性，可読性を向上させつつ，従来のプロジェクトファイルの表現が行えることを示した．3.2.5 では，圏F inSet がトポスを成すことを利用して，論理構造を構築して，追加情報を与えたり，情報を抽出できることを紹介する．
まず FinSet の要素内で新たな情報を付加することを説明する．例えば，簡約されたトラックの情報として

図 5

Note のインスタンス© 2024 Information Processing Society of Japan(id, name) = [(1, guitar), (2, drum), (3, vocal)] があると504

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28

する．p =「弦楽器である」ということに対応する特性なくプログラムが完成しているなどの不自然な制作を発見

写像を用意する．この写像は，id (F (T rack)) が 1 の時にできる．

true に写され，そのほかの場合は f alse に写すように定また CRDT では，Eventual Consistency (EC) により，義する．部分対称分類子の性質により，{T rack|p} = {t ∈各レプリカは最終的に収束し，一貫性があることを目的に

F (T rack)|p(t) = true} = 1 が導かれる．このように，同しているが，可換であることによる別の利点も得られる．

じデータとして扱っていたものを要素ごとに，特徴を新たプロジェクトの全てを共有するために，全ての操作を他に付加することができる．のレプリカに送信するのではなく，あえて自分しか使用しないことが分かっている部分の操作は他のレプリカに送信!

{T rack|p}1

しなくても，追加の処理が不要なまま，共有する部分の更truepF (T rack)
図 7

新を受け入れることができる．つまり可用性がある．例えΩばユーザの環境設定などのユーザ固有の処理に，仕様の異部分対象分類子の例なる特別な設定ファイルを用意することなく一元に管理できるようになる．

続いて，ある条件を満たす F(Track) の要素を探すことを考える．例えば，ギターボーカルの担当のトラックを把さらに CRDT は，外部のライブラリをインポートする際にも有用である．外部のライブラリを考えていく際には，握したいため「弦楽器または人間である F(Track)」を探し各操作にユニークな識別子を持たせることで，様々なプロたい．上述と同様に q =「人間である」ということに対応ジェクトであるライブラリの様々なバージョンをインポーする特性写像を用意する．∪ = Ω × Ω → Ω を用いること
で，部分対称分類子の性質により {1, 3} が得られる．このような操作が行えることで，再利用性や可読性が向上する．

Ω<p,q>Ω×Ω

ここでは，具体的なデータ構造について説明する．対象る．そのため通常のグラフでは対象や射，圏などをそれぞ

qΩ∪Ω
図 8

3.3.2 シンプルなデータ構造
や射は，点と矢印を持つ有向グラフのデータ構造で表されF (T rack)p

トしているときの最適化に役立つと考えられる．

弦楽器または人間である F(Track) の部分集合の抽出れ別の構造体で表す必要がある．さらに本プロジェクト
ファイルは実際には圏論的な表現だけではなく，音声データなどの情報も含む．他にも，VR・AR の発展に伴い，AR機器で電子楽器を演奏することが想定される．その際には，周辺の空間構造のデータを扱うことが必要になるだろう．これらが全て別の表現方法を用いていると，新たな概3.3 提案形式のデータ構造

念を追加する度に新たな実装や変更を行う必要が出てくる

本プロジェクトファイルは 3.2 の情報がそのまま保存さため，再利用性が下がるだけでなく，実装が複雑になりバれているのではなく，2.3 で紹介した CRDT のデータ型のグや実装工程数が増え，第三者ソフトウェアでの利用が憚状態で保存される．これにより，完全性に関わる共同編集られるようになる．加えて，3.3.1 で CRDT を使用する利と変更履歴の管理が行えるようになる．

点を紹介したが，CRDT の性質上，複雑なデータ構造を持

3.3.1 詳細な変更履歴による利点

つ CRDT を作成することは難しい．以上から統一的に扱

詳細な変更履歴を用いることで，著作物の管理における利点がある．CRDT のような詳細な変更履歴では操作の情えるようなデータ構造や規則が必要になる．
従って本プロジェクトファイルでは，有向グラフで表現報が蓄積されるため，誰がいつどの部分を編集したかを細かく把握できる．
Fun(F)

Cat(C)

まず一つ目の利点として，著作者を明確化できる．電子
音楽では，音を出すためのプログラムとなる楽器やエフェ

FunOb(Note)

クトとそのパラメータとなるメロディーや音色，曲の構成
Ob(Note)FunAr(Time)ことが多い．また楽器の一部を改変することも考えられ
FunOb(Float)

Ar(Time)© 2024 Information Processing Society of Japan

El(1)
El(2)

Mo(1)
Mo(1) Mo(2)El(0.0)

次に二つ目の利点として，一定の盗作を防ぐことができな手順で制作したかわかる．そのため，試行錯誤すること

Ar(F(Time))

Mo(2)が，詳細な変更履歴によって明確に著作者を管理できる．
る．いつどの部分を編集したか把握できるため，どのようOb(F(Note))

FunAr(Duration)などが含まれる．プログラムとパラメータで著作者が違う
る．そのような状況では著作者が曖昧になる可能性がある

Cat(FinSet)

Ar(Duration)
Ob(Float)El(1.0)El(0.25)

Ar(F(Duration))Ob(F(Float))

図 9

圏と関手，集合の有向グラフによる表現

505

情報処理学会 インタラクション 2024
IPSJ Interaction 2024

1P-72
2024/2/28

される．圏や関手，集合などの各概念はノードとして表現

参考文献

され，近接するノードを知ることで，意味が与えられる．

[1]

例えば，図 5 の２つの対象 Note と Float，そして２つの射Time と Duration に限定した圏 C ′ を考えると，図 9 のよ

[2]うな構造となる．注意として，エッジに色が付いているのは視認性のためであって，構造の差異ではない．圏 C ′ の[3][4]対象 Note は，Ob を型とする Note という名前のノードと[5]して表現する．射や関手なども同様にノードとして表す．
このような構造にすることの利点として，拡張性に優れていることが挙げられる．例えば，圏 C の射 Time から射[6]Duration への射，つまり射の射を考える必要が出てきた
時に 2Ar を型とするノード 2Ar(T imeDur) を用意するこ[7]とで，Ar(T ime) → 2Ar(T imeDur) → Ar(Duration) の[8]ように，データ構造を変更することなく新たな概念の表現ができる．他の例として，関手と各対象の移り変わりの[9]関係や，圏 F inSet 内の射，つまり集合間の写像とその要素の各マッピングの関係のような上位の概念と下位の概念の関係を表現できる．例えば関手のノード F un(F ) か[10]ら F unOb(N ote) のノードへのエッジが存在することで，F unOb(N ote) は関手 F による Note の別の圏への射であ[11]ることがわかる．
最終的にこの有向グラフは，CRDT の操作ベースの有[12]向グラフ 2P2P-Graph を用いて表現される．そのため，フォーマットとしては各操作が保存されている．

4. おわりに[13]

本論文では，圏論や集合，有向グラフなどの数学的な表
現を用いることで，可読性や再利用性を向上させつつ，簡潔に情報を表すことができた．これにより DAWproject のような従来のプロジェクトファイルで使用される音楽情報

[14]
[15]

が表せるだけでなく，共同作業や変更履歴の管理，より多くのデータ表現や抽出が行えるようになった．

[16]

4.1 今後の課題
本論文では圏の圏 Cat において，小さい圏 C と有限集合の圏 F inSet のみを用いていたが，圏の条件を満たしているその他の数学的構造への移行や他の圏の登場，圏の拡[17]

Avid Technology, I.: Pro Tools, https://www.avid.
com/pro-tools.
Bitwig: DAWproject, https://github.com/bitwig/
dawproject.
Cycles, T.: Tidal Cycles, http://tidalcycles.org/.
Dannenberg, R. B.: Languages for computer music,Frontiers in Digital Humanities, Vol. 5, p. 26 (2018).
Lazzarini, V., Yi, S., Heintz, J., Brandtsegg, Ø., McCurdy, I. et al.: Csound: a sound and music computingsystem, Springer (2016).
Magnusson, T.: Algorithms as Scores: Coding Live Music, Leonardo Music Journal, Vol. 21, pp. 19–23 (online),
DOI: 10.1162/LMJ a 00056 (2011).
Mazzola, G.: The Topos of Music II: Performance:
Theory, Software, and Case Studies, Springer (2018).
McCartney, J.: Rethinking the computer music language: Super collider, Computer Music Journal, Vol. 26,
No. 4, pp. 61–68 (2002).
Schultz, P. and Spivak, D. I.: Temporal Type Theory: A
topos-theoretic approach to systems and behavior, arXiv
preprint arXiv:1710.10258 (2017).
Schultz, P., Spivak, D. I., Vasilakopoulou, C. andWisnesky, R.: Algebraic databases, arXiv preprint
arXiv:1602.03501 (2016).
Sethi, R.: Top 12 Most Popular DAWs (You VotedFor) - Ask.Audio, https://ask.audio/articles/
top-12-most-popular-daws-you-voted-for.
Shapiro, M., Preguiça, N., Baquero, C. and Zawirski,
M.: A comprehensive study of convergent and commutative replicated data types, PhD Thesis, Inria–CentreParis-Rocquencourt; INRIA (2011).
Shapiro, M., Preguiça, N., Baquero, C. and Zawirski, M.:
Conﬂict-free replicated data types, Stabilization, Safety,and Security of Distributed Systems: 13th International
Symposium, SSS 2011, Grenoble, France, October 10–12, 2011. Proceedings 13, Springer, pp. 386–400 (2011).
Vigna, S.: A guided tour in the topos of graphs, arXiv
preprint math/0306394 (2003).
Wang, G., Cook, P. R. and Salazar, S.: Chuck: A
strongly timed computer music language, Computer Music Journal, Vol. 39, No. 4, pp. 10–29 (2015).
後藤真孝，吉井和佳，藤原弘将，中野倫靖ほか： Songle:
音楽音響信号理解技術とユーザによる誤り訂正に基づく能動的音楽鑑賞サービス，情報処理学会論文誌， Vol. 54,
No. 4, pp. 1363–1372 (2013).
松浦知也， 城一裕ほか： 音楽プログラミング言語のソースコードを楽譜と捉え, それを編集するツールの構想，研究報告音声言語情報処理 (SLP)， Vol. 2019, No. 17, pp.
1–4 (2019).

張を行うことなど想定される．例えば，インスタンスの圏

C → Set を拡張した前層トポス [14] を使用したり，時間を扱いたい場合には，期間にわたる推論ができる時間に関する層 [9] を用いたりするとよいだろう．また本提案方式
は，CRDT から有向グラフ，有向グラフから圏の圏というようなデータ変換が行われているが，各データ構造が適切であるか検証できておらず改善の余地がある．
今後は音楽制作や再生向けの構造を持つ方式に改善しつ
つ，応用ソフトウェアとの連携を試みて，本提案方式の課
題の発見と改良を目指す．

© 2024 Information Processing Society of Japan506