Csound Csound-dev Csound-tekno Search About

An Implementation of PQMF in Csound

Date2017-01-12 08:03
FromGleb
SubjectAn Implementation of PQMF in Csound
Dear friends!

I have implemented a so-called PQMF (pseudo quadrature mirror filter).
Actually, the one which is used in MPEG Audio codecs. It separates 32 input
audio samples into 32 subband samples, critically sampled. So in terms of
Csound we input 32 a-rate samples and output 32 channels of k-signals (ksmps
should be 32).

I suggest someone would like to try PQMF one day. Plus, if I lucky maybe
I'll make MPEG Audio codec model working in Csound for some DSP-related
courses (why not to use Csound instead of say Matlab?)

Actually, I ask you to review my code. I don't like how it looks now. Maybe
it could be optimized a little bit.
Second, any suggestion on how it may go? Like an UDO? or an opcode? It looks
like it should have 32 outputs of k-rate. Is it possible? I know it is
allowed to have up to 256 outs, but maybe it is not rational. 
In MPEG codecs all those 32 subbands go into quantizer controlled by
psycho-acoustical model. So maybe there is no need to separate them.
Otherwise, someone may need to do some special subband processing, not
related to any codecs...

test_mpeg.csd
  
MPEG_PQMF_1.txt
  

Thanks for any suggestions/advises. 



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Csnd-An-Implementation-of-PQMF-in-Csound-tp5753925.html
Sent from the Csound - General mailing list archive at Nabble.com.

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2017-01-12 14:51
From"Dr. Richard Boulanger"
SubjectRe: An Implementation of PQMF in Csound
Gleb,

Very interesting work and direction - and nice results so far.
  
It's running nicely on my CsoundQt here.

I look forward to your further development of this, and see how you will apply it - in your teaching and your music.

Best

Dr.B.


On Thu, Jan 12, 2017 at 3:03 AM, Gleb <gleb.rogozinsky@gmail.com> wrote:
Dear friends!

I have implemented a so-called PQMF (pseudo quadrature mirror filter).
Actually, the one which is used in MPEG Audio codecs. It separates 32 input
audio samples into 32 subband samples, critically sampled. So in terms of
Csound we input 32 a-rate samples and output 32 channels of k-signals (ksmps
should be 32).

I suggest someone would like to try PQMF one day. Plus, if I lucky maybe
I'll make MPEG Audio codec model working in Csound for some DSP-related
courses (why not to use Csound instead of say Matlab?)

Actually, I ask you to review my code. I don't like how it looks now. Maybe
it could be optimized a little bit.
Second, any suggestion on how it may go? Like an UDO? or an opcode? It looks
like it should have 32 outputs of k-rate. Is it possible? I know it is
allowed to have up to 256 outs, but maybe it is not rational.
In MPEG codecs all those 32 subbands go into quantizer controlled by
psycho-acoustical model. So maybe there is no need to separate them.
Otherwise, someone may need to do some special subband processing, not
related to any codecs...

test_mpeg.csd
<http://csound.1045644.n5.nabble.com/file/n5753925/test_mpeg.csd>
MPEG_PQMF_1.txt
<http://csound.1045644.n5.nabble.com/file/n5753925/MPEG_PQMF_1.txt>

Thanks for any suggestions/advises.



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Csnd-An-Implementation-of-PQMF-in-Csound-tp5753925.html
Sent from the Csound - General mailing list archive at Nabble.com.

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here



--
_____________________________________________
Dr. Richard Boulanger
Professor of Electronic Production and Design
Professional Writing and Music Technology Division
Berklee College of Music
______________________________________________
President of Boulanger Labs - http://boulangerlabs.com
Author & Editor of The Csound Book - http://mitpress.mit.edu/books/csound-book
Author & Editor of The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book
______________________________________________
about: http://www.boulangerlabs.com/about/richardboulanger/
about: http://www.csounds.com/community/developers/dr-richard-boulanger/
music: http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/

______________________________________________
email: rboulanger@berklee.edu
facebook: https://www.facebook.com/richard.boulanger.58
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here