BelaPlatform / Bela

Bela: core code, IDE and lots of fun!
Other
489 stars 138 forks source link

Missing Csound Opcodes - scans, scanu, xscans, xscanu, xscanmap, xscansmap, STKopcodes (bowed, clarinet, brass, etc.) #635

Open csounder opened 4 years ago

csounder commented 4 years ago

As my students and I are running instruments we developed and instruments from The Csound Manual on the Bela, we have discovered that some Csound Opcodes, are not included in the version of Csound that is running on the Bela 6.14

giuliomoro commented 4 years ago

It would seem that there is need for a rethinking of the build system of Csound for Bela. From the CMake files, there doesn't seem to be any opcode specifically disabled for the Bela build, so it must just be a matter of what libraries are or not installed.

grep'ing through the csound source, it would seem that the sc_ ugens should be in libscugens.so, which is indeed on the board at /usr/lib/csound/plugins-6.0/libscugens.so. Also, the "scanned synthesis" opcodes, seem to be in libscansyn.so, which is on the board at /usr/lib/csound/plugins-6.0/libscansyn.so.

So yes, probably it's just a matter of this path not being loaded. Try running this to fix it:

ln -s /usr/lib/csound/ /usr/local/lib/csound

it gets rid of the warning for me.

giuliomoro commented 4 years ago

the STK ones are not there though, I guess that's because they rely on STK which is not installed on Bela (or on the build machine)

csounder commented 4 years ago

YES! This works - and a lot of "other" manual examples and opcodes will NOW "run" on the Bela. THANKS.

csounder commented 4 years ago

Two new warnings appear now - which I am sure that you saw - pulseaudio and image opcode libraries are not found (or not compiled?)

WARNING: could not open library '/usr/local/lib/csound/plugins-6.0/libimage.so' (libpng16.so.16: cannot open shared object file: No such file or directory) WARNING: could not open library '/usr/local/lib/csound/plugins-6.0/librtpulse.so' (libpulse.so.0: cannot open shared object file: No such file or directory)

giuliomoro commented 4 years ago

right, not sure those are relevant though: librtpulse seems about communicating with pulseaudio, which is not available on Bela. libimage seems to be about manipulating images ... not sure how that would be useful on Bela.

So if I understand correctly above, I'd suggest we just omit these libraries from the next release.

csounder commented 4 years ago

The image opcodes scan and map color data from images to produce control voltages - they might actually be useful on the Bela.

Dr. Richard Boulanger

Professor of Electronic Production and Design

Professional Writing and Technology Division

Berklee College of Music

On Sat, Jul 4, 2020 at 12:47 PM giuliomoro notifications@github.com wrote:

right, not sure those are relevant though: librtpulse seems about communicating with pulseaudio, which is not available on Bela. libimage seems to be about manipulating images ... not sure how that would be useful on Bela.

So if I understand correctly above, I'd suggest we just omit these libraries from the next release.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/BelaPlatform/Bela/issues/635#issuecomment-653787753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALWYFSWQOXLN7UEBW3UEETRZ5MIVANCNFSM4OQISE5A .

csounder commented 4 years ago

Just omitting the PulseAudio library makes sense since it is not supported on Bela.

Dr. Richard Boulanger

On Sat, Jul 4, 2020 at 1:03 PM Dr. Richard Boulanger rboulanger@berklee.edu wrote:

The image opcodes scan and map color data from images to produce control voltages - they might actually be useful on the Bela.

  • maybe you could see the image in the IDE (a jpeg or gif or..) and then csound instruments would scan it and map from it on the Bela when uploaded there.

Dr. Richard Boulanger

Professor of Electronic Production and Design

Professional Writing and Technology Division

Berklee College of Music

On Sat, Jul 4, 2020 at 12:47 PM giuliomoro notifications@github.com wrote:

right, not sure those are relevant though: librtpulse seems about communicating with pulseaudio, which is not available on Bela. libimage seems to be about manipulating images ... not sure how that would be useful on Bela.

So if I understand correctly above, I'd suggest we just omit these libraries from the next release.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/BelaPlatform/Bela/issues/635#issuecomment-653787753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALWYFSWQOXLN7UEBW3UEETRZ5MIVANCNFSM4OQISE5A .

giuliomoro commented 4 years ago

The image opcodes scan and map color data from images to produce control voltages - they might actually be useful on the Bela.

OK, then it would seem that - assuming your board is connected to the internet - you could do:

 apt-get install libpng16-16

if the board is not connected to the internet, you'll have to download this file, move it to the board and do dpkg -i libpng16-16_1.6.28-1+deb9u1_armhf.deb to install it manually.

Just omitting the PulseAudio library makes sense since it is not supported

OK. To get rid of the warning, just delete the file for now:

 rm /usr/local/lib/csound/plugins-6.0/librtpulse.so
csounder commented 4 years ago

OK. librtpulse is gone. But. I don't think that Bela is connected to the internet, and so, I will try that option now. THANKS.

csounder commented 4 years ago

when you recommend that i move the file to the board, should I put it in the /usr/local/lib/csound/plugins-6.0 directory before running the dpkg command?

giuliomoro commented 4 years ago

no, it can be anywhere. It's a .deb package that will be installed with the dpkg command (this in turn will copy its contents to the appropriate paths on the file system). After installation you may well delete the .deb file. Oh, also when running dpkg -i you have to provide the correct path to wherever the .deb is.

csounder commented 4 years ago

installed and deleted.

great!

csounder commented 4 years ago

Success - Image Opcodes and Image Opcode Example .csd files from The Csound Manual are running on the Bela

csounder commented 4 years ago

would it be this easy to add the STK libraries too? That would be nice if they were there. But... I am so happy with all the additions from today. WOW. My students will be thrilled tomorrow. THANKS AGAIN. -dB

giuliomoro commented 4 years ago

Unfortunately not. In the image opcodes case, the plugin had been built, but it was linking to a missing library. The step above installed that library. The STK plugin has not been built, therefore this requires re-building csound.

csounder commented 4 years ago

Hopefully on the next release. Thanks again for everything today. So many new possibilities now!

Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music

On Jul 4, 2020, at 3:44 PM, giuliomoro notifications@github.com wrote:

 Unfortunately not. In the image opcodes case, the plugin had been built, but it was linking to a missing library. The step above installed that library. The STK plugin has not been built, therefore this requires re-building csound.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

giuliomoro commented 4 years ago

thanks for raising the issues. As we do not use Csound ourselves, issue reporting by users like you is the only way for us to improve.