On Sat, April 18, 2015 8:30 am, Gerald wrote:
Hi guys, I've started/hacked a small project
called GuitarSynth. It is
meant as a playfield for exploring pitchdetection and synthesis for
Guitar, since I'm a guitarist. You can get on Github (git clone
https://github.com/geraldmwangi/GuitarSynth.git).
Its really basic but its fun to play with. It take an audio signal (your
guitar) extracts the fundamental pitch and drives some wavetable synths.
Feel free to manipulate it, I'll be happy to grant people write access
to the repo.
Btw on IRC my Nick is JimsonDrift, the name of my band (see
www.jimson-drift.de).
Cheers Gerald
Looks like an interesting and fun tool.
I had to add this library:
apt-get install libclam-qtmonitors-dev
- I built the code but when I run I get a segfault:
$ make
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../mainwindow.ui -o ui_mainwindow.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ../SynthBase.ui -o ui_SynthBase.h
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o main.o ../main.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o mainwindow.o
../mainwindow.cpp
In file included from /usr/include/c++/4.9/backward/strstream:51:0,
from ../mainwindow.cpp:23:
/usr/include/c++/4.9/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header which may
be removed without further notice at a future date. Please use a
non-deprecated interface with equivalent functionality instead. For a
listing of replacement headers and interfaces, consult the file
backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
#warning \
^
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o gausssynth.o
../gausssynth.cpp
../gausssynth.cpp: In member function virtual void GaussSynth::InitSynth():
../gausssynth.cpp:29:11: warning: unused variable norm [-Wunused-variable]
float norm=0;
^
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o gsengine.o
../gsengine.cpp
../gsengine.cpp: In member function void GSEngine::InitNetwork():
../gsengine.cpp:50:13: warning: jack_client_t* jack_client_new(const
char*) is deprecated (declared at /usr/include/jack/jack.h:97)
[-Wdeprecated-declarations]
mClient=jack_client_new("GuitarSynth");
^
../gsengine.cpp:50:42: warning: jack_client_t* jack_client_new(const
char*) is deprecated (declared at /usr/include/jack/jack.h:97)
[-Wdeprecated-declarations]
mClient=jack_client_new("GuitarSynth");
^
../gsengine.cpp:66:82: warning: deprecated conversion from string constant
to char_t* {aka char*} [-Wwrite-strings]
mPitchDetector=new_aubio_pitch("yinfft",2*mBufferSize,mBufferSize,mSamplerate);
^
../gsengine.cpp: In static member function static GSEngine*
GSEngine::getInstance():
../gsengine.cpp:123:19: warning: suggest parentheses around assignment
used as truth value [-Wparentheses]
if(mInstance=0)
^
../gsengine.cpp:125:1: warning: no return statement in function returning
non-void [-Wreturn-type]
}
^
../gsengine.cpp: At global scope:
../gsengine.cpp:127:52: warning: unused parameter arg [-Wunused-parameter]
int GSEngine::process(jack_nframes_t frames, void *arg)
^
../gsengine.cpp: In static member function static float
GSEngine::getMagnitude(jack_nframes_t, float*):
../gsengine.cpp:175:18: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
for(int i=0;i<frames;i++)
^
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o sinussynth.o
../sinussynth.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o squaresynth.o
../squaresynth.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o synthbase.o
../synthbase.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o synthcontrol.o
../synthcontrol.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB
-DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
-I/home/patrick/code/GuitarSynth -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/4.9
-I/usr/include/x86_64-linux-gnu/c++/4.9 -I/usr/include/c++/4.9/backward
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include -I/usr/local/include
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed
-I/usr/include/x86_64-linux-gnu -I/usr/include ../mainwindow.h -o
moc_mainwindow.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o moc_mainwindow.o
moc_mainwindow.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB
-DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
-I/home/patrick/code/GuitarSynth -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/4.9
-I/usr/include/x86_64-linux-gnu/c++/4.9 -I/usr/include/c++/4.9/backward
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include -I/usr/local/include
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed
-I/usr/include/x86_64-linux-gnu -I/usr/include ../gsengine.h -o
moc_gsengine.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o moc_gsengine.o
moc_gsengine.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB
-DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
-I/home/patrick/code/GuitarSynth -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/4.9
-I/usr/include/x86_64-linux-gnu/c++/4.9 -I/usr/include/c++/4.9/backward
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include -I/usr/local/include
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed
-I/usr/include/x86_64-linux-gnu -I/usr/include ../synthbase.h -o
moc_synthbase.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o moc_synthbase.o
moc_synthbase.cpp
/usr/lib/x86_64-linux-gnu/qt5/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB
-DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
-I/home/patrick/code/GuitarSynth -I/usr/include/x86_64-linux-gnu/qt5
-I/usr/include/x86_64-linux-gnu/qt5/QtWidgets
-I/usr/include/x86_64-linux-gnu/qt5/QtGui
-I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/4.9
-I/usr/include/x86_64-linux-gnu/c++/4.9 -I/usr/include/c++/4.9/backward
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include -I/usr/local/include
-I/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed
-I/usr/include/x86_64-linux-gnu -I/usr/include ../synthcontrol.h -o
moc_synthcontrol.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I../../GuitarSynth
-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem
/usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem
/usr/include/x86_64-linux-gnu/qt5/QtGui -isystem
/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I. -o moc_synthcontrol.o
moc_synthcontrol.cpp
g++ -m64 -Wl,-O1 -o GuitarSynth2 main.o mainwindow.o gausssynth.o
gsengine.o sinussynth.o squaresynth.o synthbase.o synthcontrol.o
moc_mainwindow.o moc_gsengine.o moc_synthbase.o moc_synthcontrol.o
-L/usr/X11R6/lib64 -lclam_qtmonitors -lclam_processing -lclam_audioio
-lclam_core -ljack -laubio -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
$ ./GuitarSynth2
Segmentation fault
$ jackd --version
jackd version 0.124.1 tmpdir /dev/shm protocol 25
--
Patrick Shirkey
Boost Hardware Ltd