Tsukuba DTM blog

筑波大学作曲サークル DTM Lab. のブログ

Neural Audio Codecを悪用して変なグリッチを作る(前編)【新歓Advent Day10】

はじめに

自己紹介

2025年度にTsukuba DTM Lab.へと入会させていただきましたミニ機雷といいます。自己紹介というものが苦手なのでそれに代えて、個人的な 2026年 ベストバイ 3選 を発表させていただきます。ここから人となりを読み取ってください。

  • item.rakuten.co.jp
    • ↑充電式のちっちゃな掃除機 筆者が筑波大学の某学生宿舎から退去するにあたり、床に山積していたよくわからん微小な塵などを全て吸い取ってくれた ありがとう
  • www.amazon.co.jp
    • ↑床拭き器具 筆者が筑波大学の某学生宿舎から退去するにあたり、床に山積していたよくわからん微小な塵などを全て吸い取った後に出現した"第二層"を全て拭き取ってくれた ありがとう
  • www.amazon.co.jp
    • 宿舎への入居を予定されている新入生の皆様方におかれましては、こまめに掃除をする習慣をつけることを強くおすすめしたいところです

では本題に移りましょう。

前提

まず、「グリッチ」と「音声コーデック」という2つの概念についてそれぞれ紹介します。直線的な繋がりがないので混乱を招くかもしれませんが、ご容赦願えれば幸いです。

グリッチについて

音楽において狭義の*1 グリッチといえば、音飛びやノイズ音など、デジタル機器で音声を扱う際に発生するアーティファクト……要するに "バグった感じの音" を指します。

音楽制作現場へのデジタルテクノロジーの導入が加速していった1990年代、「デジタルな手法を単に完璧なツールとして持て囃すのではなく、あえてデジタルメディアならではの"失敗"を探求する」美学のもと広まった概念で*2、実世界ではまず生まれないような攻撃的……あるいは飛び道具的なサウンドに魅力があります。

例えば?

グリッチはもうすっかり広く知れ渡った表現で、別にエレクトロニックなジャンルに限らず、適当な現代日本のポップミュージックを聴けば当たり前にそこから派生した表現が見つかります。

わかりやすい例をいくつか挙げてみましょう。 米津玄師さんの『1991』 は、サビ終わりの音割れシンセ*3はじめ、全体を通してグリッチサウンド盛り盛りの1曲と言えますし……。

youtu.be


ボカロ曲からも引いてみると、いよわさんの楽曲群は、どの曲もビットクラッシャー*4などで音質を意図的に劣化させる演出を大なり小なり取り入れている印象です。

『きゅうくらりん』ではプラックシンセやピアノなど、様々な楽器にローファイな質感が加えられていますし……。

youtu.be

『異星にいこうね』ではより露骨な形で、ノイズが展開の引き出しに利用されています。

youtu.be


また、こちらは趣味です。

youtu.be

趣味です。

音声コーデックについて

古典的な説明

ソフトウェア的な意味合いでの音声コーデックとは、デジタル表現された音声信号を圧縮してファイルサイズを削減したり、逆にその圧縮を解除して再び聞けるようにするためのファイル規格のことを概ね指します。例えば画像コーデックにpngとjpgがあるように、音声コーデックにも「可逆圧縮」と「不可逆圧縮」のものがあり、拡張子でいうとそれぞれ、 * 無圧縮: .wav, .aiffなど * 可逆圧縮: .flac, .alacなど * 不可逆圧縮: .mp3, .opus, aacなど が該当します。

中でも特に有名なのは、やはり.wav.mp3ではないでしょうか。.wavはそもそもほとんど生データそのものなので置いておくとして、.mp3形式と互換性を持つソフトウェアは数多く、逆に言えば互換性に富むぶん、その圧縮の仕組みは広く、また明確に知られているものです。そのため一口にmp3コーデックといっても、それを圧縮/圧縮解除するためのエンコーダー/デコーダーの実装は1つでなく、また実装毎に細部の挙動が異なるような場合があります。

この記事にはBladeという古くて一部の機能に対応していないエンコーダー*5と、LAMEという比較的新しい、現状のデファクトスタンダードに近いエンコーダーの二つが登場します。

Neural Audio Codecについて

さて、音声コーデックのうち特に不可逆圧縮の部分について、近年活発に研究されているのがNeural Audio Codecという分野です。これはニューラルネットワークの技術を音声コーデックに利用することで従来よりさらに高効率な圧縮を実現しようというコンセプトのもので、ある程度知られたものとしては、Googleが2021年に発表した先駆け的なモデルであるSoundStream*6、FaceBook(Meta)が2022年に発表したEnCodec*7、これらの改良版とされるDAC*8など。発展途上の分野なので一概には言えませんが、初期に確立されたアーキテクチャはこれらで説明可能だと思われます(詳細は後述)。


以上、ひとまず一通りの前提の前提について説明し終えたので、次に前提に移ります。

Maimについて

紹介

さて、ここまでに紹介した2つの軸……「グリッチ」と「音声コーデック」について語る上で、特に紹介したいエフェクトプラグインがあります。Maimという、GitHub*9上でホストされているオープンソースのディストーションプラグインです。 Maimのスクリーンショット。公式サイトより引用 wildergardenaudio.com ↑これが公式の解説ページ github.com ↑これがソースコード

開発者はアメリカ・オレゴン大学のコンピュータ専攻出身というArden Butterfield氏で、学部生としての卒業論文で取り組んだVSTプラグイン開発のプロジェクトを卒業後も引き継いで調整を続け、最終的にMaimを完成させたとのことです*10。早くこれになりてえ……。

……話を戻しましょう。

グリッチエフェクトとしてのMaimの特徴的な点は、その効果がデジタル音響技術の中でも、特にmp3エンコーダの改造によって成り立っていることです。

先ほど添付したスクリーンショットに目を向けてみてください。左上にある『MAIM』というエフェクト名の表示の横に、『Blade Encoder』『Lame Encoder』というラベルが並んでいるのが見えるでしょうか?そう……Maimには、先ほど挙げたふたつのエンコーダーが内蔵されているのです!*11

Maimが行っている処理は、In Gain*12や簡単なパスフィルター機能などを除けば、ほぼ

  1. 入力された音声を、
  2. 改造MP3エンコーダーでエンコードし、
  3. エンコードしたものをデコードし、
  4. 出力する

というものに限られます。こう書き出せばシンプルにも見えますが、2行目の内部で行われている処理の特殊さこそが、Maimのユニークさのキモと言えます。詳しく見てみましょう。

具体的に何をしているのか?

簡単に話します(詳しい記述は以下、Maimの公式マニュアルを当たっていただければ幸いです)。

github.com

MP3エンコーダーは音声圧縮をいくつかのステップに分けて行います。すなわち、

  1. ある区間の入力PCM*13に対しPQMF*14を適用し、音声を32バンドに分割する (Blade, LAME共通)
  2. 1で算出した32バンドの音声にさらにMDCT*15を適用し、32×18=576バンドに分割する*16。後処理としてアンチエイリアシングを行う(Blade, LAME共通)
  3. 信号に対するFFT*17も行い、その結果と"聴覚心理モデル"をベースにマスキング閾値*18を決定する (LAMEのみ)
    • Bladeで聴覚心理モデルが実装されていないのは、参考にしたMP3の仕様が違うとかの問題ではなく*19、単に「エンコーダーの作者が実装をサボり、簡易的な処理で止めた」ということのようです
  4. 2と3の結果を元に各バンドに対して「どれだけその信号が歪んでもいいか」の判断を下し、反復的な量子化・ハフマン符号化*20により圧縮する(Blade, LAME共通)
  5. 以上の操作によって出力されたメインデータをMP3フレームとして書き出し、ストリームする(Blade, LAME共通)

Maimはこれらに対し、大まかに以下のような形で干渉します。

  • 聴覚心理モデルによるマスキング閾値に対し補正をかける(周波数に比例)
  • PQMFの結果に対し、
    • 32個のビンの間で、GUIから設定されたマトリックスに基づき「入れ替え」を行う
    • MDCT出力のWindow sizeやインクリメント位置をずらす
  • MDCTの結果に対し、
    • 反転する
    • 縦横にシフトする
    • アンチエイリアシング処理の対象接続を組み替える
  • 符号化の際にビットクラッシュをかける

非常に多様な手札でもって、mp3エンコーダを改造して音を変にしようという意思を実装に導いているのがご理解いただけるかと思います。

Maimの何がいいのか?

Maimの良さは、単純に飛び道具用のディストーション・エフェクトとして非常に有用であることと同時に、その設計コンセプトの美しさにあります。

そもそも前段で触れたように、1990年代に広がった時点での「グリッチ」の精神は、コンテンツを載せるメディア、あるいは制作するためのツールとしてのデジタル技術に着目し、その「失敗」に"あえて"の良さを見出す……そんな美学を根幹としていたはずです。であればグリッチエフェクトとしてのMaimは、その美学を極めてストレートに受け継いだ存在であると言えるのではないでしょうか。

2000年頃に開発された荒削りなmp3エンコーダをあえて持ち出し、パラメータを変更可能にすることでノイズサウンドの生成に転用する……。そんな試みはまさに、様式と、その限界を逆手に取った創造として模範的であるとすら言えると思います。

このように筆者は、Maimの設計思想にいたく感動しました。いたく感動したからこそ……Neural Audio Codecでも同じようなことができないか、そんな発想に至ったわけです。

(後編に続く)

(文責:ミニ機雷)

*1:音楽ジャンルの名前としてのグリッチは置いておいて、という意味

*2:背景について説明した当時の文献にCascone, Kim. (2000). The Aesthetics of Failure: Post-Digital Tendencies in Contemporary Computer Music. Computer Music Journal - COMPUT MUSIC J. 24. 12-18. 10.1162/014892600559489. など

*3:デジタルオーディオでは"表現可能な音量の最大値"が定められている場合があり、この基準を超えると音声波形が削り取られたかの如く平らになる"音割れ"が生じ、ヘタを打つと耳にダメージが行く。みんなは聴覚を保護してDTM

*4:音声波形をデジタル信号に変換する際のサンプリングレートやビット深度などを意図的に通常より大きく削減することで、音質を低下させたり極端な形状の波形を生み出すエフェクト

*5:公式サイトをWayback Machineから貼らざるを得なかったことからもわかるように

*6:Neil Zeghidour, Alejandro Luebs, Ahmed Omran, Jan Skoglund, Marco Tagliasacchi.(2021). "SoundStream: An End-to-End Neural Audio Codec"

*7:Alexandre Défossez, Jade Copet, Gabriel Synnaeve, Yossi Adi.(2022). "High Fidelity Neural Audio Compression"

*8:Rithesh Kumar, Prem Seetharaman, Alejandro Luebs, Ishaan Kumar, Kundan Kumar.(2023). "High-Fidelity Audio Compression with Improved RVQGAN "

*9:ソフトウェア開発プラットフォーム

*10:https://juce.com/made-with-juce/arden-butterfield-from-wildergarden-audio/

*11:最新バージョンではさらにopusが追加されているが、ここではmp3に絞って話を進める

*12:入力音声の音量をプラグイン内で調整する機能

*13:ざっくり言えば、デジタル化された音声波形

*14:Polyphase Quadrature Mirror Filter;音声を複数の周波数帯域に分割するためのポリフェーズフィルタバンクの一種

*15:Modified Discrete Cosine Transform/変形離散コサイン変換

*16:技術的にはPQMFを経なくてもMDCTだけで元の音声から576バンドへ分割できるはずで、マニュアル内でも「1つでいい処理を2つに分けている」というツッコミを入れていて面白ポイントです。技術的というより政治的理由によるとのこと

*17:高速フーリエ変換。波形から周波数成分に対応するエネルギーを得る

*18:「それぞれの帯域にどれくらいの量子化誤差があっても大丈夫か」という閾値。人間の聴覚は様々な原因によりある音が聞こえづらくなるようにできており、聞こえづらくなった音はその分解像度を下げられる

*19:https://www.mpeg.org/standards/MPEG-1/3/

*20:頻出する表現ほど短い符号を割り当てるようにすることで情報量を削減するエントロピー符号化の一種