actually i forgot to had the trill sensor of the player 2 of this game. now that i did this is the output.

you can get freeverb here, following instructions: https://github.com/BelaPlatform/Bela/issues/621

96% means that you are currently using 96% of the CPU for running audio processing, though in practice it's about 15% more than that because there's some overhead in getting audio in and out. It wouldn't be impossible to try to optimise things from this point until it can run in real-time: you are not very far off. Note however, that each freeverb channel you'd add would probably add 20% or so.

Those listbox errors are probably due to the old Pd version that's on Bela. I have a new one if you want to try it out which should support it - unless it requires an external.

Can you share the whole patch?

Regarding the second sensor, check with i2detect -y -r 1 what Tril devices you have connected.

  • Ari replied to this.

    As context, I'm basically turning the game "Guess Who?" into a drum machine. So theres 2 players.

    Theres more explanation on how to play the game on this github page : https://github.com/ArianaMarta/music-game/blob/main/README.md

    Right now this is all the patches i have:

    main.pd
    196kB
    acid.pd
    4kB
    clap.pd
    4kB
    claves.pd
    1kB
    clip-calculation-ply1-pot1.pd
    5kB
    clip-calculation-ply1-pot2.pd
    5kB
    clip-calculation-ply1-pot3.pd
    6kB
    clip-calculation-ply2-pot1.pd
    6kB
    clip-calculation-ply2-pot2.pd
    6kB
    clip-calculation-ply2-pot3.pd
    6kB
    cowbell.pd
    1kB
    cymbal.pd
    3kB
    gatemode0.pd
    545B
    gatemode1.pd
    550B
    hithat.pd
    5kB
    kick.pd
    3kB
    snare.pd
    3kB
    threshold.pd
    322B

    And this one is a simulation of the algorithm of the game without the eltronics (meaning that i use Toggles and Slidders to simulate buttons and potentiometers)

    I was also suggested to try using bela just for the eletronics and use my computer for the audio processing via MIDI(https://learn.bela.io/tutorials/pure-data/communication/midi-send-and-receive/) or OSC (https://learn.bela.io/tutorials/pure-data/communication/open-sound-control/)

    I was also wondering if i should just take the freeverb~ out or optimize the audio somehow.

    Hope to hear from you,
    Thank you

    in the console at the bottom of the IDE

    Hello,

    I manage to reduce to 85% CPU. Its still not enough.

    This is the sounds i have at the moment. Do you have any recommendations how can i made them less CPU heavy?

    4pole.pd
    404B
    acid.pd
    3kB
    clap.pd
    4kB
    claves.pd
    992B
    cowbell.pd
    1kB
    cymbal.pd
    2kB
    hithat.pd
    4kB
    kick.pd
    2kB
    snare.pd
    3kB

    also i still have that error. Do you think will be a problem for the program to run? or can i ignore?

    If you update your core code to the latest dev branch , you will get Pd 0.55 which should run with about 75% CPU here, also thanks to some improvements I made to the Pd core for you.

    Instructions to update are here: https://learn.bela.io/using-bela/bela-techniques/updating-bela/#updating-to-an-experimental-release

    Unfortunately, I still see periodic dropouts when running at 64 samples per block. You can maybe downsample slightly: edit ~/Bela/core/I2c_Codec.cpp and replace 44100 with something lower, such as e.g.: 40000.

    Regarding the Trill I2C error, can you show the output of i2cdetect -y -r 1 ? It may well be that it gets fixed by the above update, so try that first.

    Hello,

    Thank you for your reply. I manage to simplify my audio quite a lot so i think ive improved the CPU issues. But regardless i would love to update the core code.

    So i have to choose the "dev" branch and then download and follow the steps. Is that the branch you meant ("dev")?

    Also, where and how do i edit the I2c_Codec.cpp file. I guess this is the file from the dev branch:

    Does that mean that after downloading this branch i first change the file and then i update the board? Or is it something we can do after ?

    thank youuuu

      Ari Does that mean that after downloading this branch i first change the file and then i update the board

      The former is more flexible so you can change it repeatedly without a full update

      this is what i have when i type "i2cdetect -y -r 1"

      what does it mean? how can i fix that error?

      Do you get any confirmation about creating bar on 0x18? That may be the one causing the issue

      I have a patch where i just test the trill sensores everything works fine. But when i have them in the main game patch gives this error:

      The three of the trill sensors seam to bave been created although it gives that error. Do you think it has to do with the CPU some how?

      I removed the "--board Batch --codec-mode=s=1,p=95,t=1" and now it works.

      I still have a lot of "Underrun detected: 3 blocks dropped" even tho i changed the downsample to 40000. Do you have another recommendation on how to improve this?

      The project is working !!!!

      Dispite the "Underrun detected: 3 blocks dropped".

      And it runs with a CPU of 59% around.

      Thank youu so much for all the help.

      Let me know about the "Underrun detected: 3 blocks dropped", or if its fine to ignore it.

      The dropped block is indeed concerning, it means there is a gap in the audio output. Do they happen all the time or only when you touch the sensors? Can you send the final patch as a single zip archive?

      Its hard to tell, i think its always (?). I cant check it right now. Ive tested the instrument and seams to work fine but if i can fix this will be better.

      project-final.zip
      44kB