この写真の特徴
写真の解析値を待っています。
PHOSONOGRAPH INTRODUCTION
PHOSONOGRAPHは、写真を音楽として演奏するためのPhoto Instrumentです。
完成済みの曲を写真へ当てはめるのではありません。写真の色、明るさ、彩度、質感、余白、構図などを解析し、それらを音程、音の強さ、休符、リズム、音色、空間、旋律の流れへ翻訳します。
画像を読み込んだときには写真全体を解析し、演奏中には走査線の現在位置を繰り返し解析します。そのため、写真全体の性格を保ちながら、現在読んでいる場所に応じて音が変化します。
写真が完成した楽曲を内部に持っているわけではありません。写真が音の候補と演奏傾向を作り、走査と各エンジンの判断によって、その瞬間の演奏が組み立てられます。
画面上部の読み込みエリアへ画像をドラッグ&ドロップするか、クリックして画像を選択します。
画像が読み込まれると、写真全体からPHOTO PROFILE、COMPOSITION DNA、演奏人格、Root、Scale、空間特性などが準備されます。
走査線が写真の中を移動しながら、現在位置周辺のRGB、明度、彩度、色の分布などを読み取って演奏します。
走査線の描画と発音タイミングは別々に管理されています。BPMは主にメロディ、ハーモニー、ベース、ドラム、同期Delayの時間基準になります。
CURRENT COLORには、現在の走査位置から読み取られた色チップ、HEX、RGB、彩度、分類色、割り当て音が表示されます。
写真のどの色が、どの音の候補へ変換されているかを確認しながら演奏を聴くことができます。
LINEARは写真を帯状に左から右へ走査します。RADIALは写真の中心を基準に、放射状の領域を読み取ります。
キャンバスのクリック、タップ、ドラッグ、キーボード操作によって、任意の地点を手動で走査することもできます。
REST AMOUNTは、演奏全体の休符と発音密度を調整します。
値を上げるほど、メロディだけでなくハーモニー、ベース、ドラムの発音機会も穏やかに間引かれ、余白の多い演奏になります。
MUSICAL TRANSLATIONがONの場合、写真全体から決めたRootとScaleの中で、色がDegreeを選びます。
スイッチをLEGACYへ切り替えると、初期のPHOSONOGRAPHで使われていた、色ごとの固定Color Scale方式へ戻ります。
写真全体の明るさ、彩度、色数、コントラスト、質感、構図などから、PHOTO PROFILEとCOMPOSITION DNAが作られます。
通常演奏では、それらを基にRoot、Scale、演奏人格、音域、密度、空間、リズムの傾向が決まります。
MUSICAL TRANSLATIONでは、色に固定音を直接割り当てるのではありません。
現在色が、選択中のScale上のDegreeを選び、そのDegreeから音名と周波数が作られます。同じ色でもRootやScaleが変われば、割り当て音は変化します。
現在位置の明るさは、主に音の強さへ変換されます。
明るい領域ほどVelocityが高くなりやすく、暗い領域ほど柔らかな音量になります。高音域や同時発音数に応じて、追加の音量補正も行われます。
彩度は、同じ音程をわずかにずらして重ねるDetuneの基礎量へ使われます。
音階そのものを変える機能ではなく、音の厚み、広がり、揺らぎを作るための要素です。
色や明暗の変化が少ない場所では休符が入りやすくなります。REST AMOUNTは、この写真由来の休符傾向と演奏全体の発音密度を調整します。
走査領域に含まれる複数の色は、色ごとの候補音やHarmony Candidateへ変換されます。
単純に基音へ3度や5度を追加するだけではなく、写真の色分布、Root、Scale、Voice Leading、衝突回避などを通してハーモニーが作られます。
現行の標準翻訳方式です。
写真全体 ↓ Root / Scale ↓ 現在色 ↓ Degree ↓ 候補音 ↓ 旋律としての選択
色は固定された音名ではなく、現在の音楽世界の中で役割を持ちます。
初期のPHOSONOGRAPHで長く使われていた旧方式です。
現在色 ↓ 色ごとの固定Scale ↓ 色成分値 ↓ 基準音
LEGACYではRoot / Scaleを音程選択に使わないため、Root / Scale表示はN/Aになります。旧方式も現在利用可能です。
写真から最初の候補音が作られても、その音が必ずそのまま鳴るわけではありません。
PHOSONOGRAPHは、写真由来の候補を維持しながら、旋律の流れ、履歴、演奏人格、同時音との距離などを評価します。
PHOSONOGRAPHは、内部処理をできるだけ隠さず、ユーザーにも見せることを設計方針の一つにしています。
仕組みを見ながら遊び、音楽、画像解析、音響合成の関係を理解できることも、PHOSONOGRAPHの体験の一部です。
最初は次の状態を推奨します。
まずは標準のMUSICAL TRANSLATIONで、写真が作るRoot、Scale、Degree、候補音、旋律を聴いてください。
その後、LEGACY、Conductor、Rhythm Auto、Mutation、各Space機能を切り替えると、それぞれの役割を比較しやすくなります。
PHOSONOGRAPHは、写真から常に同じ完成曲を再生するプレイヤーではありません。
写真が音の候補、音の強さ、休符、演奏人格、空間の性格を作り、現在の走査位置、直前の音、フレーズ状態、各Engineの判断によって、その瞬間の演奏が組み立てられます。
写真は楽譜 走査は演奏 翻訳は音楽的な意味 エンジンは解釈 Web Audioは楽器
PHOTO-TO-AUDIO ARCHITECTURE
PHOSONOGRAPHでは、画像を読み込んだ瞬間に完成した曲が決まるわけではありません。
写真全体を一度解析して音楽世界と演奏傾向を準備するGLOBAL ANALYSISと、演奏中に現在の走査位置を繰り返し解析するLOCAL SCAN ANALYSISが組み合わされています。
写真が候補を作り、走査と各Engineがその候補を解釈し続けることで、リアルタイムに演奏が組み立てられます。
画像を読み込む
│
▼
写真全体を解析
│
├─ PHOTO PROFILE
├─ COMPOSITION DNA
├─ Performance Persona
├─ Root / Scale
├─ Composition Seed
├─ Dwell Profile
└─ Space / Rhythm / Performance傾向
│
▼
PLAY
│
▼
現在の走査領域を解析
│
├─ Raw RGB
├─ Display Color
├─ Brightness
├─ Saturation
├─ Flatness
├─ Color Classification
└─ Color Histogram
│
▼
発音機会とRESTを判断
│
▼
MUSICAL TRANSLATION
│
├─ ON → Root / Scale / Degree Mapping
└─ LEGACY → 色ごとの固定Color Scale
│
▼
初期Pitch Candidate
│
▼
PHOTO–MUSIC Guide / Melody Line Engine
│
▼
Musical Translation
Cadence / Repeat Safety
│
▼
Melody Memory
│
└─ Photo Expressionによる候補Score・Phrase・Duration補正
│
▼
HCAE / Cadence / Persona
Combined Candidate Race
│
▼
DwellによるApply / Stay判断
│
▼
最終Playable Frequencyを決定
│
▼
Audio Voice
│
├─ Gravity
├─ Mutation
├─ Velocity / Gain
├─ Duration / Articulation
├─ Pan / Detune
├─ FM
└─ WaveShaper
│
▼
Reverb / Delay / Stereo
│
▼
Compressor / Master Gain / Limiter
│
▼
スピーカー
画像を読み込んだときに一度実行され、写真全体の特徴を計算します。
これらはPHOTO PROFILEとして保存され、COMPOSITION DNA、Persona、Root / Scale、空間特性、Dwell Targetなどの基礎になります。
演奏中、走査位置ごとに繰り返し実行されます。単一の1ピクセルだけではなく、現在位置周辺の細い帯または放射状領域に含まれる複数ピクセルを集計します。
PHOTO PROFILEは、写真全体を12項目の視覚的特徴へ変換したものです。
写真 │ ├─ Warmth ├─ Brightness ├─ Contrast ├─ Saturation ├─ Flatness ├─ Color Diversity ├─ Dominant Hue ├─ Texture ├─ Edge Density ├─ Complexity ├─ Symmetry └─ Balance
PHOTO PROFILE自体が、次に鳴る具体的なPitchを直接決定するわけではありません。
写真全体の音楽世界、演奏人格、リズム、音域、空間、休符、Dwellなどを作るための基礎データです。
PHOTO PROFILEは、10項目のCOMPOSITION DNAへ変換されます。
Flow · Pulse · Density · Fragment · Echo Gravity · Warmth · Energy · Tension · Space
PHOTO PROFILEとCOMPOSITION DNAから、写真に最も近いPerformance Personaが選ばれます。
Dreamer · Architect · Echo · Explorer Pulse · Horizon · Fragment · Wanderer
Personaは、候補配列に存在しないPitchを新しく生成する音階表ではありません。
既存の写真由来Candidateに対して、次のような有限の演奏補正を加えます。
Personaは写真を上書きする演奏家ではなく、写真の候補をどのように選び、維持し、再会させるかを補助する演奏人格です。
走査線は写真の現在位置を示しますが、走査線が動くたびに必ず音が鳴るわけではありません。
画面描画と音楽の発音判断は、別々の時間系で動きます。
画面描画
│
└─ 高い頻度で走査線とUIを更新
BPM GRID
│
├─ Melody
├─ Harmony
├─ Bass
├─ Kick / Snare / Hi-Hat
└─ BPM同期Delay
主な演奏判断は16分音符Gridを基準に行われます。
BPMは単なる走査線速度ではなく、アンサンブル全体の時間基準です。
発音Gridへ到達しても、必ず音が鳴るわけではありません。
現在Step · REST AMOUNT · Local Flatness Brightness · Color Information · Breath Melody Grid · Persona · Ensemble Opportunity
REST AMOUNTは、MelodyのPHOTO RESTだけでなく、Harmony、Bass、Kick、Snare、Hi-Hatの発音機会を穏やかに間引くGlobal Densityとしても働きます。
ただし、構造上重要な発音や各Character EngineのAnchorを完全に消さないよう、安全補正が入ります。
現在の走査領域から得られた色は、CURRENT COLORとして通常UIと透明化Stateへ渡されます。
Raw RGB ↓ Display Color / HEX ↓ Saturation ↓ Color Classification ↓ Assigned Degree / Assigned Notes
彩度が一定以上ある領域はHueによって有彩色へ分類され、彩度が低い領域はBrightnessによって無彩色へ分類されます。
有彩色 → RED · ORANGE · GOLDEN · GREEN · OCEAN · PURPLE 無彩色 → BLACK · GRAY · WHITE
CURRENT COLORパネルでは、色チップ、HEX、RGB、彩度、分類色、割り当て音を確認できます。
現行の標準Pitch Translationです。
写真全体 ↓ Root / Scale ↓ 現在色 ↓ Assigned Degree ↓ Scale内の音 ↓ 初期Pitch Candidate
色は固定された音名を持つのではなく、現在のRoot / Scale内でDegreeという音階上の役割を持ちます。
初期のPHOSONOGRAPHで長く使用された旧方式です。
現在色 ↓ 色ごとの固定Scale ↓ 色成分値 ↓ Scale Index ↓ 基準周波数
LEGACYではRoot / ScaleをPitch選択へ使用しません。そのためUI上のRoot / ScaleはN/Aになります。
Musical Translation OFF時は、Melody MemoryやPhoto Expressionなど、Translationを前提とする一部の後段処理も使用されません。
Musical Translation ON時は、写真全体から音楽世界としてRootとScaleが準備されます。
Root
│
▼
Scale
│
▼
Degree Mapping
│
▼
Note Name
│
▼
MIDI Number
│
▼
Frequency
同じ色と同じDegreeでも、RootまたはScaleが変われば、実際の音名、MIDI、周波数は変化します。
Musical Translationが現在色から作ったPitchは、主旋律の最初のCandidateになります。
その後、PHOTO–MUSIC GuideとMelody Line Engineが、写真との関係と現在の旋律状態を使って候補を評価します。
Musical Translation Candidate
│
▼
PHOTO–MUSIC Guide
│
├─ 写真由来Pitchとの距離
├─ 現在の音域
├─ 直前音との距離
├─ Phrase Role
└─ Melody Line Score
│
▼
選択されたPitch
この段階は写真を無関係な音へ置き換える処理ではありません。現在のScale Candidate Poolの中で、写真性と旋律性を比較します。
Melody Line Engineは、候補音へ時間的な方向性とフレーズ構造を与えます。
STATEMENT · VARIATION · DEVELOPMENT · RESPONSE · CADENCE
Scale Candidate
│
▼
現在のPhrase Role
│
▼
上昇 / 下降 / 隣接 / 反復 / 跳躍を評価
│
▼
MotifとContourを評価
│
▼
旋律としての候補を選ぶ
MLEは通常演奏で常に使用され、写真由来Candidateを旋律として組織します。
Melody Memoryは独立した旋律生成器ではありません。
MLEまでに決まったPitch
│
▼
現在Pitch近傍のScale音を候補化
│
├─ History
├─ Direction
├─ Repetition
└─ Photo Expression
│
▼
候補を再採点
│
▼
必要な場合だけ近傍音へ局所置換
直前までのPitch履歴や方向を利用し、旋律の継続性を局所的に整えます。
Photo ExpressionはPitchを直接生成する独立エンジンではありません。
これらへ写真由来のExpression Contextを与え、Melody Memoryへ写真らしい好みを加えます。
Photo ExpressionがなくてもMelody Memoryの基本採点は動作できますが、候補順位、Phrase、履歴、Durationが変化し、その差が後続音へ連鎖します。
Melody Memory後の候補は、HCAE、Cadence Grammar、Directional Grammar、Persona Pitch Biasを一つのCombined Candidate Raceで評価します。
Candidate Notes
│
├─ Photo Distance
├─ Collision Penalty
├─ Stability Bonus
├─ Directional Adjustment
├─ Cadence Adjustment
└─ Persona Adjustment
│
▼
Final Score
│
▼
最終Pipeline Pitch
これらは候補外のPitchを自由に生成するのではなく、既存Candidate Pool内の順位を評価します。
Dwell Engineは新しいPitch、Chord、Bass、Drum Patternを生成するEngineではありません。
Existing Engine Proposal
│
▼
Dwell Score
│
├─ Minimum Dwell
├─ State Age
├─ Event Budget
├─ Energy / Pulse / Fragment
└─ Space / Flow / Gravity / Echo
│
▼
APPLY または STAY
│
▼
Existing Audio Path
既存Engineが提案した変化を今すぐ適用するか、現在状態へ留まるかを判断します。
Harmony、Bass、Melody Motif、Drum Pattern、Conductor Stateで共通のDwell思想が使われますが、各Partの役割に応じてTargetとGateは異なります。
Harmonyは単純にMelodyのRootへ3度と5度を追加するだけのシステムではありません。
Color Histogram
│
▼
Harmony Candidate Bundle
│
▼
Root / Scale
│
▼
Chord Candidates
│
▼
Voice Leading / HCAE
│
▼
Selected Voicing
│
▼
Harmony Dwell / Persistence
│
▼
Chord Voice Reconcile
│
├─ 同一Voice → Retain
├─ 消えたVoice → Release
└─ 新しいVoice → Attack
│
▼
Persistent Chord Voices
同一周波数のChord Voiceは可能な範囲で保持され、変化したVoiceだけをRelease / Attackします。
候補が一時的に消失しても、Harmony Persistenceが一定時間状態を維持し、不要な断片化を防ぎます。
Harmony Melody Engineは、確定済みChordの音名やVoicingを作り直しません。
Selected Chord
│
▼
Persistent Voice
│
├─ Attack Timing
├─ Start Offset
├─ Sustain Gain
├─ Gain Gesture
└─ Voice Emphasis
│
▼
演奏されるHarmony
Chord Candidate、Voice Leading、HCAE、Persistenceなどの既存Authorityを維持したまま、持続Voiceへ時間的な演奏Gestureを与えます。
BassはMelodyを単純に低いOctaveへ移したものではありません。
写真 / Root / Scale
│
▼
Bass Candidate
│
├─ Brightness
├─ Gravity
├─ Current Harmony
├─ Melody State
└─ Bass Line Pattern
│
▼
Bass Dwell
│
▼
Collision / Register Safety
│
▼
Bass Audio Voice
Bass Line Engineは、基準音を使いながら、反復、経過音、フレーズ、リズムを作ります。
REST AMOUNT、Rhythm Auto、Dwell、ConductorなどもBassの発音機会へ影響します。
Kick、Snare、Hi-Hatは、共通の固定Patternだけで鳴るのではなく、それぞれ独立したCharacter Engineを持ちます。
BPM Grid Opportunity
│
▼
各Instrument Character
│
├─ PHOTO PROFILE
├─ COMPOSITION DNA
├─ Persona
├─ Composition Seed
├─ Melody Phase
├─ 他Instrument状態
└─ Rhythm Auto Level
│
▼
PLAY / SILENCE
│
├─ Accent
├─ Ghost
├─ Density
├─ Pattern Cell
└─ Character Variation
│
▼
既存Drum Audio Voice
Character Engineは既存AudioNodeを作り直すのではなく、発音直前の演奏判断を担当します。
Brightness ↓ Velocity ↓ Gain ↓ Energy / Register / Voice Count補正 ↓ Final Level
明るい領域ほどVelocityが高くなりやすく、暗い領域ほど柔らかく鳴ります。
Saturation ↓ Detune Base ↓ UI DETUNE Authority ↓ Stereo Side Voices ↓ 厚み・揺らぎ・広がり
DetuneはScaleを変更せず、同じPitchへ微細な周波数差を加えます。
主要UI Controlは、DOM値を直接すべてへ上書きするのではなく、Control Stateを経由して画像補正、Character、Conductor、各Engineへ渡されます。
UI ↓ Control State ↓ Image / Character / Conductor補正 ↓ 各Engine ↓ Final Audio
Pipelineで音名が決まった後も、最終的に聞こえるOscillator周波数、音量、音価、音色はAudio Voice側で決定されます。
Pipeline Pitch
│
▼
Audio Voice
│
├─ Gravity Register
├─ Mutation Pitch / Gain
├─ Velocity
├─ Duration
├─ Articulation
├─ Pan
├─ Detune
├─ Waveform
├─ FM
└─ WaveShaper
│
▼
Oscillator / GainNode
│
▼
Audible Frequency
このため、Pipeline上のMIDI音名と、最終的に耳へ届く周波数が微細に異なる場合があります。
Melody / Harmony
│
▼
Synth Bus
│
▼
Tonal Filter
│
├─ Dry
├─ Synth Reverb
├─ Stereo Delay
└─ Stereo Space
Bass
│
├─ Dry
└─ Bass Reverb
Drums
│
├─ Dry
└─ Drum Reverb
Atmosphere
│
└─ Background Layer
各Bus
│
▼
Master Compressor
│
▼
Master Gain
│
▼
Safety Limiter
│
▼
Speaker
PHOSONOGRAPHは、内部処理を開発者だけの情報として隠さず、ユーザーにも見せることを設計原則の一つにしています。
同じ音を、Note Name、Degree、MIDI、Frequency、候補Score、最終Actorなど複数の表現で確認できます。
音楽、画像解析、プログラム、音響合成の関係を、遊びながら学べることもPHOSONOGRAPHの目的です。
写真を読み込む ↓ PHOTO PROFILEを作る ↓ COMPOSITION DNAを作る ↓ Persona、Root、Scale、Seedを準備 ↓ PLAY ↓ 現在の走査領域を読む ↓ Raw RGB、Brightness、Saturation、Flatness、Color Histogramを計算 ↓ 今回の発音機会とRESTを判断 ↓ 現在色を分類 ↓ MUSICAL TRANSLATIONの状態を確認 ↓ ONならRoot / Scale内のDegreeから初期Pitchを作る LEGACYなら色ごとの固定Scaleから基準Pitchを作る ↓ PHOTO–MUSIC Guide / MLEで候補を評価 ↓ Cadence / Repeat Safetyを適用 ↓ Melody Memoryで近傍Scale音を再評価 ↓ Photo Expressionを候補Score、Phrase、Durationへ反映 ↓ HCAE / Direction / Cadence / PersonaのCombined Race ↓ DwellでAPPLY / STAYを判断 ↓ Playable Frequencyを決定 ↓ BrightnessからVelocityを作る ↓ Audio VoiceでGravity、Mutation、Duration、Articulationを適用 ↓ Waveform、FM、WaveShaper、Detuneを適用 ↓ ADSR、Gain、Filter、Panを適用 ↓ Dry、Reverb、Delay、Stereoへ送る ↓ Master Compressor ↓ Master Gain ↓ Safety Limiter ↓ スピーカーから鳴る
PHOSONOGRAPHでは、写真が完成した楽曲を内部に持っているわけではありません。
写真が作るもの 視覚的な特徴 音楽世界 音の候補 音の強さ 音を休む場所 演奏人格 状態を維持する長さ 空間の性格
走査位置と演奏履歴を読みながら、複数のEngineが候補を評価し、維持し、変化させることで、その瞬間の音楽が組み立てられます。
写真は楽譜 走査は演奏 翻訳は音楽的な意味 記憶は旋律の連続性 Dwellは変化の時間 エンジンは解釈 Web Audioは楽器