File: a2431.html

package info (click to toggle)
appunti-informatica-libera 2001.08.18-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 27,912 kB
  • ctags: 23,734
  • sloc: makefile: 69
file content (268 lines) | stat: -rw-r--r-- 15,391 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="it">
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html">
    <META NAME="Generator" CONTENT="Alml">
    <META NAME="Description" CONTENT="GNU/Linux e altro software libero">
    <META NAME="Keywords" CONTENT="Linux, GNU/Linux, Unix, software, software libero, free software">
    <META NAME="Author" CONTENT="Daniele Giacomini &nbsp;&nbsp; &nbsp;daniele&nbsp;@&nbsp;swlibero.org">
    <META NAME="Date" CONTENT="2001.08.18 ">
    <META NAME="Resource-type" LANG="en" CONTENT="Document" >
    <META NAME="Revisit-after" LANG="en" CONTENT="15 days" >
    <META NAME="Robots" CONTENT="ALL" >
    <TITLE> Appunti di informatica libera</TITLE>
    <LINK REL="stylesheet" TYPE="text/css" HREF="a2.css">
    <LINK REL="Start" TITLE="Start" HREF="a2.html">
    <LINK REL="Prev" TITLE="Previous" HREF="a2430.html">
    <LINK REL="Next" TITLE="Next" HREF="a2432.html">
</HEAD>
<BODY>
<P>
<A HREF="a2432.html">[successivo]</A>
<A HREF="a2430.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
<A HREF="a2417.html">[tomo]</A>
<A HREF="a2426.html">[parte]</A>
</P>
<HR>
<DIV>
<H1>Capitolo 334. &nbsp; <A NAME="title5243"></A><A NAME="anchor6380"></A> Applicazioni multimediali </H1>

<P>In questo capitolo si raccolgono informazioni su applicativi multimediali che per qualche motivo non vengono pi&ugrave; seguite in questo documento.</P>

<H2>334.1 &nbsp; <A NAME="title5244"></A><A NAME="anchor6381"></A>
 <A NAME="index26126"></A>Wavplay <A NAME="index26127"></A> <A NAME="index26128"></A> <A NAME="index26129"></A> </H2>

<P><A NAME="index26130"></A>Wavplay <SUP><A HREF="#footnote1" NAME="footnote-ref1">(1)</A></SUP> &egrave; un pacchetto per l'esecuzione e la registrazione di file audio in formato WAV-RIFF. Non si tratta di qualcosa di eccezionale, ma &egrave; almeno uno strumento funzionale che permette di non dover lavorare direttamente con i file di dispositivo.</P>

<TABLE BORDER="3" WIDTH="100%">
<TR><TD>

<P>Purtroppo, <A NAME="index26131"></A>Wavplay non funziona con tutti i tipi di scheda audio. In generale dovrebbe andare bene con quelle i cui <A NAME="index26132"></A>driver appartengono alla serie &laquo;OSS&raquo;.</P>

</TD></TR>
</TABLE>

<H3>334.1.1 &nbsp; <A NAME="title5245"></A><A NAME="anchor6382"></A>
 $ wavplay, wavrec <A NAME="index26133"></A> <A NAME="index26134"></A> </H3>

<P class="syntax"><TT>wavplay<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG><VAR>file_wav</VAR>...
</TT></P>

<P class="syntax"><TT>wavrec<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG><VAR>file_wav</VAR>
</TT></P>

<P>Come si pu&ograve; intuire, <SAMP>wavrec</SAMP> registra, mentre <SAMP>wavplay</SAMP> esegue i file WAV. Le opzioni di questi due programmi eseguibili sono in parte uguali.</P>

<DL>
<DT><STRONG>Alcune opzioni</STRONG></DT>
<DD>

<P class="syntax"><TT>-s<VAR>frequenza_campionamento</VAR>
</TT></P>

<P>In registrazione permette di definire la frequenza di campionamento. Il valore predefinito &egrave; di 22&nbsp;050&nbsp;Hz. Utilizzando frequenze maggiori si migliora la qualit&agrave; della registrazione, aumentando proporzionalmente le dimensioni del file che si genera.</P>

<P>In esecuzione, permette di modificare la velocit&agrave; di ascolto. In pratica, utilizzando una frequenza di campionamento inferiore a quella utilizzata per registrare, si ottiene un'esecuzione rallentata, e di conseguenza il contrario aumentando la frequenza. In generale, per eseguire un brano alla sua velocit&agrave; naturale, non occorre specificare questa opzione.</P>

<P class="syntax"><TT>-S
</TT></P>

<P>Richiede espressamente una registrazione o un'esecuzione stereofonica.</P>

<P class="syntax"><TT>-M
</TT></P>

<P>Richiede espressamente una registrazione o un'esecuzione monofonica.</P>

<P class="syntax"><TT>-b8<STRONG><BIG>|</BIG></STRONG>16
</TT></P>

<P>Permette di specificare espressamente la dimensione in bit di ogni campione. Si pu&ograve; scegliere solo tra i valori 8 e 16.</P>

<P class="syntax"><TT>-t<VAR>n_secondi_registrazione</VAR>
</TT></P>

<P>Permette di fissare la durata della registrazione (non si usa per l'esecuzione).</P>

<P class="syntax"><TT>-i
</TT></P>

<P>Riguarda solo <SAMP>wavplay</SAMP> e fa s&igrave; che si limiti a mostrare le caratteristiche del file, senza eseguirlo.</P>
<DT><STRONG>Esempi</STRONG></DT>
<DD>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>wavrec -b 8 -S -t 60 mio_file.wav</CODE></STRONG></P>

<P>Registra nel file <CODE>mio_file.wav</CODE> ci&ograve; che proviene dalla scheda audio (si deve utilizzare un programma come <A NAME="index26135"></A>Aumix per selezionare un segnale in registrazione), con campioni di 8&nbsp;bit, in stereofonia, per una durata di 60&nbsp;s. La frequenza di campionamento &egrave; quella predefinita.</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>wavrec -b 8 -S -t 60 -s 20000 mio_file.wav</CODE></STRONG></P>

<P>Come nell'esempio precedente, specificando una frequenza di campionamento di 20&nbsp;000&nbsp;Hz.</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>wavplay mio_file.wav</CODE></STRONG></P>

<P>Esegue il file <CODE>mio_file.wav</CODE>.</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>wavplay -s 10000 mio_file.wav</CODE></STRONG></P>

<P>Esegue il file <CODE>mio_file.wav</CODE> a una data frequenza di campionamento, in modo da alterarne la velocit&agrave; di esecuzione (seguendo gli esempi gi&agrave; visti, la velocit&agrave; viene dimezzata).</P>
</DD>
</DL>

<H3>334.1.2 &nbsp; <A NAME="title5246"></A><A NAME="anchor6383"></A>
 $ xltwavplay <A NAME="index26136"></A> <A NAME="index26137"></A> </H3>

<P><A NAME="index26138"></A>Wavplay si compone anche dell'eseguibile <SAMP>xltwavplay</SAMP>, a volte distribuito in un pacchetto separato, che si comporta da <A NAME="index26139"></A>programma frontale grafico per <SAMP>wavplay</SAMP> e <SAMP>wavrec</SAMP>. In pratica, utilizza il sistema grafico X per comandare <SAMP>wavplay</SAMP> e <SAMP>wavrec</SAMP> in modo pi&ugrave; gradevole rispetto alla solita riga di comando.</P>

<TABLE ID="anchor6384" BORDER="0" WIDTH="100%">
<TR><TD>

<P><IMG SRC="312.jpg" ALT="figure/a2-xltwavplay-esempio" HEIGHT="680"></P>

<P class="caption"> Figura <A HREF="a2431.html#anchor6384">334.1</A>. Aspetto del <A NAME="index26140"></A>programma frontale di <A NAME="index26141"></A>Wavplay. </P>

</TD></TR>
</TABLE>

<P>L'unico problema di <SAMP>xltwavplay</SAMP> sta nel fatto che utilizza le librerie <A NAME="index26142"></A>LessTif che funzionano ancora perfettamente.</P>

<H2>334.2 &nbsp; <A NAME="title5247"></A><A NAME="anchor6385"></A>
 <A NAME="index26143"></A>Mpg123 <A NAME="index26144"></A> <A NAME="index26145"></A> </H2>

<P><A NAME="index26146"></A>Mpg123  <SUP><A HREF="#footnote2" NAME="footnote-ref2">(2)</A></SUP>  &egrave; un applicativo specializzato per l'esecuzione di brani memorizzati in formato MP3. <A NAME="index26147"></A>Mpg123 si compone in pratica solo dell'eseguibile omonimo: <SAMP>mpg123</SAMP>.</P>

<P class="syntax"><TT>mpg123<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG><STRONG><BIG>{</BIG></STRONG><VAR>file_mp3</VAR><STRONG><BIG>|</BIG></STRONG><VAR>uri_http</VAR><STRONG><BIG>}</BIG></STRONG>
</TT></P>

<P>L'eseguibile in questione &egrave; ricco di opzioni e di possibilit&agrave;; tuttavia dovrebbe bastare l'indicazione del file MP3 come unico argomento per iniziare la sua esecuzione attraverso la gestione dell'audio del sistema operativo (in pratica si arrangia a inviare i dati al dispositivo <CODE>/dev/audio</CODE> o <CODE>/dev/dsp</CODE>, che deve avere i permessi necessari).</P>

<P>Una particolarit&agrave; di <A NAME="index26148"></A>Mpg123 &egrave; quella di poter caricare direttamente un file attraverso il protocollo HTTP. Per esempio:</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>mpg123 mio_file.mp3</CODE></STRONG></P>

<P>avvia l'esecuzione del file <CODE>mio_file.mp3</CODE>, mentre:</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>mpg123 "http://www.brot.dg/brano.mp3"</CODE></STRONG></P>

<P>esegue direttamente il file che si ottiene dall'URI <CODE>http://www.brot.dg/brano.mp3</CODE>. Eventualmente, per questo &egrave; possibile servirsi anche di un <A NAME="index26149"></A>proxy. Per maggiori dettagli si pu&ograve; consultare la <A NAME="index26150"></A>pagina di manuale relativa: <EM>mpg123</EM>(1).</P>

<H2>334.3 &nbsp; <A NAME="title5248"></A><A NAME="anchor6386"></A>
 8Hz-mp3 <A NAME="index26151"></A> </H2>

<P><A NAME="index26152"></A>8Hz-mp3 <SUP><A HREF="#footnote3" NAME="footnote-ref3">(3)</A></SUP> &egrave; un programma che &egrave; stato disponibile gratuitamente, ma che pare avere qualche problema (si veda a questo proposito &lt;<EM><A HREF="http://www.8hz.com/mp3/index.html">http://www.8hz.com/mp3/index.html</A></EM>&gt; ed eventualmente anche &lt;<EM><A HREF="http://sound.media.mit.edu/~eds/mpeg-patents-faq">http://sound.media.mit.edu/~eds/mpeg-patents-faq</A></EM>&gt;). <A NAME="index26153"></A>8Hz-mp3 &egrave; in grado di convertire file WAV-RIFF, o PCM, in MP3. In generale, conviene limitarsi alla conversione a partire da file WAV-RIFF, dal momento che questi contengono nell'intestazione tutte le informazioni necessarie a conoscere il modo in cui sono campionati. L'eseguibile <SAMP>8hz-mp3</SAMP> &egrave; tutto ci&ograve; che compone questo programma:</P>

<P class="syntax"><TT>8hz-mp3<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG><VAR>file_in_ingresso</VAR><VAR>file_mp3_generato</VAR>
</TT></P>

<P>L'uso normale di <A NAME="index26154"></A>8Hz-mp3 non richiede alcuna opzione. Per la precisione, senza opzioni, <A NAME="index26155"></A>8Hz-mp3 si aspetta che il file in ingresso sia in formato WAV-RIFF, generando un file MP3 con la qualit&agrave; migliore che &egrave; in grado di ottenere.</P>

<DL>
<DT><STRONG>Alcune opzioni</STRONG></DT>
<DD>

<P class="syntax"><TT>-c
</TT></P>

<P>Imposta nel file MP3 il bit <SAMP>copyright</SAMP>. Senza questa opzione, il bit non viene attivato.</P>

<P class="syntax"><TT>-o
</TT></P>

<P>Imposta nel file MP3 il bit <SAMP>original</SAMP>. Senza questa opzione, il bit non viene attivato.</P>

<P class="syntax"><TT>-q<VAR>n_qualit&agrave;</VAR>
</TT></P>

<P>Definisce esplicitamente il livello di qualit&agrave; che si intende ottenere nel file MP3. Il valore predefinito &egrave; zero, che corrisponde alla qualit&agrave; migliore. Valori superiori allo zero, fino a un massimo di 30, indicano qualit&agrave; progressivamente inferiori.</P>
<DT><STRONG>Esempi</STRONG></DT>
<DD>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>8hz-mp3 01.wav 01.mp3</CODE></STRONG></P>

<P>Converte il file <CODE>01.wav</CODE> nel file <CODE>01.mp3</CODE>, utilizzando le impostazioni predefinite.</P>

<P class="command"><CODE>$&nbsp;</CODE><STRONG><CODE>for i in *.wav ; do 8hz-mp3 $i $i.mp3 ; done</CODE></STRONG></P>

<P>Attraverso la <A NAME="index26156"></A>shell, attiva un ciclo con il quale vengono convertiti tutti i file che terminano con estensione <CODE>.wav</CODE> in MP3, creando altrettanti file, che si distinguono perch&eacute; hanno in pi&ugrave; l'estensione <CODE>.mp3</CODE>.</P>
</DD>
</DL>

<H2>334.4 &nbsp; <A NAME="title5249"></A><A NAME="anchor6387"></A>
 Xanim <A NAME="index26157"></A> </H2>

<P><A NAME="index26158"></A>Xanim  <SUP><A HREF="#footnote4" NAME="footnote-ref4">(4)</A></SUP>  &egrave; un programma, apparentemente molto semplice, che permette la visione e l'ascolto di file contenenti delle animazioni. I formati che pu&ograve; gestire sono molti; per citarne alcuni: FLI, GIF animati, AVI e Quicktime. <A NAME="index26159"></A>Xanim (l'eseguibile <SAMP>xanim</SAMP>) pu&ograve; essere usato molto bene in modo non interattivo attraverso l'uso delle opzioni fornite nella riga di comando, ma permette comunque una gestione intuitiva anche senza di queste. L'unico argomento obbligatorio &egrave; il nome del file che si vuole &laquo;eseguire&raquo;.</P>

<P>Per utilizzare bene <A NAME="index26160"></A>Xanim &egrave; necessario leggere la <A NAME="index26161"></A>pagina di manuale <EM>xanim</EM>(1).</P>

<H3>334.4.1 &nbsp; <A NAME="title5250"></A><A NAME="anchor6388"></A>
 $ xanim <A NAME="index26162"></A> </H3>

<P class="syntax"><TT>xanim<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG><VAR>file</VAR>...
</TT></P>

<P>Come accennato, <SAMP>xanim</SAMP> richiede espressamente l'indicazione di almeno un file di animazione da eseguire. Se vengono indicati pi&ugrave; file, questi risultano uniti assieme in un'unica sequenza. Il controllo dell'esecuzione delle animazioni avviene normalmente attraverso un pannellino di controllo che si pu&ograve; vedere nella figura <A HREF="a2431.html#anchor6389">334.2</A>.</P>

<TABLE ID="anchor6389" BORDER="0" WIDTH="100%">
<TR><TD>

<P><IMG SRC="313.jpg" ALT="figure/a2-xanim-controlli" HEIGHT="170"></P>

<P class="caption"> Figura <A HREF="a2431.html#anchor6389">334.2</A>. La finestra contenente il pannellino di controllo di <A NAME="index26163"></A>Xanim. </P>

</TD></TR>
</TABLE>

<P>Anche senza volere approfondire l'uso di questo programma, pu&ograve; essere conveniente conoscere almeno l'uso del mouse e di alcune funzionalit&agrave; della tastiera durante l'esecuzione di un'animazione:</P>

<UL>

<LI>

<P>facendo un clic con il primo tasto del mouse, oppure premendo il tasto [<KBD>,</KBD>] (virgola), si ottiene l'arresto dell'esecuzione e la visualizzazione della scena precedente;</P>
</LI>

<LI>

<P>facendo un clic con il terzo tasto del mouse, oppure premendo il tasto [<KBD>.</KBD>] (punto), si ottiene l'arresto dell'esecuzione e la visualizzazione della scena successiva;</P>
</LI>

<LI>

<P>facendo un clic con il secondo tasto del mouse (quello centrale) si ottiene la ripresa dell'esecuzione dell'animazione (se era stata fermata);</P>
</LI>

<LI>

<P>la [<KBD>barra&nbsp;spaziatrice</KBD>] arresta o fa riprendere l'esecuzione dell'animazione;</P>
</LI>
</UL>
<HR>

<P><A HREF="#footnote-ref1" NAME="footnote1">1)</A> <STRONG>Wavplay</STRONG> &nbsp; GNU GPL</P>

<P><A HREF="#footnote-ref2" NAME="footnote2">2)</A> <STRONG>Mpg123</STRONG> &nbsp; software non libero: non &egrave; consentita la modifica e la commercializzazione</P>

<P><A HREF="#footnote-ref3" NAME="footnote3">3)</A> <STRONG>8Hz-mp3</STRONG> &nbsp; gratuito, senza una licenza vera e propria</P>

<P><A HREF="#footnote-ref4" NAME="footnote4">4)</A> <STRONG>Xanim</STRONG> &nbsp; software gratuito, non libero, per uso &laquo;non commerciale&raquo;</P>
</DIV>
<HR>
<P>Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome  <A HREF="applicazioni_multimediali.html">applicazioni_multimediali.html</A></P>
<P>
<A HREF="a2432.html">[successivo]</A>
<A HREF="a2430.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
</P>
</BODY>
</HTML>