<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Jack_capture</id>
	<title>Jack capture - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Jack_capture"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Jack_capture&amp;action=history"/>
	<updated>2026-08-30T10:19:25Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Jack_capture&amp;diff=250881&amp;oldid=prev</id>
		<title>Joan: /* Exemple pràctic: jplay-sndfile (febrer 2012) */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Jack_capture&amp;diff=250881&amp;oldid=prev"/>
		<updated>2013-11-29T23:37:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exemple pràctic: jplay-sndfile (febrer 2012)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
Aquesta és l'aplicació que fan servir el Jeremy (Autostatic) i d'altres quan graben vídeos per a Youtube&lt;br /&gt;
&lt;br /&gt;
*Website:	http://www.notam02.no/arkiv/src/&lt;br /&gt;
*Description:	small simple program to capture whatever sound is going out to your speakers&lt;br /&gt;
*Author:	Kjetil Matheussen&lt;br /&gt;
*jack_capture-0.9.56.tar.gz&lt;br /&gt;
&lt;br /&gt;
Compilo sense problemes.&lt;br /&gt;
(si em dóna l'error error: sndfile.h: No such file or directory, aleshores sudo apt-get install libsndfile-dev)&lt;br /&gt;
&lt;br /&gt;
To record what you hear, just run&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To list advanced options, run&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture --advanced-options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./jack_capture --advanced-options&lt;br /&gt;
jack_capture  [--bitdepth n] [--channels n] [--port port] [filename]&lt;br /&gt;
              [ -b        n] [ -c        n] [ -p    port]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;bitdepth&amp;quot; is by default FLOAT. It can be set to either 8, 16, 24 or 32. (for relevant formats)&lt;br /&gt;
&amp;quot;channels&amp;quot; is by default 2.&lt;br /&gt;
&amp;quot;port&amp;quot;     is by default set to the two first physical outputs. The &amp;quot;port&amp;quot; argument can be&lt;br /&gt;
           specified more than once.&lt;br /&gt;
&amp;quot;filename&amp;quot; is by default auotogenerated to &amp;quot;jack_capture_&amp;lt;number&amp;gt;.&amp;lt;format&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional arguments:&lt;br /&gt;
[--duration n] or [-d n]         -&amp;gt; Recording is stopped after &amp;quot;n&amp;quot; seconds.&lt;br /&gt;
[--filename-prefix s]/[-fp n]    -&amp;gt; Sets first part of the autogeneratoed filename.&lt;br /&gt;
                                    (default is &amp;quot;jack_capture_&amp;quot;)&lt;br /&gt;
[--leading-zeros n] or [-z n]    -&amp;gt; &amp;quot;n&amp;quot; is the number of zeros to in the autogenerated filename.&lt;br /&gt;
                                    (-z 2 -&amp;gt; jack_capture_001.wav, and so on.) (default is 1)&lt;br /&gt;
[--format format] or [-f format] -&amp;gt; Selects fileformat provided by libsndfile.&lt;br /&gt;
                                    See http://www.mega-nerd.com/libsndfile/api.html#open&lt;br /&gt;
                                    (Default is wav for 1 or 2 channels, and wavex for more than 2.)&lt;br /&gt;
[--print-formats] or [-pf]       -&amp;gt; Prints all sound formats provided to sndfile to screen and then&lt;br /&gt;
                                    exits.&lt;br /&gt;
[--version] or [-v]              -&amp;gt; Prints out version.&lt;br /&gt;
[--silent] or [-s]               -&amp;gt; Suppresses some common messages printed to the terminal.&lt;br /&gt;
[--verbose] or [-V]              -&amp;gt; Prints some extra information to the terminal.&lt;br /&gt;
[--mp3] or [-mp3]                -&amp;gt; Writes to an mp3 file using liblame (LAME).&lt;br /&gt;
                                    (the --format option has no effect using this option)&lt;br /&gt;
[--mp3-quality n] or [-mp3q n]   -&amp;gt; Selects mp3 quality provided by liblame. n=0 is best, n=9 is worst.&lt;br /&gt;
                                    Default n is 2. (0 uses the most amount of CPU, 9 uses the least)&lt;br /&gt;
[--mp3-bitrate n] or [-mp3b n]   -&amp;gt; Selects mp3 bitrate (in kbit/s).&lt;br /&gt;
                                    Default is set by liblame. (currently 128)&lt;br /&gt;
[--write-to-stdout] or [-ws]     -&amp;gt; Writes 16 bit little endian to stdout. (the --format option, the&lt;br /&gt;
                                    --mp3 option, and some others have no effect using this option)&lt;br /&gt;
[--disable-meter] or [-dm]       -&amp;gt; Disable console meter.&lt;br /&gt;
[--hide-buffer-usage] or [-hbu]  -&amp;gt; Disable buffer usage updates in the console.&lt;br /&gt;
[--disable-console] or [-dc]     -&amp;gt; Disable console updates. Same as &amp;quot;-dm -hbu&amp;quot;.&lt;br /&gt;
[--linear-meter] or [-lm]        -&amp;gt; Use linear scale for the console meter (default is dB scale)&lt;br /&gt;
[--dB-meter-reference or [-dBr]  -&amp;gt; Specify reference level for dB meter. (default=0)&lt;br /&gt;
[--meterbridge] or [-mb]         -&amp;gt; Start up meterbridge to monitor recorded sound.&lt;br /&gt;
[--meterbridge-type] or [-mt]    -&amp;gt; Specify type. vu (default), ppm, dpm, jf or sco.&lt;br /&gt;
[--meterbridge-reference]/[-mr]  -&amp;gt; Specify reference level for meterbidge.&lt;br /&gt;
[--jack-transport]/[-jt]         -&amp;gt; Start program, but do not start recording until jack transport has started rolling&lt;br /&gt;
                                    When jack transport stops, the recording is also stopped, and the program ends.&lt;br /&gt;
[--jack-transport-multi]/[-jtm]  -&amp;gt; Similar to --jack-transport, but do not end program when jack transport stops.&lt;br /&gt;
                                    Instead, record to a new file when jack_transport starts rolling again.&lt;br /&gt;
                                    (not implemented yet)&lt;br /&gt;
[--bufsize s] or [-B s]          -&amp;gt; Initial/minimum buffer size in seconds. Default is 8 seconds&lt;br /&gt;
                                    for mp3 files, and 4 seconds for all other formats.&lt;br /&gt;
[--maxbufsize] or [-MB]          -&amp;gt; Maximum buffer size in seconds jack_capture will allocate.&lt;br /&gt;
                                    Default is 40. (Buffer is automatically increased during&lt;br /&gt;
                                    recording when needed. But it will never go beyond this size.)&lt;br /&gt;
[--filename] or [-fn]            -&amp;gt; Specify filename.&lt;br /&gt;
                                    (It's usually easier to set last argument instead)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
To record a stereo file of what you hear:&lt;br /&gt;
  $jack_capture&lt;br /&gt;
&lt;br /&gt;
To record a stereo file of what you hear in the flac format:&lt;br /&gt;
 $jack_capture -f flac&lt;br /&gt;
&lt;br /&gt;
To record a stereo file of what you hear in the ogg format:&lt;br /&gt;
 $jack_capture -f ogg&lt;br /&gt;
&lt;br /&gt;
To record a stereo file of what you hear in the mp3 format:&lt;br /&gt;
 $jack_capture -mp3&lt;br /&gt;
&lt;br /&gt;
To record a stereo file of what you hear in the wav format:&lt;br /&gt;
  $jack_capture --port system:playback_1 --port system:playback_2&lt;br /&gt;
****************************************************************************&lt;br /&gt;
**** NOTE! The above example does _exactly_ the same as the default!!!  ****&lt;br /&gt;
****************************************************************************&lt;br /&gt;
&lt;br /&gt;
Same result as above, but using a different syntax:&lt;br /&gt;
  $jack_capture --channels 2 --port system:playback*&lt;br /&gt;
&lt;br /&gt;
To record the output from jamin:&lt;br /&gt;
  $jack_capture --port jamin:out* sound_from_jamin.wav&lt;br /&gt;
&lt;br /&gt;
To record all sound coming in to jamin:&lt;br /&gt;
  $jack_capture --port jamin:in* sound_to_jamin.wav&lt;br /&gt;
&lt;br /&gt;
To record all sound coming in and out of jamin:&lt;br /&gt;
  $jack_capture --port jamin* sound_to_and_from_jamin.wav&lt;br /&gt;
&lt;br /&gt;
To record a stereo file from the soundcard:&lt;br /&gt;
  $jack_capture -c 2 -p system:capture*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La idea és:&lt;br /&gt;
*arrenco el vkeybd, Zyn i els connecto&lt;br /&gt;
*connecto el Zyn amb el system, com faig habitualment, de manera que puc escoltar el que vaig fent. Aleshores:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i se m'estarà gravant automàticament tot el que faig amb el vkeybd al fitxer per defecte (veure les opcions) (comprovat).&lt;br /&gt;
&lt;br /&gt;
A més, he arrencat el JACK en mode duplex (amb el truco de treure el ratolí i tornar-lo a posar). De manera que connecto el system:capture i el Zyn al system:playback. Fixem-nos que puc monitoritzar pels casca tot allò que parlo pel micro. Aleshores quan faig &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture --filename prova1.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
estic gravant el Zyn i el micròfon al mateix temps. Aquesta és la idea del jack_capture. Gravar allò que està sonant.&lt;br /&gt;
&lt;br /&gt;
(El micròfon l'escolto per un canal... s'ha de fer allò d'escoltar-lo pels dos canals). Doncs no!, el que s'ha de fer és connectar el system:capture1 als dos playback (system:playback1 i system:playback2), i ja està solucionat.&lt;br /&gt;
&lt;br /&gt;
jack_record_gui diu ''Xdialog needed'', i jack_record_gui2 sí que arrenca però em dóna error en gravar.&lt;br /&gt;
==Exemple pràctic: jplay-sndfile (febrer 2012)==&lt;br /&gt;
Per fer les mostres que necessito per testejar l'aplicació:&lt;br /&gt;
&lt;br /&gt;
Configuro la interface a 44100, i arrenco JACK a 44100. La interface Edirol UA-25EX sampleja a 24 bits&lt;br /&gt;
&lt;br /&gt;
&amp;quot;bitdepth&amp;quot; (-b) is by default FLOAT. It can be set to either 8, 16, 24 or 32. (for relevant formats)&lt;br /&gt;
&lt;br /&gt;
La interface grava a 24 bits (3 bytes per mostra), i en el programa les mostres es guarden en un float (sizeof(float)=4). Per tant, no hi ha cap pèrdua d'informació. jack_capture per defecte utilitza float. També podríem ficar -b 24, però no cal doncs ja utilitza FLOAT que és la precisió que s'utilitzarà en el programa.&lt;br /&gt;
&lt;br /&gt;
Com sempre, una cosa és de què és capaç la interface (mostrejar a 24 bits), i una altra és com configuro el software. Per tant, encara que gravi a 32 bits (FLOAT), les mostres seran de 24 bits.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture -c 1 -f wav --port system:capture_1 samples/test_44100.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per comprovar que ho faig bé:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sndfile-info samples/test_44100.wav &lt;br /&gt;
&lt;br /&gt;
Version : libsndfile-1.0.23&lt;br /&gt;
&lt;br /&gt;
========================================&lt;br /&gt;
File : samples/test_44100.wav&lt;br /&gt;
Length : 1007696&lt;br /&gt;
RIFF : 1007688&lt;br /&gt;
WAVE&lt;br /&gt;
fmt  : 16&lt;br /&gt;
  Format        : 0x3 =&amp;gt; WAVE_FORMAT_IEEE_FLOAT&lt;br /&gt;
  Channels      : 1&lt;br /&gt;
  Sample Rate   : 44100&lt;br /&gt;
  Block Align   : 4&lt;br /&gt;
  Bit Width     : 32&lt;br /&gt;
  Bytes/sec     : 176400&lt;br /&gt;
fact : 4&lt;br /&gt;
  frames  : 251904&lt;br /&gt;
PEAK : 16&lt;br /&gt;
  version    : 1&lt;br /&gt;
  time stamp : 1329815014&lt;br /&gt;
    Ch   Position       Value&lt;br /&gt;
     0   55893          0.167791&lt;br /&gt;
data : 1007616&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
Sample Rate : 44100&lt;br /&gt;
Frames      : 251904&lt;br /&gt;
Channels    : 1&lt;br /&gt;
Format      : 0x00010006&lt;br /&gt;
Sections    : 1&lt;br /&gt;
Seekable    : TRUE&lt;br /&gt;
Duration    : 00:00:05.712&lt;br /&gt;
Signal Max  : 0.167791 (-15.50 dB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture -b 24 -c 1 -f wav --port system:capture_1 samples/test_44100_24.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sndfile-info samples/test_44100_24.wav&lt;br /&gt;
&lt;br /&gt;
Version : libsndfile-1.0.23&lt;br /&gt;
&lt;br /&gt;
========================================&lt;br /&gt;
File : samples/test_44100_24.wav&lt;br /&gt;
Length : 1141292&lt;br /&gt;
RIFF : 1141284&lt;br /&gt;
WAVE&lt;br /&gt;
fmt  : 16&lt;br /&gt;
  Format        : 0x1 =&amp;gt; WAVE_FORMAT_PCM&lt;br /&gt;
  Channels      : 1&lt;br /&gt;
  Sample Rate   : 44100&lt;br /&gt;
  Block Align   : 3&lt;br /&gt;
  Bit Width     : 24&lt;br /&gt;
  Bytes/sec     : 132300&lt;br /&gt;
data : 1141248&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
Sample Rate : 44100&lt;br /&gt;
Frames      : 380416&lt;br /&gt;
Channels    : 1&lt;br /&gt;
Format      : 0x00010003&lt;br /&gt;
Sections    : 1&lt;br /&gt;
Seekable    : TRUE&lt;br /&gt;
Duration    : 00:00:08.626&lt;br /&gt;
Signal Max  : 1.2232e+06 (-16.72 dB)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Què passa si la freqüència de mostreig de la interface (44100) i del JACK (48000) estan en desacord? Doncs que mana la interface física: es mostreja a 44100&lt;br /&gt;
&lt;br /&gt;
Què passa si la freqüència de mostreig de la interface (48000) i del JACK (44100) estan en desacord? Mana la interface, però com que el servidor d'àudio està treballant a un menor sample rate, aquest és el que mana.&lt;br /&gt;
&lt;br /&gt;
En definitiva, les coses són com han de ser: s'imposa la lògica. El millor, però, és que la interface i JACK estiguin d'acord.&lt;br /&gt;
&lt;br /&gt;
Una cosa important que m'he trobat: per canviar de sample rate s'ha de desconnectar el cable USB de la interfacte i aturar totalment el JACK (no només aturar el JACK, sinó també apagar la instància del QJackCtl). Per assegurar-nos de què estem treballant amb la freqüència de mostreig correcta, fer sndfile-info&lt;br /&gt;
&lt;br /&gt;
Per tant, faig una petita col.lecció de mostres:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture  -c 1 -f wav --port system:capture_1 samples/test_44100.wav&lt;br /&gt;
$ jack_capture  -c 1 -f wav --port system:capture_1 samples/test_48000.wav&lt;br /&gt;
$ jack_capture  -c 1 -f wav --port system:capture_1 samples/test_96000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per gravar la sortida de jplay-sndfile, utilitzo jack_capture&lt;br /&gt;
&amp;lt;ptr&amp;gt; &lt;br /&gt;
$ jack_capture -b 16 -c 1 -f wav --port system:playback_1 output/hola.wav&lt;br /&gt;
o bé molt millor:&lt;br /&gt;
$ jack_capture -b 16 -c 1 -f wav --port jplay-sndfile:out output/hola.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Gravar el que sona des del navegador web (novembre 2013)==&lt;br /&gt;
Gravar el que sona des del navegador web (per ex, les 24 mazurques de http://www.diatonic.cat/index.php/24-mazurques, on es fa servir un plugin d'audio):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ jack_capture -b 24 -c 2 -f wav --port &amp;quot;PulseAudio JACK Sink:rear-left&amp;quot; --port &amp;quot;PulseAudio JACK Sink:rear-right&amp;quot; 01_Lamodista.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Autor}}, octubre 2010&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>