Difference between revisions of "JACK in Elphel cameras"

From ElphelWiki
Jump to: navigation, search
Line 42: Line 42:
 
For test output channels starting simple software metronom
 
For test output channels starting simple software metronom
 
   
 
   
[root@Elphel353 /]# jack_metro -b 120 &
+
[root@Elphel353 /]# jack_metro -b 120 &
 
   
 
   
 
Look at avialable channels:
 
Look at avialable channels:
 
   
 
   
[root@Elphel353 /]# jack_lsp
+
[root@Elphel353 /]# jack_lsp
system:capture_1
+
system:capture_1
system:capture_2
+
system:capture_2
system:playback_1
+
system:playback_1
system:playback_2
+
system:playback_2
metro:120_bpm
+
metro:120_bpm
 
   
 
   
 
Connect headphones to audio card. Now "connect" metronom output to playback channels of soundcard as
 
Connect headphones to audio card. Now "connect" metronom output to playback channels of soundcard as
[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_1
 
[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_2
 
  
You can hear "beep" in headphones.
+
[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_1
Ok, disconnect metronom from output channels
+
[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_2
[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_1
 
[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_2
 
  
For dump audio to wav files You can use timemachine
+
You can hear "beep" in headphones. Ok, disconnect metronom from output channels
[root@Elphel353 /]# timemachine -c1 -t1 -p/var/tmp/hdd/tm -f wav -n dmpaudio  
+
 
 +
[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_1
 +
[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_2
 +
 
 +
For dump audio to wav files You can use utility '''''timemachine'''''
 +
 
 +
[root@Elphel353 /]# timemachine -c1 -t1 -p/var/tmp/hdd/tm -f wav -n dmpaudio  
 
   
 
   
 
where /var/tmp/hdd - path to directory where stored dump file
 
where /var/tmp/hdd - path to directory where stored dump file
Line 71: Line 73:
 
Connect, for example, metro:120_bpm to dmpaudio:in_1. Go to session #2 and enter
 
Connect, for example, metro:120_bpm to dmpaudio:in_1. Go to session #2 and enter
 
   
 
   
[root@Elphel353]# jack_connect metro:120_bpm dmpaudio:in_1
+
[root@Elphel353]# jack_connect metro:120_bpm dmpaudio:in_1
[root@Elphel353]# jack_lsp -c
+
[root@Elphel353]# jack_lsp -c
system:capture_1
+
system:capture_1
system:capture_2
+
system:capture_2
system:playback_1
+
system:playback_1
system:playback_2
+
system:playback_2
metro:120_bpm
+
metro:120_bpm
 
     dmpaudio:in_1
 
     dmpaudio:in_1
dmpaudio:in_1
+
dmpaudio:in_1
 
     metro:120_bpm
 
     metro:120_bpm
 
   
 
   

Revision as of 23:21, 16 November 2009

This is example how using JACK on camera

- connect USB sound card to camera

- login via telnet and start jackd:

[root@Elphel353 /]# jackd -dalsa -dhw:0 -n3 -p512 -s -S
jackd 0.116.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|512|3|48000|0|0|nomon|swmeter|soft-mode|16bit
control device hw:0
configuring for 48000Hz, period = 512 frames (10.7 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 3 periods for playback
playback and capture sample rates do not match (48000 vs. 24000) 

if You have different samplerate for capture/playback(as example, on my USB sound card) cancel jackd via ctrl-c and restart it via next command

[root@Elphel353 /]# jackd -dalsa -dplug:hw:0 -n3 -p512 -s -S

You can start JACK server in foreground as

jackd -dalsa -dplug:hw:0 -n3 -p512 -s -S 1>/dev/null &

Ok, now we can look avialable audio channels. (login another telnet session, session #2, if You not started jackd as foreground)

[root@Elphel353 /]# jack_lsp
system:capture_1
system:capture_2
system:playback_1
system:playback_2

For test output channels starting simple software metronom

[root@Elphel353 /]# jack_metro -b 120 &

Look at avialable channels:

[root@Elphel353 /]# jack_lsp
system:capture_1
system:capture_2
system:playback_1
system:playback_2
metro:120_bpm

Connect headphones to audio card. Now "connect" metronom output to playback channels of soundcard as

[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_1
[root@Elphel353 /]# jack_connect metro:120_bpm system:playback_2

You can hear "beep" in headphones. Ok, disconnect metronom from output channels

[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_1
[root@Elphel353 /]# jack_disconnect metro:120_bpm system:playback_2

For dump audio to wav files You can use utility timemachine

[root@Elphel353 /]# timemachine -c1 -t1 -p/var/tmp/hdd/tm -f wav -n dmpaudio 

where /var/tmp/hdd - path to directory where stored dump file tm - prefix of file, filename look as "tm2009-09-27T05:08:44.wav" dmpaudio - the JACK name timemachine will use

Connect, for example, metro:120_bpm to dmpaudio:in_1. Go to session #2 and enter

[root@Elphel353]# jack_connect metro:120_bpm dmpaudio:in_1
[root@Elphel353]# jack_lsp -c
system:capture_1
system:capture_2
system:playback_1
system:playback_2
metro:120_bpm
   dmpaudio:in_1
dmpaudio:in_1
   metro:120_bpm

Go to session #3 and enter "start" waiting some time - enter "stop" Now You can play *.wav file and hear "beep" Ok, disconnect metro:120_bpm from dmpaudio:in_1


Go to session #1 and enter "start" waiting some time - enter "stop" Now You can play *.wav file and hear "beep" Ok, disconnect metro:120_bpm from dmpaudio:in_1 and connect audio capture channel to our dump program Connect mic to sound card.

[root@Elphel353]# jack_disconnect metro:120_bpm dmpaudio:in_1 [root@Elphel353]# jack_connect system:capture_1 dmpaudio:in_1

Go to session #1, enter command "start". Now You starting record from mic. Playing some time and stop record Enter command "stop". Trying play dumped wav file - You can hear sound from mic. Ok, now mixing two sources to dump file, go to session #2 Usage ./timemachine: [-h] [-i] [-c channels] [-n jack-name]

       [-t buffer-length] [-p file prefix] [-f format]                                                 
       [-a] [-b begin-threshold] [-e end-threshold] [-T end-time]
       [port-name ...]
       -h      show this help
       -i      interactive mode (console instead of X11) also enabled
               if DISPLAY is unset
       -c      specify number of recording channels
       -n      specify the JACK name timemachine will use
       -t      specify the pre-recording buffer length
       -p      specify the saved file prefix, may include path
       -s      use safer characters in filename (windows compatibility)
       -f      specify the saved file format
       -a      enable automatic sound-triggered recording
       -b      specify threshold above which automatic recording will begin
       -e      specify threshold below which automatic recording will end
       -T      specify silence length before automatic recording ends
       channels must be in the range 1-8, default 2
       jack-name, default "TimeMachine"
       file-prefix, default "tm-"
       buffer-length, default 10 secs
       format, default 'w64', options: wav, w64
       begin-threshold, default -35.0 dB
       end-threshold, default -35.0 dB
       end-time, default 10 secs