Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

*** NEW *** Bobs Vocoder with formant shift & Pitch Tracking

Post any examples or modules that you want to share here

*** NEW *** Bobs Vocoder with formant shift & Pitch Tracking

Postby BobF » Thu Aug 18, 2016 7:16 pm

BobsVocoderVer1.1.fsm
(636.6 KiB) Downloaded 1688 times
I HAVE NOTICED PEOPLE KEEP DOWNLOADING THIS OLDER VERSION, THE NEW VERSION IS IN THE 11th POST DOWN AND IS BY FAR MUCH BETTER!
Hello gang,

Well I made a vocoder and I really think the sound is VERY good, but it has been pointed out that it is VERY cpu hungry. It uses 40 band pass filters and that is the biggest hog. I have tried fewer, but the sound is just not the same.
Unless you have a very fast computer and then even it can lockup or miss function, so download and use with CAUTION. I have an I7 so that is probably why I did not notice it for some time.

It can work in either midi or a manual mode. To use it in manual mode press the "Test Note Start" buttion till you get a waveform displayed on the scope, then explore the few presets I have provided. I have only provided a few presets because even on my I7 as I added more and more presets the cpu load just got worse and worse. For my test, I used my voice mainly, some drum loops, and a few guitar scales. I tested it with 1 to all 3 oscillators manually and via midi, modulated, and with and without pitch shifting. All worked just fine. The way the format shift works is try setting the “frequency bank range”, say low on bank 1 and high on back 2 and so on. Of course watch high Q’s (5.05 seems pretty good) and turn volume down to zero when changing bank ranges (sometimes load squeals or pops occur).

Now I REALLY like this vocoder, so if some kind Flowstoners want to HELP in optimizing it, I would really be wowed and be very much in appreciation for your work. So please pm me, or just upload your finished work here. Of course all and any other comments are very welcomed.

Have fun then!
Cheers, BobF.....
Last edited by BobF on Sun Aug 28, 2016 11:25 pm, edited 4 times in total.
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: Bobs Vocoder with format shift

Postby martinvicanek » Fri Aug 19, 2016 2:45 am

Very nice, Bob! You could exploit SSE by running 4 channels in parallel. ;)
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Bobs Vocoder with format shift

Postby Spogg » Fri Aug 19, 2016 9:14 am

Hi Bob

This is a great proof of concept!

I do think it would be well worth your while to progress this by using Martin's fast pack/unpack modules I sent you. You personally are in the best position to do this, and I realise it's a lot of work and time, but you'll be rewarded with great satisfaction. The CPU usage could be cut to about 25% of current and make it accessible to many more users.

When/if this is done I'd like to put it on the flowstoners website...

Cheers

Spogg
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: Bobs Vocoder with format shift

Postby BobF » Fri Aug 19, 2016 12:58 pm

Hellol Martin,

Thanks for commenting. Would running 4 channels in parallel drop the filter banks to 16? If you have a moment could you draw me a block diagram on how that would look? Would that be 4 packs and 4 unpacks or 5 of each?

Spogg sent me your fast pack and unpack modules (thanks Spogg), so I can start rewiring as time permits.

Thanks Spogg, putting it up on your sight would be nice, and yes I would really like to see the cpu usage come down for me and everyone.

Thanks again guys, BobF.....

P.S., my email if your wish to use it, 1alchemist3@gmail.com
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: Bobs Vocoder with format shift

Postby martinvicanek » Sat Aug 20, 2016 12:11 am

Bob,
instead of this
Mono.png
Mono.png (21.66 KiB) Viewed 38676 times

you could do like this
Mono4.png
Mono4.png (43.94 KiB) Viewed 38676 times


One remark: You are using static filters with green input, so you can't pack the frequencies. In that case you would have to pack the filter coefficients. Alternatively, you could use dynamic filters and hop the coefficient updating by 4096.
BTW should it not be 'Formant' instead of 'Format'? :roll:
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Bobs Vocoder with format shift

Postby BobF » Sat Aug 20, 2016 2:54 am

Ok Martin, you got me, my bad! It is Formant, and when I was doing Internet research on Vocorders, I must have read that hundreds of times and still spelled it wrong. Like I tell Spogg another senior moment.

I chose the static filters because I knew I was not going be be modulating them. So, just for my knowledge then, what if I packed everything but the frequencys, would that still work and would I still get a cpu usage cut? Is it a pain to pack coefficients. Don't know if I even know how to do it. Maybe using your dynamic band pass filters is the way to go. Is anyone route better than the other? In any case I have lots of work to do.

Thanks Martin for taking the time to help, I really appreciate it. And even as a senior I am still always learning.
Take care, BobF.....

P.S., This project took me several months to complete so all interested please be patient with a new design! Thanks.....
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: Bobs Vocoder with formant shift

Postby martinvicanek » Sat Aug 20, 2016 5:23 am

BobF wrote:So, just for my knowledge then, what if I packed everything but the frequencys, would that still work and would I still get a cpu usage cut?

The point of SIMD (single instruction multiple data) is that every instruction is actually operating on 4 data sets. If you don't pack, all 4 values will be equal, so you are not taking advantage. Packing 4 channels into one Mono4 stream amounts to "buy one get 3 for free". ;)
Note that in my schematics the carrier input, the modulator input, and the Q are packed with the same value in all 4 channels. This is actually redundant. I included it for clarity, but you can leave it out in the final schematic.
BobF wrote: Is it a pain to pack coefficients.

Well, yes, because each filter has 5 of them...
BobF wrote:Maybe using your dynamic band pass filters is the way to go. Is anyone route better than the other?

If I were you I'd go with dynamic filters. You could do the frequencies packing in stage0 to save some overhead.
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Bobs Vocoder with format shift

Postby BobF » Sat Aug 20, 2016 4:14 pm

Thanks again Martin. I will get started again as time permits.

Also, if any of you that have interest in this Vocoder and have any comments or suggestions before I start a new PLEASE let me know now!

Later then, BobF.....
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: Bobs Vocoder with format shift

Postby BobF » Tue Aug 23, 2016 4:38 pm

Hello all,

As I get closer to finishing up my Vocorder using dynamic filters instead of static and packing connections for better cpu performance would anyone like to add anything else they would like to see in this Vocorder?

Now depending on what you suggest, I may be able to incorporate it or I may not, but please do make suggestions. It's about 90 percent done so it will not be to much longer till it's ready to upload again. Also I wI'll wait a few more days to see if I get any suggestions or other comments.

Later then, BobF.....
BobF
 
Posts: 598
Joined: Mon Apr 20, 2015 9:54 pm

Re: Bobs Vocoder with format shift

Postby martinvicanek » Tue Aug 23, 2016 9:13 pm

I would suggest to include a bypass option for high frequencies (above 5 kHz or so) for better reproduction of plosives and fricatives. Try "stress test" or "Xerox" to see what I mean. High frequencies would then pass directly and not modulate the carrier.
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Next

Return to User Examples

Who is online

Users browsing this forum: No registered users and 24 guests