Re: [LAD] [LAU] GuitarSynth

From: Patrick Shirkey <pshirkey@email-addr-hidden>
Date: Sat Apr 18 2015 - 09:56:23 EEST

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
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Sat Apr 18 12:15:01 2015

This archive was generated by hypermail 2.1.8 : Sat Apr 18 2015 - 12:15:02 EEST