• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build-aux/H07-Jul-2018-500433

icons/H03-May-2022-571493

m4/H07-Jul-2018-9,2888,396

po/H07-Jul-2018-8,8897,106

src/H07-Jul-2018-10,9317,830

test/H07-Jul-2018-1,8891,419

AUTHORSH A D07-Jul-201877 32

COPYINGH A D07-Jul-201817.6 KiB341281

ChangeLogH A D07-Jul-201832.7 KiB1,227632

INSTALLH A D10-Apr-201815.4 KiB369287

Makefile.amH A D07-Jul-20181.4 KiB6143

Makefile.inH A D03-May-202234.5 KiB1,080969

NEWSH A D07-Jul-20183.8 KiB12689

READMEH A D07-Jul-20186.6 KiB230140

THANKSH A D07-Jul-2018336 157

aclocal.m4H A D07-Jul-201872.9 KiB2,0781,883

bootstrapH A D07-Jul-201896 97

compileH A D10-Apr-20187.2 KiB348258

config.guessH A D24-Feb-201843.2 KiB1,4811,288

config.h.inH A D07-Jul-20184.4 KiB179120

config.subH A D24-Feb-201835.3 KiB1,8021,661

configureH A D07-Jul-2018528.6 KiB18,22715,146

configure.acH A D07-Jul-20186.4 KiB259211

depcompH A D10-Apr-201823 KiB792502

install-shH A D10-Apr-201814.8 KiB509329

lingot.1H A D07-Jul-2018848 3832

ltmain.shH A D17-Apr-2018322.4 KiB11,3478,138

missingH A D10-Apr-20186.7 KiB216143

org.nongnu.lingot.appdata.xmlH A D07-Jul-20181.9 KiB5041

org.nongnu.lingot.desktop.inH A D07-Jul-2018349 1312

test-driverH A D10-Apr-20184.5 KiB14987

README

1LINGOT - A musical instrument tuner.
2
3Written by:
4
5  Iban Cereijo <ibancg@gmail.com>
6  Jairo Chapela <jairochapela@gmail.com>
7
8Copyright (C) 2004-2018 Iban Cereijo
9Copyright (C) 2004-2018 Jairo Chapela
10
11
12Description
13===========
14
15Lingot is a musical instrument tuner. It's accurate, easy to use, and highly
16configurable. Originally conceived to tune electric guitars, it can now be used
17to tune other instruments.
18
19It looks like an analog tuner, with a gauge indicating the relative shift to a
20certain note found automatically as the closest note to the estimated frequency.
21
22
23Requirements
24============
25
26* Sound card.
27* Linux kernel with audio support (OSS, ALSA, JACK or PulseAudio).
28* GTK+ library, version 3.10.
29
30
31Installation
32============
33
34If you are building a release, just type:
35
36 > ./configure
37 > make install
38
39If you are building a development version obtained from our VCS you will need to
40create the configure script first by calling:
41
42 > ./bootstrap
43
44
45Lingot supports the following audio systems/servers:
46
47  OSS
48  ALSA
49  JACK
50  PulseAudio
51
52You can enable/disable each of them with the following options passed to the
53configure script, all of them enabled by default:
54
55  --enable-oss=<yes|no>
56  --enable-alsa=<yes|no>
57  --enable-jack=<yes|no>
58  --enable-pulseaudio=<yes|no>
59
60Also, the depedency to libfftw can be enabled/disabled with
61
62  --enable-libfftw=<yes|no>
63
64Please, see the INSTALL file.
65
66
67Synopsis
68========
69
70    lingot [-c config]
71
72The -c option causes the search of a file named {config}.conf in the ~/.lingot
73folder. For example:
74
75    lingot -c bass
76
77will take the configuration file ~/.lingot/bass.conf. This is useful for
78maintaining different configurations for different instruments. It's also
79possible to load and save configuration files from the GUI. The default
80configuration file is ~/.lingot/lingot.conf.
81
82
83Configuration file
84==================
85
86When lingot is launched for the first time, the default configuration file
87~/.lingot/lingot.conf will be created.
88
89The default values are optimized for tuning electric guitars, other musical
90instruments might require these values to be slightly changed (a good practice
91would be to have a configuration file for each instrument). The options can be
92changed via GUI.
93
94There is a wide range of options, with the purpose of keeping the maximum
95configurability. Some background in signal processing is needed for a good
96understanding of all of their effects.
97
98We detail the main options that constitute this file, and we recommend to make
99changes depending on the desired tuning precision and demanded CPU time. If you
100don't understand the effects of some options, then just try different values or,
101even better, don't change them.
102
103
104 AUDIO_SYSTEM
105
106    Audio system switch. Possible values:
107
108    OSS
109    ALSA        [default value]
110    JACK
111    PulseAudio
112
113
114 AUDIO_DEV (OSS sound device)
115
116    Selected sound device for the OSS audio system. The default value is
117    '/dev/dsp'.
118
119
120 AUDIO_DEV_ALSA (ALSA sound device)
121
122    Selected sound device for ALSA, the default value is 'default'.
123
124
125 AUDIO_DEV_JACK (JACK port)
126
127    Selected sound port for JACK, the default value is 'default'.
128
129
130 AUDIO_DEV_PULSEAUDIO (PulseAudio sound device)
131
132    Selected sound device for PulseAudio, the default value is 'default'.
133
134
135 ROOT_FREQUENCY_ERROR ("A" reference note shift)
136
137    This option is used when we want to tune with a certain amount of shift
138    in frequency.
139
140    This can be useful when tuning an instrument against a recording with a
141    shifted tuning. For example, if we hear an "A" note in a recording that
142    it's a quarter of a tone over the real frequency (440 Hz), we can put 50
143    cents of shift here.
144
145    It must be a real number, expressed in cents. The default value is 0.
146
147
148 FFT_SIZE (Size of the FTT)
149
150    A high value gets more accuracy, especially more precision locking the
151    desired frequency, but it demands more CPU time.
152
153    We must consider the time interval involved on the calculus before
154    unnecessarily raising this value: having a buffer of 4096 samples for the
155    FFT, and a sampling rate of 8 KHz, each transform needs the last 512 ms
156    temporary values, so there is no point in putting a shorter temporal window.
157
158    It must be an integer power of 2. The default value is 512 samples.
159
160
161 TEMPORAL_WINDOW
162
163    The length in time of the signal used to compute the final frequency. With
164    higher values, we'll obtain a more accurate result, but also a slower
165    response polluted by earlier notes.
166
167    As a practical rule, we say that if we have a temporal window of 1 second,
168    we must wait 1 second between two consecutive notes to obtain a correct
169    tuning. Therefore, this parameter affects directly to the responsiveness
170    of the tuner.
171
172    The temporal window size in samples (obtained as the multiplication of its
173    duration in seconds and the effective sampling rate) must be greater than
174    the FFT buffer size.
175
176    It must be a real number in seconds. The default value is 0.32 seconds.
177
178
179 MIN_SNR
180
181    To avoid tuning noise, this is the lower signal-to-noise ratio we require
182    to start the tuning process.
183
184    It's a real number whose units are dB. The default value is 20 dB.
185
186
187 CALCULATION_RATE
188
189    With higher calculations per second, the tuner gives us a better dynamic
190    sensation, but it'll need more CPU time.
191
192    It's a real number, in hertz, and the default value is 20 Hz.
193
194
195 VISUALIZATION_RATE
196
197    It has impact in the dynamism sensation achieved, but less in the
198    computation time.
199
200    There is no point having a calculation rate greater than the visualization
201    rate.
202
203    It's a real number, in hertz. The default value is 30 Hz.
204
205
206 MINIMUM_FREQUENCY and MAXIMUM_FREQUENCY
207
208    The minimum and maximum notes the instrument can tipically generate. These
209    are not hard boundaries, but a guideline to help Lingot set its internal
210    parameters.
211
212    They are eal numbers, in hertz. The default values are 82.41 Hz (E2) and
213    329.63 Hz (E4)
214
215
216 SCALE
217
218 	Definition of the scale used for the tuning. By default a 12 semitones
219 	equal-tempered scale is used. It contains several parameters:
220
221 	NAME: Scale name, only for your information.
222 	BASE_FREQUENCY: The absolute frequency - in hertz - of the first note.
223 	NOTE_COUNT: number of notes in the scale.
224 	NOTES: list of notes, being them pairs of name and frequency shift. The
225 		frequency shift can be expressed as a real number in cents or a
226 		division of integer values, encoding a frequency ratio, like '3/2'
227 		or '5/4'. Be careful with leaving wide gaps in frequency between each
228 		pair of adjacent notes, as the gauge range will adapt to the maximum
229 		of those distances. Try to use scales with at least 12 tones.
230