Giter Site home page Giter Site logo

grrrr / constantq Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 1.0 143 KB

Constant-Q spectral analysis for Pure data and Max

Home Page: https://grrrr.org/research/software/constantq

Max 33.95% C++ 27.47% Makefile 38.58%
puredata maxmsp maxmsp-external pure-data

constantq's Introduction

constantq~ - spectral analysis for Pure Data and Max

Copyright (c) 2010-2012 Thomas Grill ([email protected])
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.  

Donations for further development of the package are highly appreciated.
Visit https://www.paypal.com/xclick/business=gr%40grrrr.org&item_name=constantq&no_note=1&tax=0&currency_code=EUR

----------------------------------------------------------------------------

Goals/features of the package:

The constantq~ object spectrally analyzes an audio stream for defined frequency bands. 
It can be seen as an optimized implementation of a band pass filterbank.

----------------------------------------------------------------------------

IMPORTANT INFORMATION for all PD users:

Put the pd-msvc/constantq~.dll, pd-linux/constantq~.pd_linux or pd-darwin/constantq~.pd_darwin file
into the extra folder of the PD installation.

Put the constantq~-help.pd file into the doc\5.reference subfolder of your PD installation.

----------------------------------------------------------------------------

IMPORTANT INFORMATION for all Max/MSP users:

For Mac OSX put the max-darwin/constantq~.mxo file into the folder 
/Applications/Max*/Cycling '74/externals

For Windows put the max-msvc\ constantq~.mxe file into the folder
C:\program files\common files\Cycling '74\externals (english version)

Put the constantq~.maxhelp file into the max-help folder.

============================================================================


BUILDING from source
--------------------

You will need the flext C++ layer for PD and Max/MSP externals to compile this.
See http://grrrr.org/ext/flext
Download, install and compile the package.
Afterwards you can proceed with building this external.

Further dependencies are
- blitz++ (http://blitz.sourceforge.net)
- FFTW3 (http://www.fftw.org)

Please note that in terms of compilation blitz++ is a very demanding piece of software.
Older compilers are regularly choking on it. Reported to work flawlessly is e.g. clang >= 3.1.


pd/Max - Windows - Microsoft Visual C, Borland C++, MinGW:
----------------------------------------------------------
Start a command shell with your eventual build environment
(e.g. run vcvars32.bat for Microsoft Visual Studio)

then run
 ..\flext\build.bat
(you would have to substitute ..\flext with the respective path to the flext package)


pd/Max - OSX/Linux - GCC:
-------------------------
From a shell run
bash ../flext/build.sh
(you would have to substitute ../flext with the respective path to the flext package)


============================================================================

Version history:

0.2 - changed methods for frequency scales: actually INCOMPATIBLE to version 0.1 

0.1 - first release

constantq's People

Contributors

danomatika avatar grrrr avatar katjav avatar umlaeute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

porres

constantq's Issues

building error: 'blitz/array.h' file not found

(comment was edited)

so, here's the deal... I have the dependencies right (blitz++ / FFTW3 & flext) and tried building it by going to the constanq folder on the terminal and typing "bash ../flext/build.sh pd gcc" - the flext folder is correctly located in that path. And here's what I get as the error:


In file included from main.cpp:27:
./headers/constantq.hpp:8:10: fatal error: 'blitz/array.h' file not found
#include <blitz/array.h>

issue building again

hey, me again, so... I did format my mac, now that I tried again, I have a new issue. Don't know what could be wrong, cause I did the same thing as before.

seems it is not finding "-lfftw3f"

here's the error
screen shot 2017-06-13 at 20 30 48

here's FFTW3 on my computer, this is all I see, no -lfftw3f is here indeed
screen shot 2017-06-13 at 20 30 48

btw, me and @esantossilva are trying to build and use this in an android studio app, we can provide contantq~ a compiled version for windows so it is available in deken

cheers

issue building constantq

Hey Thomas,

I'm trying to build the constantq external on windows 8.1 using Microsoft Visual Studio 15. I'm new to building externals to puredata, so maybe I'm lacking of common knowledge or something.

I successfully built the FFTW3 and Blitz++, but when I try to build the constantq external I get two errors:

.\main.cpp(379): error C2065: 'M_LN2': undeclared identifier

and

**.\main.cpp(585): error C2672: 'blitz::max': no matching overloaded function foun

d**

After that I get a bunch of errors related do the second one.

I managed to fix the first erro by defining M_LN2 within de main.cpp file, but I still can't manage to fix the second one. I'm not sure if I missed something or if I'm doing something wrong.

Thanks in advance,

This is the full log:

C:\constantq>C:\pd\flext\build pd msvc

C:\constantq>nmake -f "C:\pd\flext\buildsys\nmake.mak" PLATFORM=win RTSYS=pd COM
PILER=msvc BUILDPATH=C:\pd\flext\buildsys\

Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.

    "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" /

NOLOGO /f C:\pd\flext\buildsys\nmake-sub.mak PLATFORM=win RTSYS=pd COMPILER=msv
c BUILDPATH=C:\pd\flext\buildsys\ PKGINFO=package.txt BUILDCLASS=ext TARGETMODE
=release TARGETTYPE=single build
cl /c /DNDEBUG /Ox /G6 /arch:SSE /LD /EHsc /GR /Oi /nologo /D_CRT_SECU
RE_NO_DEPRECATE /DWIN32 /D_WINDOWS /MT /DFLEXT_SYS=2 /DPD /D_WIN32_WINNT=0x500
/I"C:\pthreads-win32\include" /I"C:\pd"\src /I"C:\pd"\include /I"C:\pd"\include
\pd /I"C:\pd"\flext\source\lockfree /I"C:\pd"\flext .\main.cpp /Fopd-msvc\releas
e-single\main.obj
cl : Command line warning D9002 : ignoring unknown option '/G6'
main.cpp
.\main.cpp(352): error C2065: 'M_LN2': undeclared identifier
.\main.cpp(353): error C2065: 'M_LN2': undeclared identifier
.\main.cpp(378): error C2065: 'M_LN2': undeclared identifier
.\main.cpp(379): error C2065: 'M_LN2': undeclared identifier
.\main.cpp(585): error C2672: 'blitz::max': no matching overloaded function foun
d

.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T1,T2::T_re
sult blitz::max(const blitz::ETBase &,const blitz::ETBase &)': could not
deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/funcs.h(155): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2780: 'ReduceMax<T_expr::T_numtype>::T_resulttype blitz:
:max(const blitz::ETBase &)': expects 1 arguments - 2 provided
C:\pd\flext\blitz/array/reduce.h(371): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::bz_ArrayExpr<blitz::bz_ArrayExprReduce<b
litz::asExpr::T_expr,N_index,blitz::ReduceMax<T_expr::T_numtype>>> blitz::max
(const blitz::ETBase &,const blitz::IndexPlaceholder<N_index> &)': could not
deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/reduce.h(331): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,std::compl
ex>::T_result blitz::max(const blitz::ETBase &,const std::comple
x)': could not deduce template argument for 'const blitz::ETBase
&' from 'int'
C:\pd\flext\blitz/array/ops.h(127): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,std::complex
,T>::T_result blitz::max(const std::complex,const blit
z::ETBase &)': could not deduce template argument for 'const blitz::ETBase
&' from 'int'
C:\pd\flext\blitz/array/ops.h(127): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,std::compl
ex>::T_result blitz::max(const blitz::ETBase &,const std::complex)': could not deduce template argument for 'const blitz::ETBase &' from '
int'
C:\pd\flext\blitz/array/ops.h(126): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,std::complex
,T>::T_result blitz::max(const std::complex,const blitz::ETBase<
T> &)': could not deduce template argument for 'const blitz::ETBase &' from '
int'
C:\pd\flext\blitz/array/ops.h(126): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,std::compl
ex>::T_result blitz::max(const blitz::ETBase &,const std::complex)': could not deduce template argument for 'const blitz::ETBase &' from 'in
t'
C:\pd\flext\blitz/array/ops.h(125): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,std::complex
,T>::T_result blitz::max(const std::complex,const blitz::ETBase
&)': could not deduce template argument for 'const blitz::ETBase &' from 'in
t'
C:\pd\flext\blitz/array/ops.h(125): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,long doubl
e>::T_result blitz::max(const blitz::ETBase &,const long double)': could not
deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(123): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,long double,
T>::T_result blitz::max(const long double,const blitz::ETBase &)': could not
deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(123): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,double::T
result blitz::max(const blitz::ETBase &,const double)': could not deduce tem
plate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(122): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,double,T::T
result blitz::max(const double,const blitz::ETBase &)': could not deduce tem
plate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(122): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,float::T

result blitz::max(const blitz::ETBase &,const float)': could not deduce templ
ate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(121): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,float,T::T

result blitz::max(const float,const blitz::ETBase &)': could not deduce templ
ate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(121): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,unsigned l
ong>::T_result blitz::max(const blitz::ETBase &,const unsigned long)': could
not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(120): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,unsigned lon
g,T>::T_result blitz::max(const unsigned long,const blitz::ETBase &)': could
not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(120): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,long::T_r
esult blitz::max(const blitz::ETBase &,const long)': could not deduce templat
e argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(119): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,long,T::T_r
esult blitz::max(const long,const blitz::ETBase &)': could not deduce templat
e argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(119): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,unsigned i
nt>::T_result blitz::max(const blitz::ETBase &,const unsigned int)': could no
t deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(118): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,unsigned int
,T>::T_result blitz::max(const unsigned int,const blitz::ETBase &)': could no
t deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(118): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,int::T_re
sult blitz::max(const blitz::ETBase &,const int)': could not deduce template
argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(117): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,int,T::T_re
sult blitz::max(const int,const blitz::ETBase &)': could not deduce template
argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(117): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,unsigned s
hort>::T_result blitz::max(const blitz::ETBase &,const unsigned short)': coul
d not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(116): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,unsigned sho
rt,T>::T_result blitz::max(const unsigned short,const blitz::ETBase &)': coul
d not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(116): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,short::T

result blitz::max(const blitz::ETBase &,const short)': could not deduce templ
ate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(115): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,short,T::T
result blitz::max(const short,const blitz::ETBase &)': could not deduce templ
ate argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(115): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,T,unsigned c
har>::T_result blitz::max(const blitz::ETBase &,const unsigned char)': could
not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(114): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResult<blitz::Max,unsigned cha
r,T>::T_result blitz::max(const unsigned char,const blitz::ETBase &)': could
not deduce template argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(114): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,T,char::T_r
esult blitz::max(const blitz::ETBase &,const char)': could not deduce templat
e argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(113): note: see declaration of 'blitz::max'
.\main.cpp(585): error C2784: 'blitz::BzBinaryExprResultblitz::Max,char,T::T_r
esult blitz::max(const char,const blitz::ETBase &)': could not deduce templat
e argument for 'const blitz::ETBase &' from 'int'
C:\pd\flext\blitz/array/ops.h(113): note: see declaration of 'blitz::max'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

C:\constantq>goto end

C:\constantq>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.