Giter Site home page Giter Site logo

gillesdegottex / fmit Goto Github PK

View Code? Open in Web Editor NEW
117.0 10.0 24.0 2.12 MB

Free Music Instrument Tuner (FMIT)

Home Page: http://gillesdegottex.github.io/fmit

License: GNU General Public License v2.0

C++ 92.30% C 0.34% Inno Setup 2.94% QMake 2.14% PowerShell 0.34% Shell 0.76% Roff 1.19%
tuner musical-instrument multi-platform

fmit's Introduction

                                   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.

fmit's People

Contributors

ahohnmyc avatar brendanhoran avatar coderbm1 avatar codesforu avatar comradekingu avatar dsboger avatar gillesdegottex avatar jswright avatar kovalevartem avatar leela52452 avatar mingun avatar norhorn avatar omega9 avatar palob avatar raboof avatar santossi avatar skarmoutsosv avatar tabakisp avatar tiansworld avatar trebmuh avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fmit's Issues

I am using fmit to find out notes I whistle, but how to log results?

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.

The build instructions are outdated

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:

fmit-about-error

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.

Missing fmit.desktop and fmit.appdata.xml

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

Cannot use ASIO audio interface on Windows 7 x64

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.

Makefile does not run lrelease to compile translation files

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.

ALSA: support for 24bit Little Endian frames in 3bytes format

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.

Fmit n"est pas compatible 32 Bits sur Windows

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.

Immediate crash with lowlatency kernel

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.

Tuner not working

The only thing that I see working is the Volume in dB green bar.
No other indication of sound.
Using W7

ALSA: format must be redetermined when the card is changed

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.

Display the cents deviation in numerical values

"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.

Problème de traduction

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.

Exemples :
menu-view

menu-view2

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.

Erreur de compilation des traductions ?

@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.

Windows: Error Qt Cannot open device

I've got this with EMU 0404 USB on Win8.1 x64.
Two other guys tried to run FMIT with M-Audio ProFire 2626 and integrated soundcard. They got same error.

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.