You should be able to specify a folder of files and have them be concatenated (with or without optional arguments) rather than manually joining individual pairs of buffers.
To be honest, that feels like a feature-creep too far – at least to do in Max / SC – as we’d have to introduce filesystem access etc. @danieleghisi has suggested that a command line interface would be useful: this would need to work with the filesystem instead of buffers, so such a thing might be possible there (although something like Sox probably already does this).
Does this patch fulfill your current needs?
----------begin_max5_patcher---------- 1843.3oc0Z07abhCE+7j+JPndLMAiAFlJ0UpR6Vo8vp8vpc2CUqF4A7LwMfM BLIoaU6e60e.DXlAvShmz1CYH7rwu2626Ca+r+7EKb2vd.W457FmO3rXwmuX wBEIIgEMuuvMG8PRFpR0MWJ9d1lO5dotIN9AthbU8lJNgWywNaYYoNaPzcsc ph+oLrpWsTn04rZdFlqFS+FpEHdxMD5t0k3DtVlB78ux6RmX0u.Pn7gjjy+0 7MjT0.KDoW6urc30iM+SEX8nH3q3utuQvcBsi4RZe4hKj+bogXPNtpBsCeHH HFSx+ic7b7LU2Ayp6.Pj7QT7j5d335t8z6Qr8ap2tEW9UmzJt8L4f.kBGsbR 0FNpZuMig3R6txS73X.vdXPgSN5VrSd0NKX48gQWEdoSPfBIVFMID3epV9AL FW1nqMJ6B2sjL7c3xJBi1q2KbQEE8Hun2mHQnOxTCzxK6HQnZRvNRk36Hsee PGUToP84BcutTCWODE393vvRwkzZRm4RYqtnc.6bZBUfDzSgXvPO4i.POLSX W2kwRtEqfNuVhrBLkPKJwUXJGwajttlSwaQ0Y70aYTUnsRLj73HsuEkfG8io nbs18tRBJqU+b2URRYToPL.qkjaY2Gbzo8j+9nxn5AEUbjOV3UHvkQZrRnj0 UaPkRSwFsCpeaibFKaXSceWFdKuo4BBktGJxYEi2XIY2MS7saXhFymZrUsTs tlpacsHVjutBc2PzlixxZBNGN7OfnjbDGyIZSfuWWiXJRnn2TkTxxxFnu5Vt 6HsjJ7hSv2SR42nXTemAQ2IEsNQtcV4TxNbEeHMNZW0PJGjvXgbV0lnz0bbd QlPKF1gASe2OjreZrAzmJc1vTZbGhCoeKGJfilXerLaqBjI1.Apn0X39I1NH 4VeFcP9MBUkfW9Xv.bXN9Es44axe7yAXoyhEoRoEAk.2TXE3mFrp.kbqXMRU mNfALAv7CT9U.+kyAYqlDxl.nfuL.0uzsNRagPMwedZfZ0b.zxY8oFGi7sHF Umio0mJT.MBJVATqXHdNnHxcvvUJlOmKRKqmmn+LNSE9MXeHZNHxq2j.2spL Q1gKk+HWK8DAp8ZPBMxUIYaLe3lb1KBtjkHZ1QHwh.4WCz+.bdk7+dkeOZuB 1aaAVNNek9Q3x4lFI.9TCzsIfpF0yCR3oW7a6uiNEwyIdtu+cBKW31wOP1Iz T7C1dlDsbdp.mmI.GL.XFx464ZRr3SBWdbQ8YD5XqlSoBx1ONfUwpKSZsiMY tcFpMhUmxIzts37gtUXI6mQlqSUF7MTFhNyx.v.YPrT.G+yjL.LDGVcFwAfo NDfyoPXnwX4YTFhNAGBvYRFVYnsPNu0YCHZG74SQ3MpTzPrshLtxMkmtVW.h 0HNujrolqSo0uDSmzFk2kw1fxZ1FbWYTlZWyOt05KdTdsSY9RwawkYr6sPQ9 .w50bBUSAENYQ9fmbM9rmJK5CIuN27RZ6OegM8VoJrIbJcNb7x4ejMyd1Jt8 qc.1qhtP3piuwqAJdvjJ9YWi2g4xPWmJTdQko5NbdcWWa13IM5AASeFNW9R3 wuMqljd0l5shkyUvpve0hkzeoZyJ.uIOMm.vnnvKzoYThKvzTGwiLYUssW1N OU1tUSdpNvfuio6d6asxg2AE1aPTTTXjH2dndWFSd5kPuuyQ8HNVrfGqjrSX jE15vUpjcgASo1fUeGO3RtXYMDKLsFLPooMA2SOUNH9oOslEcySX0TNtzTkO X1Lag5ioFDEO0bafv4z91+FGEBs+IWqp71y1MnMGWTv7mbM3GlSt1tmduu19 CiAFfA9+nfAkL4EWofUTqNhM6kQPeB9wSCCfWp6sxLy1Kdtk7fMlrWe2MZt4 JSq8wuDy0mVxJj2qgNUWvk1ptKutRCXkgA6M5nNY+J0pZCCG4NZ7TLvOE8r+ 4jbDCHply5bx6YB6CG+669meSJUu62e+6GCVfyCKsy56Momua2.M54oX1Yo3 136JG4+.k7m+0at9uqvkUWytGSu9WEleAvc86wI2vtVfXWK2aSFt55VAn+wv jvnIHN3p6Q20cbLZZ9CncKI41zx5bfO3nz887FPuhhJwxFBFgLXD559OuWhp GCKhr1oY+RC035bXwRGTjvwJGT3ikC5.2Si4T+pvMFiVZIFMmFEaC9DZBzAs .mBMxH4aCcxDvK.XANAVY.mFTFc2bRZASjJnwU2GnWvgdSV.H3J+vCdEzby. BWdU6aOSAGZhbaCqtbOwyxIavHfAQl6IL6aJB0SADqer5w2dtd9lfAg1HqQf QbJvVbZN7FXinYfIYn.8N1imtNALgS1XZDUn0bnWfMrSPOSQuQiKfAgWE0VR nlxfpyZodyFlW+4Bb8rAnGahKqTbBrAmLxQBNJnGp1OZnmJku7Mfe66OWoyH 27XKkSdNSKvFyCGa9zvGrty8te3RVr28Beu6D9g2G7wuK36eOvEb9KW7MqtE FnC -----------end_max5_patcher-----------
Yup, that does it!
I only mentioned it as that’s what I imagined the external would be for in the first place.
Well, this object has sort of evolved a bit by accident: it was originally for helping PA make the help files, so more orientated to mixing than joining. It’s wild that it’s the object that’s getting so much attention, really. For me, it’s teetering on the edge of being usable and if people value being able to do these things, we should come up with a much better interface before this stuff goes public.
applying window functions or short fades to beginning and end of the source buffer before copying to the destination might be another useful feature
If windowing is needed, it can be done in many other objects after loading (hirt has one for instance) - I think I will vote that this object keeps doing what it does: sum 2 buffers to a 3rd one. With that and clever user-scripting, we have a new feature in max. Granularity of code is important and i think that sampling rate conversion and enveloping can be done elsewhere.
@rodrigo.constanzo Hi rodrigo, the ears library I’ve posted in the other thread should solve this problem. Look at the sample patch “concatenatefolder.maxpat”. Hope that’ll help.
Daniele, this is great!!!
Just one quick question for the concatfolder patch. The very last sound in a folder seems to be the first element in the new buffer. From there on all other files are from the beginning.
The right side of the screen shot is the original folder. I added a bach.reg to see the output from
Hi, I am away from keyboard, but it may be that the file system doesn’t sort them properly. That happened on filesystem change of OSX.
Put a bach.flat and a bach.sort before the ears.fromfile and that should solve it…