gillesdegottex / fmit Goto Github PK
View Code? Open in Web Editor NEWFree Music Instrument Tuner (FMIT)
Home Page: http://gillesdegottex.github.io/fmit
License: GNU General Public License v2.0
Free Music Instrument Tuner (FMIT)
Home Page: http://gillesdegottex.github.io/fmit
License: GNU General Public License v2.0
FMIT Free Music Instrument Tuner Version 1.2.6 http://gillesdegottex.github.io/fmit/ FMIT is a graphical utility for tuning your musical instruments, with error and volume history and advanced features like microtonal tuning, statistics, and various views like waveform shape, harmonics ratios and real-time Discrete Fourier Transform (DFT). All views and advanced features are optional so that the interface can also be very simple. This software is coded in C/C++ using the Qt library (http://qt-project.org). It is stored as a GitHub project (https://github.com/gillesdegottex/fmit). (It was previously stored on gna.org (https://gna.org/projects/fmit) for versions<=0.99.5). Goals * Estimate the fundamental frequency (f0) of an audio signal, in real-time. (the f0, not the perceived pitch) * Keep any view optional so that the interface can be as simple as possible. (make it easy to see on a distant screen) * Support as many sound systems as possible. Copyright (c) 2004 Gilles Degottex <[email protected]> License Most of the code of this software is under the GPL (v2) License. See the file COPYING_GPL.txt or http://www.gnu.org/licenses/gpl-2.0.html Some abstract or helper classes are under LGPL (v2). See the file COPYING_LGPL.txt or http://www.gnu.org/licenses/lgpl-2.0.html The internal libs of this software (see directories in libs) are also under the LGPL (v2) License (see the respective directory for more details). Disclaimer THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ALSO, THE COPYRIGHT HOLDERS AND CONTRIBUTORS DO NOT TAKE ANY LEGAL RESPONSIBILITY REGARDING THE IMPLEMENTATIONS OF THE PROCESSING TECHNIQUES OR ALGORITHMS (E.G. CONSEQUENCES OF BUGS OR ERRONEOUS IMPLEMENTATIONS). See the GNU General Public License (LICENSE.txt) for additional details. Translations Weblate.org is the translation service used. If you which to addupdate translations, please see the project page: https://hosted.weblate.org/projects/fmit/#languages Distribution/Packaging Please see all relevent files in the `distrib` directory. Packagers will need to install `itstool` tools for packaging FMIT. Contributors - dsboger for so many little and usefull changes, updates, packaging, etc. - Florian Hars for the tunning scales - Arnout Engelen for the JACK issues - John Anderson for the microtonal module idea - Scott Bahling for the scales in cents - Jacob Shapiro for his help to make FMIT working under Windows/Cygwin. Translators: Omega9 (Russian), skarmoutsosv (Greek), Pindaro and dsboger (Portuguese and Brazilian Portuguese), Florian Maier (German). Packagers: Toni Graffy and all the PackMan team, Ludovic Reslinger, Edward Tomasz Napierala, John Wright. Translators: Omega9 (Russian), skarmoutsosv (Greek), Pindaro (Portuguese), Florian Maier (German). Other helpful people: John Anderson for the microtonal module request, Scott Bahling for the request of the scales in cents, Jacob Shapiro for his help to make FMIT working under Windows/Cygwin, Peter.
There are localization problems which make FMIT unusable.
More specifically if the capture device name is in greek, no sound is captured.
Please take a look at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802924
Hi, I am a beginner songwriter and would want to find out notes I whistle. fmit does a very good job in doing that, but I can't get any record of the notes. Since my whistle is fast, I can't see and remember them all. It is difficult for me to slow down my whistle too much and keep the same pitch as the normal version. Is there a way to get or enable a log? I was just to log stuff like G3, F#6 and so on, but if there are more info in the log, no problem for me to just extract what I need, e.g. using AWK or similar.
Hello, I am trying to update fmit
package on Archlinux User Repository (https://aur.archlinux.org/), but I'm facing a few issues. First, I tried to follow the build instructions in INSTALL.txt
, but they do not work anymore. I figured out how to build with qmake
by inspecting other files. My current build script is as follows:
qmake-qt5 "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio" fmit.pro
make
It seems to work, but the about screen informs a strange version number:
By reading the code it seems the version number is taken from the README.txt
file, so probably I'm not installing it to the right place. Also, I don't know what to do with the files in tr
and scales
folders.
Lastly, I'm not sure what are the current dependencies (required or optional), as these seem to have changed recently from what is described in INSTALL.txt
.
Please, let me know if I can help somehow. Thanks.
Managed to build this interesting application on Antergos.
fmit.desktop and fmit.appdata.xml however should reside in de unzipped root directory of fmit.
I simply touched both to make th make install pass.
I'm planning to try this out for tuning a historic reed organ.
Hope it's accurate enough to do the job.
Edit : I tried some sound samples sending to your application. It is truly a very handy and powerful piece of software. Great work, well done! Thanks for sharing
Could someone make the Free Music Instrument Tuner into a LV2 plugin?
Feature request: Instead of notes with a error, would it be possible to just graph the "raw" frequencies.
Thank you!
Need to get ride of glut by replacing glut calls by Qt calls
On Configuration->Capture System tab
I don't have my default audio interface in "Device Name" list.
I'm using Saffire firewire audio interface in 44.1kHz/24bit sample format mode. It has 16 input channels and 8 output. Applications normally use 1-2 input and 1-2 output channels if they don't have good ASIO support.
I was trying to figure out why FMIT was not loading the translations for pt_BR. In the process, I learned QTranslator requires the translation files to be converted from the .ts XML format to a .qm binary format, but the conversion is not being done for the Linux build.
GLErrorHistory.cpp with "GLUT_BITMAP_HELVETICA_18".
(See #7)
From Arnout Engelen :
fmit currently does not support 24bit LE frames in 3bytes format.
My sound card (Edirol UA-25EX) yields frames with this format. Adding support for it appears to work by adding support for formats with width '3' in CaptureThreadImpl::setFormatDescrsAndFns , the decoder functions can be something like:
double DecodeUnsigned24BitsIn3BytesLE(void* buffer, int i)
{
quint8 lsb = ((qint8_)buffer)[3_i];
quint8 middle1 = ((qint8_)buffer)[3_i+1];
quint8 msb = ((qint8_)buffer)[3_i+2];
quint32 combined = (msb << 16) + (middle1 << 8) + lsb;
return 2_(combined/16777216.0) - 1;
}
double DecodeSigned24BitsIn3BytesLE(void_ buffer, int i) {
quint8 lsb = ((qint8_)buffer)[3_i];
quint8 middle1 = ((qint8_)buffer)[3_i+1];
qint8 msb = ((qint8_)buffer)[3_i+2];
qint32 combined;
if (msb >= 0)
combined = (msb << 16) + (middle1 << 8) + lsb;
else
combined = - ((-msb) << 16) + (middle1 << 8) + lsb;
return combined/8388608.0;
}
There's probably some endianness problems in there still, but it's a start and this yields good results for me.
Salut,
Je viens d'installer la version 32 Bits de Fmit, L'application s'installe sans problème sur Windows XP, mais lorqu'on la lance avec le raccourci, un message d'erreur apparait :
"fmit.exe n'est pas une application Win32 valide"
Généralement, cela vient du compilateur 64 bits utilisé, et nécessite un réglage approprié pour que cela puisse fonctionner en 32 bits.
Excellente continuation.
E-Gwen.
Both the FMIT versions from the Ubuntu 14.04LTS repository (Version 0.99.2) and a self-built from the source code (Version 1.0.12) crash when used with the low-latency kernel 3.13.0.68.74 (also from the 14.04LTS repository). The program window opens and shows correctly, but then immediately freezes. Only killing the process is possible. No problem occurs with the generic kernel 3.11.0-12. - It is a 32 bit system.
Installed-Size:
Description: make a list of features
Test all available sampling rates with a reference.
The only thing that I see working is the Volume in dB green bar.
No other indication of sound.
Using W7
From Arnout Engelen :
fmit will automatically select a 'format' that is valid for the selected card, and remember it.
However, when the card is changed, the 'format' is not calculated again. This may lead to a crash when the newly selected card does not support the format selected for the originally selected card.
I think we should always redetermine the format when the options page is saved, the attached patch seems to work for me.
"I would like to make a little change to the Dial and make it display the cents deviation in numerical values along the dial form, this will make reading the values easier. Instead of looking at the dial you could read the value directly, for example "-2.5 cents" or "-2.55 cents" depending on the resolution."
A.R.
Bonjour @gillesdegottex
Je suis en train d'empaqueter la version 1.1.13 pour la mettre dans LZK-2 et j'ai repéré un soucis quant aux traductions : il y a un "view" qui semble être ajouté dans les explications de chaque option/bouton du menu du haut.
J'ai lancé fmit en allemand pour voir ("LANG=de fmit" depuis un terminal) et le problème est également présent.
Histoire d'avoir la conscience tranquille, j'ai quand même vérifié dans le fichier de traduction "fmit_fr.ts" et les "view" ne sont pas présents dedans.
Dis moi si je peux aider davantage.
@gillesdegottex : j'ai compilé et installé la version 1.1.11. J'ai suivi les instructions de INSTALL.TXT, et j'ai l'impression que les traductions ne sont pas compilées car je n'ai aucun fichier .qm à la fin de la compilation. À moins qu'il n'y ait une option de configuration spécifique pour cela ?
PS : pour info, je suis sur une debian Jessie à jour.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.