You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I test an example script for synthplayer module, examples/synth_demo.py, on macos, then I got the following message:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/soundcard/coreaudio.py", line 464, in init
raise TypeError("blocksize must be between {} and {}"
TypeError: blocksize must be between 14.0 and 512
After studying soundcard/synthplaer, I noticed that maxblcoksize of AudioUnit may be changed internally. So that requested blocksize may exceed the maxblocksize, then we will get the error message above. I modified soundcard/coreaudio.py slightly, shown below:
@@ -458,12 +458,14 @@
# there are two maximum block sizes for some reason:
maxblocksize = min(self.blocksizerange[1],
self.maxblocksize)
if self.blocksizerange[0] <= blocksize <= maxblocksize:
if self.blocksizerange[0] <= blocksize <= self.blocksizerange[1]:
if maxblocksize < blocksize: self.maxblocksize=blocksize
self.blocksize = blocksize
else:
raise TypeError("blocksize must be between {} and {}"
.format(self.blocksizerange[0],
maxblocksize))
raise TypeError("blocksize({}) must be between {} and {}"
.format(blocksize, self.blocksizerange[0],
self.blocksizerange[1]))
if isinstance(channels, collections.abc.Iterable):
if iotype == 'output':
I test an example script for synthplayer module, examples/synth_demo.py, on macos, then I got the following message:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/soundcard/coreaudio.py", line 464, in init
raise TypeError("blocksize must be between {} and {}"
TypeError: blocksize must be between 14.0 and 512
After studying soundcard/synthplaer, I noticed that maxblcoksize of AudioUnit may be changed internally. So that requested blocksize may exceed the maxblocksize, then we will get the error message above. I modified soundcard/coreaudio.py slightly, shown below:
@@ -458,12 +458,14 @@
# there are two maximum block sizes for some reason:
maxblocksize = min(self.blocksizerange[1],
self.maxblocksize)
@@ -585,6 +587,13 @@
_cac.kAudioUnitScope_Global, 0, "UInt32")
assert maxblocksize
return maxblocksize
+
Now I can run the synthplayer example script, synth_demo.py, with some parameter adjustment( params.norm_frames_per_chunk=1024) .
Thank you very much for make the nice program available to u.s.
The text was updated successfully, but these errors were encountered: