Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No output from realtime analysis objects on macOS CI build on older Mac #315

Open
leoauri opened this issue Jul 10, 2022 · 23 comments
Open
Labels
bug Something isn't working

Comments

@leoauri
Copy link

leoauri commented Jul 10, 2022

Realtime components (fluid.mfcc~, fluid.spectralshape~, ...) give no output in the CI compiled versions from tag/1.0.0, but built on a mac, they do.

This is on

  • macbook pro 13-inch mid-2012
  • 2.5 GHz Dual-Core Intel Core i5
  • macOS Catalina 10.15.7 (19H1922)
Max version
  • max4live in Ableton 10.1.43
{
	"version" : "Version 8.1.11 (17de540) (64-bit mac)",
	"platform" : "mac",
	"arch" : "x64",
	"osversion" : "Mac OS X Version 10.15.7 (Build 19H1922) x86_64",
	"samplerate" : 44100,
	"iovs" : 64,
	"sigvs" : 64,
	"scheduler_in_audio_interrupt" : "off",
	"audio_drivername" : "Live",
	"audio_driver_subname" : "",
	"license" : "mfl",
	"eventinterval" : 2,
	"schedinterval" : 1.0,
	"overdrive" : "on",
	"pollthrottle" : 40,
	"queuethrottle" : 100,
	"sysqelemthrottle" : 1000,
	"refreshrate" : 33.333332061767578,
	"schedslop" : 25.0,
	"eventprobing" : 0,
	"mixerparallel" : "off",
	"mixercrossfade" : 0,
	"mixerlatency" : 30.0,
	"mixerramptime" : 10.0,
	"videoengine" : "avf",
	"glengine" : "gl2",
	"packages" : 	{
		"BEAP" : "1.0.3",
		"FluidCorpusManipulation" : "1.0.0+sha.d0e42a3.core.sha.f86443a",
		"hap" : "1.0.6",
		"jit.mo" : "1.1.2",
		"max-mxj" : "7.2.5",
		"maxforlive-elements" : "0.3.7",
		"Mira" : "1.2.1",
		"Node For Max" : "1.3.3",
		"Video & Graphics" : "7.2.0",
		"Vizzie" : "2.1.4"
	}

}
Here is a patch which reproduces
{
	"patcher" : 	{
		"fileversion" : 1,
		"appversion" : 		{
			"major" : 8,
			"minor" : 1,
			"revision" : 11,
			"architecture" : "x64",
			"modernui" : 1
		}
,
		"classnamespace" : "box",
		"rect" : [ 58.0, 103.0, 640.0, 480.0 ],
		"bglocked" : 0,
		"openinpresentation" : 0,
		"default_fontsize" : 12.0,
		"default_fontface" : 0,
		"default_fontname" : "Arial",
		"gridonopen" : 1,
		"gridsize" : [ 15.0, 15.0 ],
		"gridsnaponopen" : 1,
		"objectsnaponopen" : 1,
		"statusbarvisible" : 2,
		"toolbarvisible" : 1,
		"lefttoolbarpinned" : 0,
		"toptoolbarpinned" : 0,
		"righttoolbarpinned" : 0,
		"bottomtoolbarpinned" : 0,
		"toolbars_unpinned_last_save" : 0,
		"tallnewobj" : 0,
		"boxanimatetime" : 200,
		"enablehscroll" : 1,
		"enablevscroll" : 1,
		"devicewidth" : 0.0,
		"description" : "",
		"digest" : "",
		"tags" : "",
		"style" : "",
		"subpatcher_template" : "",
		"assistshowspatchername" : 0,
		"boxes" : [ 			{
				"box" : 				{
					"id" : "obj-2",
					"maxclass" : "ezdac~",
					"numinlets" : 2,
					"numoutlets" : 0,
					"patching_rect" : [ 229.0, 234.5, 45.0, 45.0 ]
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-53",
					"linecount" : 2,
					"maxclass" : "message",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 376.0, 206.0, 158.0, 35.0 ],
					"text" : "0. 0. -0. 0. -0. 0. -0. 0. -0. 0. -0. 0. -0."
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-49",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "", "" ],
					"patching_rect" : [ 286.0, 168.000000834465027, 158.0, 22.0 ],
					"text" : "fluid.mfcc~ 13 @startcoeff 1"
				}

			}
, 			{
				"box" : 				{
					"basictuning" : 440,
					"data" : 					{
						"clips" : [ 							{
								"absolutepath" : "jongly.aif",
								"filename" : "jongly.aif",
								"filekind" : "audiofile",
								"id" : "u093010268",
								"loop" : 1,
								"content_state" : 								{
									"loop" : 1
								}

							}
 ]
					}
,
					"followglobaltempo" : 0,
					"formantcorrection" : 0,
					"id" : "obj-47",
					"maxclass" : "playlist~",
					"mode" : "basic",
					"numinlets" : 1,
					"numoutlets" : 5,
					"originallength" : [ 0.0, "ticks" ],
					"originaltempo" : 120.0,
					"outlettype" : [ "signal", "signal", "signal", "", "dictionary" ],
					"parameter_enable" : 0,
					"patching_rect" : [ 286.0, 123.0, 150.0, 30.0 ],
					"pitchcorrection" : 0,
					"quality" : "basic",
					"timestretch" : [ 0 ]
				}

			}
 ],
		"lines" : [ 			{
				"patchline" : 				{
					"destination" : [ "obj-2", 1 ],
					"order" : 1,
					"source" : [ "obj-47", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-2", 0 ],
					"order" : 2,
					"source" : [ "obj-47", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-49", 0 ],
					"order" : 0,
					"source" : [ "obj-47", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-53", 1 ],
					"midpoints" : [ 295.5, 197.500000417232513, 524.5, 197.500000417232513 ],
					"source" : [ "obj-49", 0 ]
				}

			}
 ],
		"dependency_cache" : [ 			{
				"name" : "jongly.aif",
				"bootpath" : "C74:/media/msp",
				"type" : "AIFF",
				"implicit" : 1
			}
, 			{
				"name" : "fluid.mfcc~.mxo",
				"type" : "iLaX"
			}
 ],
		"autosave" : 0,
		"styles" : [ 			{
				"name" : "max6box",
				"default" : 				{
					"bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ],
					"accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ],
					"textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ]
				}
,
				"parentstyle" : "",
				"multi" : 0
			}
, 			{
				"name" : "max6inlet",
				"default" : 				{
					"color" : [ 0.423529, 0.372549, 0.27451, 1.0 ]
				}
,
				"parentstyle" : "",
				"multi" : 0
			}
, 			{
				"name" : "max6message",
				"default" : 				{
					"bgfillcolor" : 					{
						"angle" : 270.0,
						"autogradient" : 0,
						"color" : [ 0.290196, 0.309804, 0.301961, 1.0 ],
						"color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ],
						"color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ],
						"proportion" : 0.39,
						"type" : "gradient"
					}
,
					"textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ]
				}
,
				"parentstyle" : "max6box",
				"multi" : 0
			}
, 			{
				"name" : "max6outlet",
				"default" : 				{
					"color" : [ 0.0, 0.454902, 0.498039, 1.0 ]
				}
,
				"parentstyle" : "",
				"multi" : 0
			}
 ]
	}

}
@jamesb93
Copy link
Member

Thanks for this, I will try and test this on an i5 at home (I think my partner's air is one) and have a poke.

Appreciate the detailed report :)

@jamesb93 jamesb93 added the bug Something isn't working label Jul 13, 2022
@tremblap
Copy link
Member

Dear @leoauri can you try the new release and tell us if it is still the case? Thanks

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

Hi Pierre,

I did get output from fluid.mfcc~ now, but only one set of values exactly every 11.366 seconds.

Here is the patcher I tested with:


----------begin_max5_patcher----------
885.3ocwV00bhBCE8Y4WACOacf.nReZ+ezoSm.DbSaHgMboUam1e6a9.P5JR
0pcVmQTxW264jy8j7lyLuTwVRsm6st24Na1aNylYZR2vr12m4Uh2lwv0lg4k
1.ff6M21knAXD.1UQrqgWJluwy891to4l4HRe7ljtoTggreS4adPRx.6rhCV
svetKJXo4mntm8qCuojxUAxjBA8KjDWR.h7ABGmxLYf+9IXSM6LzM9tii9w7
SDmpUHkHOJN8lOAVW80XMzOQ+SRfAqnqGVQeGrRdQk1cIMP1ZxUOfVNACTvD
XPSCiRAwmv1cbngIhmlBPWMXV1v.ZMiluGU0zMbR9Pldzc5QgXT+hnxIXmcS
I33vFkrb.rChMBf0ICvcFlmuS8vtR9SIHTwT0pBd109lk95US+re0NCMSOa7
pMzgeC1k7ZNN6CuC4IzDRADxvBnvnEwyciLRA8yyQJ3e8T7ErFZ9hxhrrOTj
f6upArDxDjhB2.uyWfLkmGZsQMDrb8Beym0gQQKi8QqzZi0mlsvkWSTwv6Xz
ZneiSHoanbLCHkUBSrPZoksyTbMMCZ3Tsw2stQQccTJxI1iGzi3nTktbCyzD
1X+S+MWs9TAGK2smRqnJ1KSH0jmpug53grcuqagfwDurgIRG.C+udq.0VX5a
MnGP9ZmvZPRTS0Nk8c8mFLiB6ND7EBYIlCim2ita1Q8LBeCzEHctnhe1S0de
iJ631Vyw.tUEzJCTtMLZU+Q+C5P0ENsVvZ.hhrL4g2iB9F1tEXZQK7LHjpxT
UhL8HdhxsaR3lbpP2xfAzt+03mD5G3iVtdPeLgnZ.8XRYAGHb3AUcIP5vyvL
evr5ZxTPX+i68N6a4LKTv.HanG2DXLCf.+IL.hr5r.j4vvfUGVxqCo0Vp.T9
8fZ90dW+aDYhmGix+2KBZRZc6elVpEMxrNb2U4MnhHWUpnjwcR965OEvMneL
Bo9P3id0rqdj8OLxne9HqO.XrP6eYgN4TB83Q9xn63SHvs7xEEmSAfw+D.7T
Cbv+k8zeD0j1i5bExkz7JAkC0cNYI5auYt0h4STvJTHJNHTYnkDej99jFw5A
gqpdlHqaisIkUlvOJLvb8byqTt80PyqRxyztwabA8vRkQKnbYaj1Cl1tzdQc
ycTjbkGtUlnHKG8gfJCd8gX0U3r1qvnNGv4cm+Bvh2Gn
-----------end_max5_patcher-----------

@jamesb93
Copy link
Member

Hi Pierre,

I did get output from fluid.mfcc~ now, but only one set of values exactly every 11.366 seconds.

Here is the patcher I tested with:


----------begin_max5_patcher----------
885.3ocwV00bhBCE8Y4WACOacf.nReZ+ezoSm.DbSaHgMboUam1e6a9.P5JR
0pcVmQTxW264jy8j7lyLuTwVRsm6st24Na1aNylYZR2vr12m4Uh2lwv0lg4k
1.ff6M21knAXD.1UQrqgWJluwy891to4l4HRe7ljtoTggreS4adPRx.6rhCV
svetKJXo4mntm8qCuojxUAxjBA8KjDWR.h7ABGmxLYf+9IXSM6LzM9tii9w7
SDmpUHkHOJN8lOAVW80XMzOQ+SRfAqnqGVQeGrRdQk1cIMP1ZxUOfVNACTvD
XPSCiRAwmv1cbngIhmlBPWMXV1v.ZMiluGU0zMbR9Pldzc5QgXT+hnxIXmcS
I33vFkrb.rChMBf0ICvcFlmuS8vtR9SIHTwT0pBd109lk95US+re0NCMSOa7
pMzgeC1k7ZNN6CuC4IzDRADxvBnvnEwyciLRA8yyQJ3e8T7ErFZ9hxhrrOTj
f6upArDxDjhB2.uyWfLkmGZsQMDrb8Beym0gQQKi8QqzZi0mlsvkWSTwv6Xz
ZneiSHoanbLCHkUBSrPZoksyTbMMCZ3Tsw2stQQccTJxI1iGzi3nTktbCyzD
1X+S+MWs9TAGK2smRqnJ1KSH0jmpug53grcuqagfwDurgIRG.C+udq.0VX5a
MnGP9ZmvZPRTS0Nk8c8mFLiB6ND7EBYIlCim2ita1Q8LBeCzEHctnhe1S0de
iJ631Vyw.tUEzJCTtMLZU+Q+C5P0ENsVvZ.hhrL4g2iB9F1tEXZQK7LHjpxT
UhL8HdhxsaR3lbpP2xfAzt+03mD5G3iVtdPeLgnZ.8XRYAGHb3AUcIP5vyvL
evr5ZxTPX+i68N6a4LKTv.HanG2DXLCf.+IL.hr5r.j4vvfUGVxqCo0Vp.T9
8fZ90dW+aDYhmGix+2KBZRZc6elVpEMxrNb2U4MnhHWUpnjwcR965OEvMneL
Bo9P3id0rqdj8OLxne9HqO.XrP6eYgN4TB83Q9xn63SHvs7xEEmSAfw+D.7T
Cbv+k8zeD0j1i5bExkz7JAkC0cNYI5auYt0h4STvJTHJNHTYnkDej99jFw5A
gqpdlHqaisIkUlvOJLvb8byqTt80PyqRxyztwabA8vRkQKnbYaj1Cl1tzdQc
ycTjbkGtUlnHKG8gfJCd8gX0U3r1qvnNGv4cm+Bvh2Gn
-----------end_max5_patcher-----------

With a hop size of 512 samples at 44.1khz sampling rate that is exactly what you would expect. I think that means the issue is solved :)

@tremblap
Copy link
Member

tremblap commented Aug 19, 2022

@leoauri do you mean always the same set of values every (signal vector size) or a new value every hop size (hence me using zl change after the descriptors) ?

@tremblap tremblap reopened this Aug 19, 2022
@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

Somebody is confused here, maybe me. 44.1k sampling / 512 FFT window, we would expect many analyses per second, not one every eleven seconds?

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

I get one list of values at regular ~11 second intervals

@tremblap
Copy link
Member

@leoauri here is a slightly more precise measuring patch. with overdrive on, and your signal vector size to something below 512, then I get 11.6ms


----------begin_max5_patcher----------
980.3ocuWs0bapCD9Y6eEb3YGOf3hw4oy+iNcxHCBGkHj3HDswoS6u8ypUfM
oASwwN0yXtr5x29sWzt7ikK72odg036cu2W7Vr3GKWr.EYErn68E9UzWxEzF
bZ9R12U6dxekaHC6ECJ9etyKXcuTYaEWJXFbEjSBUsldogcRchLGpYNkvuTn
nvV90tw4E31CPd219sulZxejK2+flkabKKgrYcvJuHRf8FY65D3JYcf2WsK4
mKWZur55n3qBuFilQq7HW.QImin9qf+iwyr+LOIYoVFl5d4ixSvTC55nbo28
TpzUTD6zIYWMUSqXFl9AljtSfbLXJluiJ2OJ62LCubRn8VRvUw9y3kMd6lzh
Lyv3yxunY3cII8L6yHJdc9ifxw9TigCmfkQYNGWHxuzOEuXdcatPk+7svUd9
SjRlguLYiMSMI4pXYUqvvaD7BldRF0.uaN3R+BmzU1v2KYECm2EmBexjjSkE
GfKNbCNBwqNAQu2xEOgkirM0Y4hr2BS1Zuks0Z5NQSf7fExsf6bwP1qeHqK6
0BZ9utf7gf2SHxTDhfTfDEaCEhwPA60aY.eonkWrtpLO+WfA26eaLTsIWwJK
8BufjfKOSOdpxx15TVeXZ15.7WVTbbZR.Yi0wlcU4D0B5AAuwbzwg0pj.o0V
EfqjCcUixcklumKoBASt27nSkwPIeCO+4lS78sFoj4jwzs0FVUsBwDaM4LVW
a1HUXswi8j8eAGoDUe3jVsi1.Rakbaol68hi62++qkJ3lCnYBmzQWDGbQiaf
JUBg566EpcCT59AqTEr2uaCiBNV11vqX11j.f5LnG02IBPHc45n0OJXPtdA0
P6hB5BCfyaD75iMsNX.XH5tFkn0v.rP78eRI2KNrlxK6zPjrbvkC9tomwybo
igz1BtxJYvD5Heav1nfv.RZ1fwDJU8f3LTkURCSZd.xKMrd9LTyGrpdQXBg6
AWFRmjKLQgZL5V9GnRncgtCWJMvQtFv003+gpVLZKBASbvQrKRHzUDMby3GU
faqufK+8OgA2Qq72ZVZTs57dkp6SJFDeV.AtPNaelwWN1Pp24NgZt3jMCb1d
CvIYF3jcCvIZF3jbCvIbF37VcQos8HYCF+zANdbfCuJfimSHY3svzFLGJ9Vs
ohWTq3RSSeRJ9c1Xgb7Wb3FRDIAZ3CZhK4Lick5c7lKWuuQAEyBZx3HS96fb
3zwitCLo00eioa5VMBJTw3IEN8rU3qbo6Ur2ceM6a794iUG7oZ3HaCbdcq1U
E8kTWO8XuBZITvwgMP2k1J1P0HaE2lZZdWqDPQqk+b4+CLMcAQL
-----------end_max5_patcher-----------

@jamesb93
Copy link
Member

Somebody is confused here, maybe me. 44.1k sampling / 512 FFT window, we would expect many analyses per second, not one every eleven seconds?

That somebody is me. I assumed ms without reading carefully ;)

I'll leave you two to it.

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

@tremblap A sequence of timings from your patch:

print: 6124.242178
print: 6124.272652
print: 6124.261187
print: 6124.293434
print: 6124.315906

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

signal vector size

What's that?

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

The fftsettings do not influence the timings. Those above were the default 1024 window, these 512:

print: 6124.320393
print: 6124.266039
print: 6124.186927
print: 6124.33343
...

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

what do the -1s refer to in fftsettings 1024 -1 -1 btw?

@tremblap
Copy link
Member

svs is your max settings - what are your i/o vector size and your signal vector size in the Audio Status window?

@tremblap
Copy link
Member

-1 = default. for 1024 -1 -1 it means 1024 512 1024. -1 for hop means half the window, and -1 for fft means the nearest exponent of 2 on or above the window

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

i/o vector size 4096
signal vector size 64
scheduler in overdrive 👍

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

-1 = default. for 1024 -1 -1 it means 1024 512 1024. -1 for hop means half the window, and -1 for fft means the nearest exponent of 2 on or above the window

👌

@tremblap
Copy link
Member

ok just for the test here, can you try 512 for i/o and keep 64 for s/v and od on. Try this patch instead - much cheaper processing of melbands:


----------begin_max5_patcher----------
969.3ocuW01bahCD9y1+J33ytdPBDFt+JcxjQFjcThPhSRzFmNs+1uURPB8L
wlzfOOiwVqdY2mce1cE+X8p38pmYl3n+N5qQqV8i0qV4E4Drpe7p3F5yUBpw
urXI66p8OFuILkk8r0K9u9RTx1Ao7ZuLXceobPlrqgKELq+TvuIT0YGjh5k1
RsUOvkGuWyprAaif2sMYSTJNw8CtbKAdh2lDcW+dBGi8TKKrg3CBEE17cto+
450tGa9bP7EQjwpYzlH7D.s3C.T7UAJtH2Aw7vfKBz3Mv2+HbBtHvtFr6CJc
C0aE4mitcwuZxZZCyxz2yjz8BuQjLExQ+gHOkfb+PRlGx2SkGWznrMZ+DQ2z
34iwqSiwXx.5tFFWb78hXa0Cvgxl.knkgCmVDBdHO9xStkb32AkUscUBU0SS
.RxxFJI6bIpDx0A4mnhTSmvxMBdMSOX8FlELeXUgS26jQiTug+hWwYIm6Bxl
S1Ln.i8TPF5RtLC+njUe8b9Jpr9D7HbhIuuqEWlGbsodPQJc+TTdaHPrWpoU
+ZBdB9CjLbIvf8lONMywSx77D2ykjsePzwq21vDP0hZyufX9D3IqLdQpS6ZM
4BK4EaS7eJRyxxII3cfPzMMYuUPOI3F6qgKklejKoBASdz9vnLgXKu5IXS2M
geXV8xFNYKqoU48S9qdzaTpZ+hgpyFd0vw4GX6jbWEaHwK6h8Ea4fmsRocNV
tRNV2GTBg56GEp8izexjwIx0iS39rHueIMYTjwxaXtaz.as2085T9KCHsSae
+SGUvsmN2CbVn1UZfJbA7o9m6aM2e7T8o2BV0TKsmEzSCfhGBd6q2SczDvTz
8Fknyx.efGGwOpjGEm1R4G5MLOh3.IAB2WdEOwkAlBsqlqbRFsfdRTWRYZBJ
AmWLZNgR0NJ75MYkzxj16MVpkMfmwV9ncMHxmPD9SHCoWxGLQgZs5N9Tc3Sl
C42s8PgkCVnMfEHVlkoqYVfFhBMOQ6JlQ4heqTgecwBt7+9VKdk4j+6tEipS
WMbTCo+iH50PF.jmOPw+5a0JGsHk10304flLVLWU6b9eTU2vqaUbo0L3+7u5
ChLT7MCsCmhInT2aEQdm4dmhsy1kUNC6FEVymSQyI1.8kiPmGZP++n4IHE3O
GoXNbhoUL5lq3zaQZP5LTLYAXSjYnmhEPOEyPOkKfdlSV3tyzSnfIss8aLso
ewdU.cLdT4CmEa7C4xvvT+PM6a7g06KnGS0P0bKTJuSG5h9bd3EI72GRKgFN
ARI.t0tN1P2HWGWSKsp+5RPSq0+b8+BYB2y5
-----------end_max5_patcher-----------

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

Ah. 512 for i/o gives expected ~11ms results. Thing is, apparently I cannot change this setting when Max is using Ableton as the audio host.

@tremblap
Copy link
Member

Now that is interesting. Let me do some tests here.

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

Also, in max4live, I am now again getting "no output" in both the last patches 😆

@tremblap
Copy link
Member

I don't have Ableton here, but you run it at 4096? Here the results in Max at 2048 are almost as expected - @weefuzzy is on holidays this week and I will have to ask him a few questions about expected values in such context.

More soon

@leoauri
Copy link
Author

leoauri commented Aug 19, 2022

When started with Ableton as the Audio host, i/o is set to 4096 and there are no other values to choose from in the dropdown
Outside of Ableton, the maximum i/o setting available is 2048, and then I get timings under 0.1 ms ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants