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
Semitone Spectrogram
12 posts
• Page 1 of 2 • 1, 2
Semitone Spectrogram
Hi gang,
this is a demo of a semitone spectrogram. It covers 4 octaves, I was happy to see that Ruby can draw 64x48 rectangles fast enough for a sense of motion. However, I am sure it can be done more efficiently.
The DSP part includes a filter bank of 48 4th order bandpass filters followed by envelope followers. There is still some headroom regarding expansions to more octaves as well as further optimizations.
Have fun!
this is a demo of a semitone spectrogram. It covers 4 octaves, I was happy to see that Ruby can draw 64x48 rectangles fast enough for a sense of motion. However, I am sure it can be done more efficiently.
The DSP part includes a filter bank of 48 4th order bandpass filters followed by envelope followers. There is still some headroom regarding expansions to more octaves as well as further optimizations.
Have fun!
- Attachments
-
- semitoneSpectrogram2.png (200.4 KiB) Viewed 42762 times
-
- Spectrogram2.fsm
- (157.16 KiB) Downloaded 1862 times
-
- Spectrogram.fsm
- (115.57 KiB) Downloaded 1813 times
Last edited by martinvicanek on Wed Dec 30, 2015 7:29 pm, edited 1 time in total.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Semitone Spectrogram
Impressive !!!!
Thanks Martinvicanek
Thanks Martinvicanek
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Semitone Spectrogram
Absolutely fantastic Martin.
Plus, this is just what I needed right now to analyse some samples for pitch for my ongoing Q-50 project
How did you know? I was expecting socks
Merry Christmas
Spogg
Plus, this is just what I needed right now to analyse some samples for pitch for my ongoing Q-50 project
How did you know? I was expecting socks
Merry Christmas
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Semitone Spectrogram
I rigged this up to find the base pitch of samples and to test with a simple tone.
I've tried quite a few samples and it's SO good (your module!).
This is such a great gift for me so thank you again
Cheers
Spogg
I've tried quite a few samples and it's SO good (your module!).
This is such a great gift for me so thank you again
Cheers
Spogg
- Attachments
-
- Pitch finder 1.0.fsm
- (1.31 MiB) Downloaded 1873 times
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Semitone Spectrogram
Finally had the time to test your Spectogram (I am so used to the word Sonograph, but it seems that word is nowadays used for those body scanners only?). Martin, that is fantastic. As always I have no clue how you realized that, but it is so impressive. I fed it with a stem file from one of my songs. It was a pad played with two notes, not changing. Your module identified the two notes without any problem. I might be wrong, but it seems that it also shows the strengths of the two notes (I played the higher note quieter than the lower one and the spectogram shows more color for the lower note), but maybe that's just a coincidence.
And congratulations to your Ruby code. If I'm right it's the first time that you post something with a self-made Ruby code and it is beautiful. Well structured, easy to read, makes use of the class methods, etc., very good job.
If you want to reduce the number of inputs (Ruby doesn't care, but maybe you like it clean), you could use a RubyEdit per 12-output module and route the 12 arrays to one Ruby object. They could then again being combined to one Ruby object, so that you only have one input to the main RubyEdit.
Very good job. I'm just a bit afraid. You are already a master in dsp/asm. If you now also become a master in Ruby, what will be left for me to help?
And congratulations to your Ruby code. If I'm right it's the first time that you post something with a self-made Ruby code and it is beautiful. Well structured, easy to read, makes use of the class methods, etc., very good job.
If you want to reduce the number of inputs (Ruby doesn't care, but maybe you like it clean), you could use a RubyEdit per 12-output module and route the 12 arrays to one Ruby object. They could then again being combined to one Ruby object, so that you only have one input to the main RubyEdit.
Very good job. I'm just a bit afraid. You are already a master in dsp/asm. If you now also become a master in Ruby, what will be left for me to help?
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Semitone Spectrogram
Thanks, tulamide. I try to keep my code tidy so I can understand it the next time I look at it.tulamide wrote:And congratulations to your Ruby code. If I'm right it's the first time that you post something with a self-made Ruby code and it is beautiful. Well structured, easy to read, makes use of the class methods, etc., very good job.
Yes, I have done that already. I'll post an update soon, with extended range and better performance. And some neat preferences, too.tulamide wrote:If you want to reduce the number of inputs (Ruby doesn't care, but maybe you like it clean), you could use a RubyEdit per 12-output module and route the 12 arrays to one Ruby object. They could then again being combined to one Ruby object, so that you only have one input to the main RubyEdit.
Don't worry, I might ascend to the Rubyist Club some day if I work hard, but I'll always leave the tricky stuff to you.tulamide wrote:If you now also become a master in Ruby, what will be left for me to help?
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Semitone Spectrogram
Updated the first post. Version 2 features 5 octaves and some other enhancements. Uses heterodyning instead of bandpass filters. Comments and suggestions, please.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Semitone Spectrogram
heterodyning?
you raise my curiosity....
I have read some info in internet....
but some explanation from you is welcome, to better understand how you use it in this case.
you raise my curiosity....
I have read some info in internet....
but some explanation from you is welcome, to better understand how you use it in this case.
- Tronic
- Posts: 539
- Joined: Wed Dec 21, 2011 12:59 pm
Re: Semitone Spectrogram
Have read a bit on the internet, too. It seems to me that you would need to do inverse heterodyning to achieve a spectrogram, won't you?
If so, I again bow deep and praise your creativity! (And still have no clue how you do it)
If so, I again bow deep and praise your creativity! (And still have no clue how you do it)
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
12 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 82 guests