SC ファイル形式とは?
.sc ファイルは、オーディオ合成、アルゴリズム作曲、ライブコーディングのためのプラットフォームである SuperCollider プログラミング言語で記述されたプレーンテキストのソースコードファイルです。SuperCollider において、.sc ファイルは起動時にインタプリタ sclang によってクラスライブラリにコンパイルされる クラス定義 を保持します。これは、IDE でオンデマンドに評価されるインタラクティブなドキュメントである .scd ファイルとは区別されます。
.sc クラスファイルを変更した場合はクラスライブラリ全体を再コンパイル(Language > Recompile Class Library)する必要がありますが、.scd ファイルは即座に評価されます。クラス定義は ClassName { methodName { ... } } という中括弧ブロック構造に従い、オプションのコンストラクタメソッド、インスタンス変数、および SynthDef、Pattern、または Server インタラクションブロックを含みます。SuperCollider 言語は、Smalltalk の影響を受けた構文を持つオブジェクト指向言語です。
SuperCollider は1996年に James McCartney によって作成され、2002年(バージョン3)にオープンソース化されました。その際、.sc と .scd の分割が確立されました。アカデミックな電子音響音楽、ライブコーディングパフォーマンス、音楽テクノロジーの研究で広く使用されています。
.sc 拡張子は、Chuck Martin による Unix の sc スプレッドシートプログラムや、稀に Scilab スクリプトにも関連付けられていますが、どちらの使用法も SuperCollider と比較すると稀です。構文ハイライトは、VS Code では sclang-vscode、Emacs では scel、Vim では scvim を通じて利用可能です。
セキュリティと安全性
リスク: LOW.sc ファイルはプレーンテキストであり、テキストエディタで開いたりソースとして閲覧したりするだけで実行されることはありません。リスクが生じるのは、SuperCollider でコードを「評価(実行)」した場合(scide で Ctrl+Enter)です。SuperCollider コードはシステム(ファイル、オーディオハードウェア)にアクセスし、任意のコードを実行できるため、信頼できるソースからの .sc ファイルのみを評価してください。Extensions フォルダに配置されたクラスファイルは、SuperCollider の起動時に自動的にコンパイルおよびロードされます。
形式の詳細
概要- SC スプレッドシート (sc) - クラシックな Unix ターミナルベースのスプレッドシートプログラム «sc»(Chuck Martin 作、Oleo 派生)は、スプレッドシートファイルに .sc を使用します。現在も Unix/Linux で使用されています。
- Scilab スクリプト - Scilab(数値計算)で稀に .sc が使用されることがありますが、標準的な Scilab 拡張子は .sci および .sce です。
- Framework II ディスプレイドライバ (レガシー) - Selections & Functions Inc. による Framework II 用の1980年代の廃止された DOS 設定ファイル。現代的な関連性はありません。
SC ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディング | プレーンテキスト、UTF-8 |
| バイト順序 | 該当なし - テキストファイル |
| コンテナ | なし - プレーンテキスト |
| マジックバイト | なし - 拡張子と SuperCollider クラス構文によって識別 |
| 一般的なサイズ | クラスファイルあたり 100 バイト - 500 KB。大規模な拡張ライブラリには多くの .sc ファイルが含まれる場合があります |
| 言語 | SuperCollider - オブジェクト指向、Smalltalk の影響を受け、関数型およびリアクティブプログラミングをサポート |
| ファイルの役割 | 起動時に sclang によってクラスライブラリにコンパイルされるクラス定義 - .scd ドキュメントのようにインタラクティブには評価されない |
| コンパイルのトリガー | .sc ファイルが追加または変更されるたびに、SuperCollider クラスライブラリ全体が再コンパイルされる |
| クラス構文 | ClassName { methodName { ... } } の中括弧ブロック構造。classvar、var、および *new コンストラクタ定義をサポート |
| IDE サポート | SuperCollider IDE (scide)。SuperCollider 3(Windows, macOS, Linux)に同梱。ポストウィンドウ、サーバーコントロール、クラスライブラリの再コンパイル機能を含む |
| クラスライブラリパス | sclang は起動時に、ユーザー拡張ディレクトリを含むクラスライブラリ検索パス上のすべての .sc ファイルをコンパイルする |
| インタプリタ | sclang (SuperCollider 言語インタプリタ)、クロスプラットフォーム - Windows, macOS, Linux |
| .scd との関係 | .scd ファイルは SuperCollider IDE でオンデマンド評価するためのインタラクティブなドキュメントであり、コンパイル済みクラスは定義しない |
| リリース日 | 1996 (SuperCollider 1, James McCartney); .sc extension established with SuperCollider 2 / 3 |
| 最新バージョン | SuperCollider 3.13.0 (2023) / ongoing active development |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | supercollider.github.io |
SC の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。SC ファイルについて最初の質問をしてみましょう。