lokki I got distracted having fun messing with all the ALSA settings for my fancy new sound card. I'm putting this one on a shelf for a minute.
lazzarello

- Aug 3, 2020
- Joined Jun 22, 2020
- 2 discussions
- 7 posts
- Edited
giuliomoro that's always more fun, but it could be pretty daunting in this case. Autotuning involves pitch detection and pitch transformation, which doesn't make it very easy.
I was thinking that maybe it would be a "porting" job. It looks like the FFT-phase-vocoder example included in the IDE uses a different library than these autotune projects, which depends on fftw3. The source code of Talented Hack is in C so it should "just work", right?
update looks like there is one #include of fftw3 and four functions used from the lib. Not sure what other things are included. I guess I can just start copying files into a project.
update update looks like libfftw3-dev is installed on the standard OS image, so I'm just going ahead with copy + paste now
update update update I imported almost all of the pitch detection/transformation algorithms and the only missing part is a circular buffer, which I'm comfortable making given the C++ tutorial on this subject. The majority of the code in the main file is specific to LV2. So I imagine that's where the complexity will lie. Also all the MIDI stuff is handled by LV2 functions, so that'll need to be ported to the Bela MIDI API.
- Edited
I've picked a project for the next three months of quarantine, as I live in the USA
I'd like to make a pitch detection system, that could also be used as a harmonizer, that ideally could also be an autotune effect like all the experimental musicians are using again since the pop stars left them behind.
After reading through the wonderful post about developing an LV2 plugin host for Bela, I couldn't really parse the results of this work. I'm assuming there's a Makefile or .deb of jalv for Bela.
I was thinking rather than loading LV2 plugins, it could be interesting to try and learn from the source code of other open source projects and do something that I can put directly in render() rather than dealing with LV2 scaffolding. So here's a list of what I found online.
- Autotalent is an academic project. It's in LADSPA format. I've used it before and I like the results.
- Talented Hack is an LV2 port of Autotalent.
- VocProc is another LV2 plugin. Hadn't heard of it before this post.
- zita-at1 is another one. No idea how it works.
- x24 autotune which is based on zita-at1.
I don't really know where to start other than Autotalent because I like the name and there's a nice signal path reference card.
This will be my second Bela project. But I completed all 13 C++ tutorials so I think I have a decent grasp on how to do stuff per-sample. Too ambitious? Redundant? Good idea?
This library and examples are great! Looks like the author is no longer merging in PRs and yours from last year depends on an old header named rtdk.h. Removing it builds the sine wave demo.
Dang, I just finished assembling the rev1 kit last weekend. I don't suppose there's a way to attach a little audio amplification board to rev1?
- Edited
giuliomoro Thanks for clearing up the release process. The work you've put into this IDE is impressive! I'm really getting into the C++ class with Andrew McPherson.
update This morning I rebooted the board after the update and now the IDE loads in the browser but it can't talk to the filesystem. The Examples and Libraries menus are empty and I can't upload projects.
Opening a private window seems to fix all that. :shrug:
- Edited
Hi! New here. Going through the C++ tutorial. I'm comfortable with software development on Linux and I use git daily. I'm trying to figure out what the word "update" means when the tutorial lesson 0 says "bring the Bela up to date".
- bela-image-builder looks like a cross compiler toolchain and a kernel so probably not that? It's at version 0.3.8
- Bela looks like it's what is referred to as updating the IDE. Cool! But there aren't any releases on github.
- Updating Bela tutorial web page links to the automatically created ZIP archive of the master branch of the Bela repository. Now we're getting somewhere.
Cool, so we're tracking master. i wonder if the Bela directory on the board (I got a kit with the pre-flashed image) has a git repo? Looks like it does but it has lots of uncommited changes. I haven't created original work yet. I've only run examples through the IDE.
root@bela:~/Bela# git status On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) gitcommithash lib/ pru_rtaudio.txt pru_rtaudio_irq.txt resources/tools/bela-cape-btn/bela-cape-btn resources/tools/board_detect/board_detect resources/tools/mcasp-dump-tool/mcasp-dump-tool nothing added to commit but untracked files present (use "git add" to track) root@bela:~/Bela# git fetch fatal: unable to access 'https://github.com/BelaPlatform/Bela.git/': Could not resolve host: github.com
Derp, I don't have internet on the board. I guess I could use ethernet or a wifi dongle? Meh. Continuing to do things the hard way, I clone the Bela repo on my host computer and I'm running the update_board script from there. The update is running as I expected. It's so cool to have a full GNU toolchain on the board! Looks like there's some custom .deb packages too...
The script says I updated successfully.
The last commit in
git log
in /root/Bela outputsAuthor: Giulio Moro <giuliomoro@yahoo.it> Date: Mon Feb 24 12:20:59 2020 +0000 Csound: updated to 6.14
But the repo I just ran update_board from says the last commit to master was
commit be6a814d7486706e62cd00b3b1fe8dff64a7fbd6 (HEAD -> master, origin/master, origin/HEAD) Author: Giulio Moro <giuliomoro@yahoo.it> Date: Sun Jun 14 16:20:32 2020 +0000 terminal-only: updated main.cpps, using AudioFileUtilities
Am I up to date? I really can't tell. Help?
A few minutes later the board seemed to automatically reboot the OS. Still not sure if I'm at the right version.
Ran the update through the IDE via github ZIP archive of master. Now there are a whole bunch of uncommited files in the repo on the Bela. So it looks like the script just doesn't delete the Bela/.git dir before copying and I should expect that history to reflect anything useful.
Props to the hacker that named the Linux USB ethernet device enxbe1ab7a6d2ca