refactor spectrum viewer
This commit is contained in:
parent
779e936036
commit
e30daa57d9
21 changed files with 550 additions and 200 deletions
|
@ -60,8 +60,10 @@
|
|||
<Compile Include="Assets\Editor\AppBuilder.cs" />
|
||||
<Compile Include="Assets\Editor\EditorToggle.cs" />
|
||||
<Compile Include="Assets\Editor\LevelMeter.cs" />
|
||||
<Compile Include="Assets\Editor\PdBindEditor.cs" />
|
||||
<Compile Include="Assets\Editor\PdConsole.cs" />
|
||||
<Compile Include="Assets\Editor\PdSpectrumBindEditor.cs" />
|
||||
<Compile Include="Assets\Editor\RectangularSelection.cs" />
|
||||
<Compile Include="Assets\Editor\SpectrumGenerator.cs" />
|
||||
<Compile Include="Assets\Editor\TogglePresenter.cs" />
|
||||
<Compile Include="Assets\Editor\UnitTest\UnitTest_ParameterResponder.cs" />
|
||||
<Compile Include="Assets\Scripts\VideoInput\Editor\UnitTest\ComponentFactoryTestCase.cs" />
|
||||
|
|
|
@ -62,8 +62,8 @@
|
|||
<Compile Include="Assets\Scripts\DataModel\Parameter.cs" />
|
||||
<Compile Include="Assets\Scripts\PdConnection\PdArray.cs" />
|
||||
<Compile Include="Assets\Scripts\PdConnection\PdBackend.cs" />
|
||||
<Compile Include="Assets\Scripts\PdConnection\PdBind.cs" />
|
||||
<Compile Include="Assets\Scripts\PdConnection\PdProcess.cs" />
|
||||
<Compile Include="Assets\Scripts\PdConnection\PdSpectrumBind.cs" />
|
||||
<Compile Include="Assets\Scripts\Versioning\VersionToggleBehaviour.cs" />
|
||||
<Compile Include="Assets\Scripts\VideoInput\ComponentFactory.cs" />
|
||||
<Compile Include="Assets\Scripts\VideoInput\InfraredCamera.cs" />
|
||||
|
|
|
@ -1,104 +0,0 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
|
||||
[CustomEditor(typeof(PdBind))]
|
||||
class PdBindEditor : UnityEditor.Editor
|
||||
{
|
||||
|
||||
private int selectedSpectrum_;
|
||||
private Texture2D texture_;
|
||||
private readonly string[] channels = {
|
||||
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"
|
||||
};
|
||||
|
||||
private Rect paintSpace_;
|
||||
private Rect selectedArea_;
|
||||
private Rect scaledRect_;
|
||||
|
||||
public void OnEnable()
|
||||
{
|
||||
texture_ = new Texture2D(256, 256);
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
var backend = (PdBackend)target;
|
||||
if (Event.current.isMouse && Event.current.button == 0)
|
||||
{
|
||||
switch (Event.current.type)
|
||||
{
|
||||
case EventType.MouseDown:
|
||||
{
|
||||
var mousePos = Event.current.mousePosition;
|
||||
selectedArea_.x = mousePos.x;
|
||||
selectedArea_.y = mousePos.y;
|
||||
break;
|
||||
}
|
||||
case EventType.MouseDrag:
|
||||
{
|
||||
var mousePos = Event.current.mousePosition;
|
||||
selectedArea_.width = mousePos.x - selectedArea_.x;
|
||||
selectedArea_.height = mousePos.y - selectedArea_.y;
|
||||
UpdateScaledRect();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GUILayout.Label("PureData Inputs", EditorStyles.boldLabel);
|
||||
|
||||
selectedSpectrum_ = EditorGUILayout.Popup("Input Channel", selectedSpectrum_, channels);
|
||||
GUILayout.Space(30);
|
||||
GUILayout.Label("Spectrum Extractor", EditorStyles.boldLabel);
|
||||
|
||||
var paintSpace = GUILayoutUtility.GetRect(256, 512, 256, 256);
|
||||
if (Event.current.type == EventType.Repaint)
|
||||
{
|
||||
paintSpace_ = paintSpace;
|
||||
RenderTexture();
|
||||
GUI.DrawTexture(paintSpace_, texture_);
|
||||
}
|
||||
|
||||
Repaint();
|
||||
}
|
||||
|
||||
private void RenderTexture()
|
||||
{
|
||||
for (var y = 0; y < texture_.height; y++)
|
||||
{
|
||||
for (var x = 0; x < texture_.width; x++)
|
||||
{
|
||||
var alpha = 0.4f;
|
||||
if ((scaledRect_.x < x && x < (scaledRect_.x + scaledRect_.width)) &&
|
||||
(scaledRect_.y < y && y < (scaledRect_.y + scaledRect_.height)))
|
||||
{
|
||||
alpha = 1f;
|
||||
}
|
||||
var color = new Color(Random.value, Random.value, Random.value, alpha);
|
||||
texture_.SetPixel(x, 256-y, color);
|
||||
}
|
||||
}
|
||||
texture_.Apply();
|
||||
}
|
||||
|
||||
|
||||
private void UpdateScaledRect()
|
||||
{
|
||||
var xPos = (selectedArea_.x - paintSpace_.x) / paintSpace_.width;
|
||||
var yPos = (selectedArea_.y - paintSpace_.y) / paintSpace_.height;
|
||||
var width = selectedArea_.width / paintSpace_.width;
|
||||
var height = selectedArea_.height / paintSpace_.height;
|
||||
|
||||
scaledRect_.x = xPos * texture_.width;
|
||||
scaledRect_.y = yPos * texture_.height;
|
||||
scaledRect_.width = width * texture_.width;
|
||||
scaledRect_.height = height * texture_.height;
|
||||
|
||||
Debug.Log(scaledRect_);
|
||||
}
|
||||
}
|
||||
}
|
64
UnityProject/Assets/Editor/PdSpectrumBindEditor.cs
Normal file
64
UnityProject/Assets/Editor/PdSpectrumBindEditor.cs
Normal file
|
@ -0,0 +1,64 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
[CustomEditor(typeof(PdSpectrumBind))]
|
||||
class PdSpectrumBindEditor : Editor
|
||||
{
|
||||
private const int TextureWidth = 512;
|
||||
private const int TextureHeight = 256;
|
||||
private readonly string[] channels = {
|
||||
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"
|
||||
};
|
||||
private int selectedSpectrum_;
|
||||
private ISpectrumGenerator spectrumGenerator_;
|
||||
private IRectangularSelection rectangularSelection_;
|
||||
private Rect paintSpace_;
|
||||
|
||||
public void OnEnable()
|
||||
{
|
||||
spectrumGenerator_ = new SpectrumGenerator(TextureWidth, TextureHeight);
|
||||
rectangularSelection_ = new RectangularSelection(ref paintSpace_, TextureWidth, TextureHeight);
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
var behaviour = (PdSpectrumBind)target;
|
||||
|
||||
|
||||
if (Event.current.isMouse && Event.current.button == 0)
|
||||
{
|
||||
switch (Event.current.type)
|
||||
{
|
||||
case EventType.MouseDown:
|
||||
{
|
||||
rectangularSelection_.Start(Event.current.mousePosition);
|
||||
break;
|
||||
}
|
||||
case EventType.MouseDrag:
|
||||
{
|
||||
rectangularSelection_.Update(Event.current.mousePosition);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GUILayout.Label("PureData Inputs", EditorStyles.boldLabel);
|
||||
|
||||
selectedSpectrum_ = EditorGUILayout.Popup("Input Channel", selectedSpectrum_, channels);
|
||||
GUILayout.Space(5);
|
||||
GUILayout.Label("Spectrum Extractor", EditorStyles.boldLabel);
|
||||
|
||||
var paintSpace = GUILayoutUtility.GetRect(TextureHeight, TextureWidth, TextureHeight, TextureHeight);
|
||||
if (Event.current.type == EventType.Repaint)
|
||||
{
|
||||
paintSpace_ = paintSpace;
|
||||
spectrumGenerator_.Update(ref rectangularSelection_.Selection);
|
||||
GUI.DrawTexture(paintSpace_, spectrumGenerator_.Spectrum);
|
||||
}
|
||||
|
||||
Repaint();
|
||||
}
|
||||
}
|
||||
}
|
52
UnityProject/Assets/Editor/RectangularSelection.cs
Normal file
52
UnityProject/Assets/Editor/RectangularSelection.cs
Normal file
|
@ -0,0 +1,52 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
interface IRectangularSelection
|
||||
{
|
||||
ref Rect Selection { get; }
|
||||
|
||||
void Start(Vector2 mousePosition);
|
||||
void Update(Vector2 mousePosition);
|
||||
}
|
||||
|
||||
public class RectangularSelection : IRectangularSelection
|
||||
{
|
||||
private readonly Rect paintSpace_;
|
||||
|
||||
private Rect selectedArea_;
|
||||
private Rect selectionRect_;
|
||||
private readonly int textureWidth_;
|
||||
private readonly int textureHeight_;
|
||||
|
||||
public ref Rect Selection => ref selectionRect_;
|
||||
|
||||
public RectangularSelection(ref Rect paintSpace, int textureWidth, int textureHeight)
|
||||
{
|
||||
paintSpace_ = paintSpace;
|
||||
textureWidth_ = textureWidth;
|
||||
textureHeight_ = textureHeight;
|
||||
}
|
||||
|
||||
public void Start(Vector2 mousePosition)
|
||||
{
|
||||
selectedArea_.x = mousePosition.x;
|
||||
selectedArea_.y = mousePosition.y;
|
||||
}
|
||||
|
||||
public void Update(Vector2 mousePosition)
|
||||
{
|
||||
selectedArea_.width = mousePosition.x - selectedArea_.x;
|
||||
selectedArea_.height = mousePosition.y - selectedArea_.y;
|
||||
var xPos = (selectedArea_.x - paintSpace_.x) / paintSpace_.width;
|
||||
var yPos = (selectedArea_.y - paintSpace_.y) / paintSpace_.height;
|
||||
var width = selectedArea_.width / paintSpace_.width;
|
||||
var height = selectedArea_.height / paintSpace_.height;
|
||||
|
||||
selectionRect_.x = xPos * textureWidth_;
|
||||
selectionRect_.y = yPos * textureHeight_;
|
||||
selectionRect_.width = width * textureWidth_;
|
||||
selectionRect_.height = height * textureHeight_;
|
||||
}
|
||||
}
|
||||
}
|
3
UnityProject/Assets/Editor/RectangularSelection.cs.meta
Normal file
3
UnityProject/Assets/Editor/RectangularSelection.cs.meta
Normal file
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 422a7a65df524b57bacf009a035444c7
|
||||
timeCreated: 1569749893
|
42
UnityProject/Assets/Editor/SpectrumGenerator.cs
Normal file
42
UnityProject/Assets/Editor/SpectrumGenerator.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
interface ISpectrumGenerator
|
||||
{
|
||||
Texture2D Spectrum { get; }
|
||||
void Update(ref Rect selectionRect);
|
||||
}
|
||||
|
||||
public class SpectrumGenerator : ISpectrumGenerator
|
||||
{
|
||||
private Texture2D texture_;
|
||||
private readonly int height_;
|
||||
public Texture2D Spectrum => texture_;
|
||||
|
||||
public SpectrumGenerator(int width, int height)
|
||||
{
|
||||
texture_ = new Texture2D(width, height);
|
||||
height_ = height;
|
||||
}
|
||||
|
||||
public void Update(ref Rect selectionRect)
|
||||
{
|
||||
for (var y = 0; y < texture_.height; y++)
|
||||
{
|
||||
for (var x = 0; x < texture_.width; x++)
|
||||
{
|
||||
var alpha = 0.4f;
|
||||
if ((selectionRect.x < x && x < (selectionRect.x + selectionRect.width)) &&
|
||||
(selectionRect.y < y && y < (selectionRect.y + selectionRect.height)))
|
||||
{
|
||||
alpha = 1f;
|
||||
}
|
||||
var color = new Color(Random.value, Random.value, Random.value, alpha);
|
||||
texture_.SetPixel(x, height_-y, color);
|
||||
}
|
||||
}
|
||||
texture_.Apply();
|
||||
}
|
||||
}
|
||||
}
|
3
UnityProject/Assets/Editor/SpectrumGenerator.cs.meta
Normal file
3
UnityProject/Assets/Editor/SpectrumGenerator.cs.meta
Normal file
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b9ec12d2c1d14323b612b07799422f5a
|
||||
timeCreated: 1569749431
|
|
@ -112,6 +112,83 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &127705016
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 127705019}
|
||||
- component: {fileID: 127705018}
|
||||
- component: {fileID: 127705017}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!23 &127705017
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 127705016}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &127705018
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 127705016}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &127705019
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 127705016}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 4.8635645, y: -4.5257893, z: 12.978625}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &267275365
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace cylvester
|
|||
[ExecuteInEditMode]
|
||||
public class PdBackend : MonoBehaviour, IPdBackend
|
||||
{
|
||||
[SerializeField] string mainPatch;
|
||||
[SerializeField] string mainPatch = "";
|
||||
[SerializeField] int inchannels = 2;
|
||||
|
||||
private Action onToggled_;
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
public class PdBind : MonoBehaviour
|
||||
{
|
||||
private void Start()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
31
UnityProject/Assets/Scripts/PdConnection/PdSpectrumBind.cs
Normal file
31
UnityProject/Assets/Scripts/PdConnection/PdSpectrumBind.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using UnityEngine;
|
||||
|
||||
namespace cylvester
|
||||
{
|
||||
public interface IPdSpectrumBind
|
||||
{
|
||||
float TrimmedEnergy { get; }
|
||||
}
|
||||
|
||||
public class PdSpectrumBind : MonoBehaviour, IPdSpectrumBind
|
||||
{
|
||||
public int channel;
|
||||
public int startBin;
|
||||
public int endBin;
|
||||
[SerializeField] private float topClip;
|
||||
[SerializeField] private float bottomClip;
|
||||
[SerializeField] private float trimmedEnergy = 0f;
|
||||
|
||||
public float TrimmedEnergy => trimmedEnergy;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,26 +1,19 @@
|
|||
#N canvas 646 421 694 441 10;
|
||||
#X msg 294 172 \; pd dsp 1;
|
||||
#X obj 359 49 loadbang;
|
||||
#N canvas 550 301 727 406 10;
|
||||
#X msg 307 54 \; pd dsp 1;
|
||||
#X obj 187 61 loadbang;
|
||||
#X obj 80 273 adc~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
|
||||
#N canvas 1223 661 730 390 levelmeter______________________________
|
||||
#N canvas 0 50 450 250 (subpatch) 0;
|
||||
#X array loop 211681 float 2;
|
||||
#X coords 0 1 211681 -1 200 140 1 0 0;
|
||||
#X restore 446 219 graph;
|
||||
#X obj 274 146 soundfiler;
|
||||
#X msg 269 109 read -resize drumloop.wav loop;
|
||||
#X obj 6 318 dac~, f 6;
|
||||
#X obj 31 228 tabplay~ loop;
|
||||
#X obj 30 179 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#N canvas 1194 597 730 390 analyzers_______________________________
|
||||
0;
|
||||
#X obj 109 321 table levelmeters 16;
|
||||
#X obj 96 181 levelwriter 0;
|
||||
#X obj 120 204 levelwriter 1;
|
||||
#X obj 149 226 levelwriter 2;
|
||||
#X obj 173 249 levelwriter 3;
|
||||
#X obj 199 182 levelwriter 4;
|
||||
#X obj 224 205 levelwriter 5;
|
||||
#X obj 252 227 levelwriter 6;
|
||||
#X obj 277 250 levelwriter 7;
|
||||
#X obj 300 183 levelwriter 8;
|
||||
#X obj 324 206 levelwriter 9;
|
||||
#X obj 353 228 levelwriter 10;
|
||||
#X obj 377 251 levelwriter 11;
|
||||
#X obj 403 184 levelwriter 12;
|
||||
#X obj 428 207 levelwriter 13;
|
||||
#X obj 457 229 levelwriter 14;
|
||||
#X obj 481 252 levelwriter 15;
|
||||
#X obj 95 44 inlet~;
|
||||
#X obj 119 69 inlet~;
|
||||
#X obj 148 96 inlet~;
|
||||
|
@ -37,65 +30,213 @@
|
|||
#X obj 425 80 inlet~;
|
||||
#X obj 454 111 inlet~;
|
||||
#X obj 478 132 inlet~;
|
||||
#X connect 17 0 1 0;
|
||||
#X connect 18 0 2 0;
|
||||
#X connect 19 0 3 0;
|
||||
#X connect 20 0 4 0;
|
||||
#X connect 21 0 5 0;
|
||||
#X connect 22 0 6 0;
|
||||
#X connect 23 0 7 0;
|
||||
#X connect 24 0 8 0;
|
||||
#X connect 25 0 9 0;
|
||||
#X connect 26 0 10 0;
|
||||
#X connect 27 0 11 0;
|
||||
#X connect 28 0 12 0;
|
||||
#X connect 29 0 13 0;
|
||||
#X connect 30 0 14 0;
|
||||
#X connect 31 0 15 0;
|
||||
#X connect 32 0 16 0;
|
||||
#X restore 79 309 pd levelmeter______________________________;
|
||||
#X obj 63 167 shmem levelmeters 16;
|
||||
#X obj 63 108 metro 50;
|
||||
#X obj 58 19 loadbang;
|
||||
#X obj 66 79 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
|
||||
;
|
||||
#X msg 64 50 1;
|
||||
#N canvas 0 50 450 250 (subpatch) 0;
|
||||
#X array loop 211681 float 2;
|
||||
#X coords 0 1 211681 -1 200 140 1 0 0;
|
||||
#X restore 446 219 graph;
|
||||
#X obj 446 134 soundfiler;
|
||||
#X msg 441 97 read -resize drumloop.wav loop;
|
||||
#X obj 6 318 dac~, f 6;
|
||||
#X obj 31 228 tabplay~ loop;
|
||||
#X obj 30 179 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
|
||||
-1;
|
||||
#X obj 96 183 core 0;
|
||||
#X obj 120 204 core 1;
|
||||
#X obj 149 226 core 2;
|
||||
#X obj 173 249 core 3;
|
||||
#X obj 199 182 core 4;
|
||||
#X obj 225 205 core 5;
|
||||
#X obj 252 227 core 6;
|
||||
#X obj 277 250 core 7;
|
||||
#X obj 300 183 core 8;
|
||||
#X obj 324 206 core 9;
|
||||
#X obj 354 228 core 10;
|
||||
#X obj 377 251 core 11;
|
||||
#X obj 403 184 core 12;
|
||||
#X obj 428 207 core 13;
|
||||
#X obj 457 229 core 14;
|
||||
#X obj 481 252 core 15;
|
||||
#X connect 0 0 16 0;
|
||||
#X connect 1 0 17 0;
|
||||
#X connect 2 0 18 0;
|
||||
#X connect 3 0 19 0;
|
||||
#X connect 4 0 20 0;
|
||||
#X connect 5 0 21 0;
|
||||
#X connect 6 0 22 0;
|
||||
#X connect 7 0 23 0;
|
||||
#X connect 8 0 24 0;
|
||||
#X connect 9 0 25 0;
|
||||
#X connect 10 0 26 0;
|
||||
#X connect 11 0 27 0;
|
||||
#X connect 12 0 28 0;
|
||||
#X connect 13 0 29 0;
|
||||
#X connect 14 0 30 0;
|
||||
#X connect 15 0 31 0;
|
||||
#X restore 80 309 pd analyzers_______________________________;
|
||||
#X obj 46 26 bang~;
|
||||
#X obj 46 49 count 16;
|
||||
#X obj 46 76 sel 0;
|
||||
#X obj 46 102 s shmemupdate;
|
||||
#N canvas 0 50 450 300 shmems 0;
|
||||
#X obj 45 78 shmem levelmeters 16;
|
||||
#X obj 45 42 r shmemupdate;
|
||||
#X obj 42 105 table levelmeters 16;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 11 0;
|
||||
#X connect 1 0 14 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 1 3 1;
|
||||
#X connect 2 2 3 2;
|
||||
#X connect 2 3 3 3;
|
||||
#X connect 2 4 3 4;
|
||||
#X connect 2 5 3 5;
|
||||
#X connect 2 6 3 6;
|
||||
#X connect 2 7 3 7;
|
||||
#X connect 2 8 3 8;
|
||||
#X connect 2 9 3 9;
|
||||
#X connect 2 10 3 10;
|
||||
#X connect 2 11 3 11;
|
||||
#X connect 2 12 3 12;
|
||||
#X connect 2 13 3 13;
|
||||
#X connect 2 14 3 14;
|
||||
#X connect 2 15 3 15;
|
||||
#X restore 608 25 pd shmems;
|
||||
#N canvas 763 290 686 441 window 0;
|
||||
#N canvas 0 0 450 300 (subpatch) 0;
|
||||
#X array hann 1024 float 1;
|
||||
#A 0 0 1.88351e-005 3.76403e-005 9.41157e-005 0.000150591 0.000244677
|
||||
0.000338793 0.000470519 0.000602275 0.000771612 0.000940949 0.00114787
|
||||
0.00135478 0.00159925 0.00184369 0.00212568 0.00240764 0.00272709 0.00304651
|
||||
0.00340337 0.00376022 0.00415444 0.00454867 0.00498021 0.00541174 0.00588053
|
||||
0.0063493 0.00685525 0.00736117 0.0079042 0.00844723 0.0090273 0.00960734
|
||||
0.0102243 0.0108413 0.0114951 0.0121489 0.0128395 0.01353 0.0142572
|
||||
0.0149843 0.015748 0.0165117 0.0173118 0.0181119 0.0189483 0.0197847
|
||||
0.0206572 0.0215298 0.0224383 0.0233469 0.0242914 0.0252359 0.0262161
|
||||
0.0271963 0.0282121 0.0292279 0.0302792 0.0313304 0.032417 0.0335035
|
||||
0.0346252 0.0357469 0.0369035 0.0380601 0.0392516 0.040443 0.041669
|
||||
0.042895 0.0441554 0.0454159 0.0467106 0.0480052 0.0493339 0.0506626
|
||||
0.0520252 0.0533877 0.0547839 0.05618 0.0576096 0.0590392 0.060502
|
||||
0.0619648 0.0634605 0.0649563 0.0664848 0.0680134 0.0695744 0.0711355
|
||||
0.0727288 0.0743222 0.0759476 0.077573 0.0792302 0.0808874 0.0825762
|
||||
0.0842649 0.085985 0.0877051 0.0894562 0.0912073 0.0929892 0.0947711
|
||||
0.0965835 0.0983959 0.100239 0.102081 0.103954 0.105826 0.107729 0.109631
|
||||
0.111563 0.113494 0.115455 0.117416 0.119406 0.121395 0.123413 0.125431
|
||||
0.127478 0.129524 0.131598 0.133672 0.135774 0.137876 0.140005 0.142134
|
||||
0.14429 0.146446 0.148629 0.150811 0.15302 0.155229 0.157464 0.159699
|
||||
0.161959 0.16422 0.166506 0.168792 0.171102 0.173413 0.175748 0.178084
|
||||
0.180443 0.182803 0.185186 0.18757 0.189977 0.192384 0.194814 0.197244
|
||||
0.199697 0.20215 0.204625 0.2071 0.209598 0.212095 0.214614 0.217133
|
||||
0.219674 0.222214 0.224775 0.227337 0.229919 0.2325 0.235102 0.237704
|
||||
0.240326 0.242948 0.245589 0.24823 0.25089 0.25355 0.256229 0.258907
|
||||
0.261604 0.264301 0.267015 0.26973 0.272462 0.275194 0.277942 0.280691
|
||||
0.283457 0.286222 0.289003 0.291785 0.294582 0.297379 0.300191 0.303003
|
||||
0.305831 0.308658 0.311499 0.314341 0.317196 0.320052 0.322921 0.32579
|
||||
0.328672 0.331555 0.334449 0.337344 0.340252 0.343159 0.346078 0.348997
|
||||
0.351927 0.354857 0.357798 0.36074 0.363691 0.366643 0.369605 0.372567
|
||||
0.375538 0.37851 0.38149 0.384471 0.38746 0.390449 0.393447 0.396444
|
||||
0.399449 0.402455 0.405467 0.40848 0.411499 0.414519 0.417545 0.420571
|
||||
0.423603 0.426635 0.429672 0.432709 0.435752 0.438794 0.441842 0.444889
|
||||
0.44794 0.450991 0.454046 0.457101 0.460159 0.463218 0.466279 0.46934
|
||||
0.472403 0.475466 0.478531 0.481596 0.484663 0.487729 0.490797 0.493864
|
||||
0.496932 0.5 0.503068 0.506136 0.509203 0.512271 0.515337 0.518404
|
||||
0.521469 0.524534 0.527597 0.53066 0.533721 0.536782 0.539841 0.542899
|
||||
0.545954 0.549009 0.55206 0.555111 0.558158 0.561205 0.564248 0.56729
|
||||
0.570328 0.573365 0.576397 0.579429 0.582455 0.585481 0.588501 0.59152
|
||||
0.594533 0.597545 0.600551 0.603556 0.606553 0.609551 0.61254 0.615529
|
||||
0.61851 0.62149 0.624462 0.627433 0.630395 0.633357 0.636308 0.63926
|
||||
0.642201 0.645143 0.648073 0.651003 0.653922 0.656841 0.659748 0.662656
|
||||
0.66555 0.668445 0.671328 0.67421 0.677079 0.679948 0.682804 0.685659
|
||||
0.688501 0.691342 0.694169 0.696997 0.699809 0.702621 0.705418 0.708215
|
||||
0.710997 0.713778 0.716543 0.719309 0.722057 0.724806 0.727538 0.73027
|
||||
0.732984 0.735699 0.738396 0.741092 0.743771 0.74645 0.74911 0.75177
|
||||
0.754411 0.757052 0.759674 0.762295 0.764897 0.767499 0.770081 0.772663
|
||||
0.775224 0.777786 0.780326 0.782867 0.785386 0.787905 0.790402 0.7929
|
||||
0.795375 0.79785 0.800303 0.802756 0.805186 0.807616 0.810023 0.812431
|
||||
0.814814 0.817197 0.819557 0.821916 0.824252 0.826587 0.828898 0.831209
|
||||
0.833494 0.83578 0.838041 0.840301 0.842536 0.844771 0.84698 0.849189
|
||||
0.851372 0.853554 0.85571 0.857866 0.859995 0.862124 0.864226 0.866328
|
||||
0.868402 0.870476 0.872523 0.874569 0.876587 0.878605 0.880595 0.882584
|
||||
0.884545 0.886506 0.888438 0.890369 0.892272 0.894174 0.896047 0.897919
|
||||
0.899762 0.901605 0.903417 0.905229 0.907011 0.908793 0.910544 0.912295
|
||||
0.914015 0.915736 0.917424 0.919113 0.92077 0.922428 0.924053 0.925678
|
||||
0.927272 0.928865 0.930426 0.931987 0.933516 0.935044 0.93654 0.938036
|
||||
0.939499 0.940961 0.942391 0.94382 0.945217 0.946613 0.947975 0.949338
|
||||
0.950667 0.951995 0.95329 0.954585 0.955845 0.957106 0.958332 0.959558
|
||||
0.960749 0.96194 0.963097 0.964254 0.965375 0.966497 0.967584 0.96867
|
||||
0.969721 0.970773 0.971788 0.972804 0.973784 0.974765 0.975709 0.976654
|
||||
0.977562 0.978471 0.979343 0.980216 0.981052 0.981889 0.982689 0.983489
|
||||
0.984252 0.985016 0.985743 0.98647 0.987161 0.987852 0.988505 0.989159
|
||||
0.989776 0.990393 0.990973 0.991553 0.992096 0.992639 0.993145 0.993651
|
||||
0.99412 0.994589 0.99502 0.995452 0.995846 0.99624 0.996597 0.996954
|
||||
0.997273 0.997593 0.997874 0.998156 0.998401 0.998645 0.998852 0.999059
|
||||
0.999228 0.999398 0.99953 0.999661 0.999755 0.999849 0.999906 0.999962
|
||||
0.999981 1 0.999981 0.999962 0.999906 0.999849 0.999755 0.999661 0.999529
|
||||
0.999398 0.999228 0.999059 0.998852 0.998645 0.998401 0.998156 0.997874
|
||||
0.997592 0.997273 0.996953 0.996596 0.996239 0.995845 0.995451 0.995019
|
||||
0.994588 0.994119 0.99365 0.993144 0.992638 0.992095 0.991552 0.990972
|
||||
0.990392 0.989775 0.989158 0.988504 0.987851 0.98716 0.986469 0.985742
|
||||
0.985015 0.984251 0.983488 0.982687 0.981887 0.981051 0.980215 0.979342
|
||||
0.978469 0.977561 0.976652 0.975708 0.974763 0.973783 0.972803 0.971787
|
||||
0.970771 0.96972 0.968669 0.967582 0.966495 0.965374 0.964252 0.963095
|
||||
0.961939 0.960747 0.959556 0.95833 0.957104 0.955843 0.954583 0.953288
|
||||
0.951993 0.950665 0.949336 0.947973 0.946611 0.945215 0.943818 0.942389
|
||||
0.940959 0.939496 0.938034 0.936538 0.935042 0.933514 0.931985 0.930424
|
||||
0.928863 0.927269 0.925676 0.924051 0.922425 0.920768 0.919111 0.917422
|
||||
0.915733 0.914013 0.912293 0.910542 0.908791 0.907009 0.905227 0.903414
|
||||
0.901602 0.899759 0.897917 0.896044 0.894171 0.892269 0.890367 0.888435
|
||||
0.886503 0.884542 0.882582 0.880592 0.878602 0.876584 0.874566 0.87252
|
||||
0.870473 0.868399 0.866325 0.864223 0.862121 0.859992 0.857863 0.855707
|
||||
0.853551 0.851368 0.849186 0.846977 0.844768 0.842533 0.840298 0.838037
|
||||
0.835777 0.833491 0.831205 0.828895 0.826584 0.824249 0.821913 0.819554
|
||||
0.817194 0.814811 0.812427 0.81002 0.807613 0.805183 0.802753 0.8003
|
||||
0.797847 0.795372 0.792896 0.790399 0.787901 0.785382 0.782863 0.780323
|
||||
0.777782 0.775221 0.77266 0.770078 0.767496 0.764894 0.762292 0.75967
|
||||
0.757048 0.754407 0.751766 0.749106 0.746446 0.743767 0.741089 0.738392
|
||||
0.735695 0.732981 0.730266 0.727534 0.724802 0.722054 0.719305 0.71654
|
||||
0.713774 0.710993 0.708211 0.705414 0.702617 0.699805 0.696993 0.694165
|
||||
0.691338 0.688497 0.685655 0.6828 0.679944 0.677075 0.674206 0.671324
|
||||
0.668441 0.665546 0.662652 0.659744 0.656837 0.653918 0.650999 0.648069
|
||||
0.645139 0.642197 0.639256 0.636304 0.633353 0.630391 0.627429 0.624458
|
||||
0.621486 0.618506 0.615525 0.612536 0.609547 0.606549 0.603552 0.600546
|
||||
0.597541 0.594529 0.591516 0.588496 0.585477 0.582451 0.579425 0.576393
|
||||
0.573361 0.570324 0.567286 0.564244 0.561201 0.558154 0.555107 0.552056
|
||||
0.549004 0.545949 0.542894 0.539836 0.536778 0.533717 0.530656 0.527593
|
||||
0.52453 0.521464 0.518399 0.515333 0.512266 0.509199 0.506131 0.503064
|
||||
0.499996 0.496928 0.49386 0.490792 0.487725 0.484659 0.481592 0.478527
|
||||
0.475462 0.472399 0.469335 0.466274 0.463213 0.460155 0.457097 0.454042
|
||||
0.450987 0.447936 0.444884 0.441837 0.43879 0.435748 0.432705 0.429668
|
||||
0.42663 0.423598 0.420566 0.417541 0.414515 0.411495 0.408476 0.405463
|
||||
0.40245 0.399445 0.39644 0.393442 0.390445 0.387456 0.384466 0.381486
|
||||
0.378505 0.375534 0.372563 0.369601 0.366639 0.363687 0.360736 0.357794
|
||||
0.354853 0.351923 0.348993 0.346074 0.343155 0.340247 0.33734 0.334445
|
||||
0.331551 0.328668 0.325786 0.322917 0.320048 0.317192 0.314337 0.311495
|
||||
0.308654 0.305827 0.302999 0.300187 0.297375 0.294578 0.291781 0.288999
|
||||
0.286218 0.283453 0.280687 0.277939 0.27519 0.272458 0.269726 0.267012
|
||||
0.264297 0.2616 0.258904 0.256225 0.253547 0.250886 0.248226 0.245585
|
||||
0.242944 0.240323 0.237701 0.235099 0.232497 0.229915 0.227333 0.224772
|
||||
0.222211 0.21967 0.21713 0.214611 0.212092 0.209594 0.207097 0.204622
|
||||
0.202146 0.199693 0.19724 0.19481 0.19238 0.189973 0.187566 0.185183
|
||||
0.182799 0.18044 0.17808 0.175745 0.17341 0.171099 0.168788 0.166502
|
||||
0.164217 0.161956 0.159696 0.157461 0.155226 0.153017 0.150808 0.148625
|
||||
0.146443 0.144287 0.142131 0.140002 0.137873 0.135771 0.133669 0.131595
|
||||
0.129521 0.127474 0.125428 0.12341 0.121392 0.119402 0.117413 0.115452
|
||||
0.113491 0.11156 0.109628 0.107726 0.105823 0.103951 0.102078 0.100236
|
||||
0.0983929 0.0965805 0.0947681 0.0929862 0.0912043 0.0894532 0.0877021
|
||||
0.0859821 0.084262 0.0825733 0.0808845 0.0792273 0.0775701 0.0759448
|
||||
0.0743194 0.0727261 0.0711327 0.0695717 0.0680107 0.0664822 0.0649537
|
||||
0.0634579 0.0619622 0.0604994 0.0590366 0.0576071 0.0561775 0.0547814
|
||||
0.0533852 0.0520227 0.0506602 0.0493315 0.0480028 0.0467082 0.0454136
|
||||
0.0441532 0.0428927 0.0416667 0.0404407 0.0392494 0.038058 0.0369014
|
||||
0.0357447 0.0346231 0.0335014 0.0324149 0.0313284 0.0302772 0.0292259
|
||||
0.0282102 0.0271944 0.0262142 0.025234 0.0242896 0.0233451 0.0224366
|
||||
0.0215281 0.0206555 0.019783 0.0189467 0.0181103 0.0173103 0.0165102
|
||||
0.0157465 0.0149829 0.0142557 0.0135286 0.0128381 0.0121476 0.0114938
|
||||
0.01084 0.0102231 0.00960615 0.00902611 0.0084461 0.0079031 0.0073601
|
||||
0.00685418 0.00634828 0.00587955;
|
||||
#A 1000 0.00541082 0.00497931 0.00454783 0.00415364 0.00375944 0.00340265
|
||||
0.00304583 0.00272644 0.00240701 0.00212508 0.00184315 0.00159872 0.00135431
|
||||
0.00114745 0.000940561 0.000771254 0.000601947 0.000470281 0.000338584
|
||||
0.000244498 0.000150442 9.39965e-005 3.75807e-005 1.87755e-005;
|
||||
#X coords 0 1 1023 0 300 100 1 0 0;
|
||||
#X restore 39 32 graph;
|
||||
#X restore 611 47 pd window;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 1 0 8 0;
|
||||
#X connect 2 0 9 0;
|
||||
#X connect 2 1 9 1;
|
||||
#X connect 2 2 9 2;
|
||||
#X connect 2 3 9 3;
|
||||
#X connect 2 4 9 4;
|
||||
#X connect 2 5 9 5;
|
||||
#X connect 2 6 9 6;
|
||||
#X connect 2 7 9 7;
|
||||
#X connect 2 8 9 8;
|
||||
#X connect 2 9 9 9;
|
||||
#X connect 2 10 9 10;
|
||||
#X connect 2 11 9 11;
|
||||
#X connect 2 12 9 12;
|
||||
#X connect 2 13 9 13;
|
||||
#X connect 2 14 9 14;
|
||||
#X connect 2 15 9 15;
|
||||
#X connect 5 0 4 0;
|
||||
#X connect 6 0 8 0;
|
||||
#X connect 7 0 5 0;
|
||||
#X connect 7 0 6 1;
|
||||
#X connect 7 0 6 0;
|
||||
#X connect 7 0 9 0;
|
||||
#X connect 7 1 8 0;
|
||||
#X connect 8 0 7 0;
|
||||
#X connect 11 0 10 0;
|
||||
#X connect 13 0 12 1;
|
||||
#X connect 13 0 12 0;
|
||||
#X connect 13 0 3 0;
|
||||
#X connect 13 1 14 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 10 0 11 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 12 0 13 0;
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
#X obj 162 153 loadbang;
|
||||
#X obj 167 201 f \$1;
|
||||
#X obj 57 239 tabwrite levelmeters;
|
||||
#X obj 85 135 spectrum \$1;
|
||||
#X obj 229 240 table fft_\$1 512;
|
||||
#X connect 0 0 4 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 1 0 5 0;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 3 0 4 1;
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ce1d1fba9496a6f45ac752b4d01ef632
|
||||
guid: ffeec6b2f4ee66447a818305fd0fd53c
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
14
UnityProject/Assets/StreamingAssets/pd/patch/count.pd
Normal file
14
UnityProject/Assets/StreamingAssets/pd/patch/count.pd
Normal file
|
@ -0,0 +1,14 @@
|
|||
#N canvas 1383 500 450 449 10;
|
||||
#X obj 76 96 inlet;
|
||||
#X obj 166 145 + 1;
|
||||
#X obj 76 149 f 0;
|
||||
#X obj 76 242 sel \$1;
|
||||
#X msg 178 210 0, f 11;
|
||||
#X obj 5 292 outlet;
|
||||
#X connect 0 0 2 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 2 0 3 0;
|
||||
#X connect 2 0 5 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 3 1 1 0;
|
||||
#X connect 4 0 2 1;
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6459c895fc8fc584197b481bb701000e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
20
UnityProject/Assets/StreamingAssets/pd/patch/spectrum.pd
Normal file
20
UnityProject/Assets/StreamingAssets/pd/patch/spectrum.pd
Normal file
|
@ -0,0 +1,20 @@
|
|||
#N canvas 1959 406 681 467 10;
|
||||
#X obj 38 30 inlet~;
|
||||
#X obj 45 134 rfft~;
|
||||
#X obj 45 186 *~;
|
||||
#X obj 82 186 *~;
|
||||
#X obj 45 226 q8_sqrt~;
|
||||
#X obj 169 96 block~ 1024 1 1;
|
||||
#X obj 102 58 tabreceive~ hann;
|
||||
#X obj 76 92 *~;
|
||||
#X obj 45 266 tabsend~ fft_\$1;
|
||||
#X connect 0 0 7 0;
|
||||
#X connect 1 0 2 0;
|
||||
#X connect 1 0 2 1;
|
||||
#X connect 1 1 3 0;
|
||||
#X connect 1 1 3 1;
|
||||
#X connect 2 0 4 0;
|
||||
#X connect 3 0 4 0;
|
||||
#X connect 4 0 8 0;
|
||||
#X connect 6 0 7 1;
|
||||
#X connect 7 0 1 0;
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e56e8121fbc616141996c04e582ed74a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in a new issue