more blabla again
This commit is contained in:
parent
25055fed70
commit
b0a682c849
@ -105,7 +105,7 @@ En utilisant les mêmes fonctions qu'une application basique.
|
||||
Peut-être aussi en lui trouvant un nom plus \textsl{fun}\dots
|
||||
|
||||
% ------------------------------------------------------------
|
||||
\section{DHCP} \index{DHCP}
|
||||
\section{DHCP} \index{DHCP} \index{dhcpd}
|
||||
|
||||
\begin{quote}
|
||||
The DHCP protocol allows a host to contact a central server which maintains a
|
||||
@ -120,6 +120,12 @@ Probablement avec \texttt{tcpdump}\index{tcpdump},
|
||||
et c'est à l'essai
|
||||
dans la page \pageref{tcpdump}.
|
||||
|
||||
Un compagnon privilégié du DHCP est le système PXE\index{PXE}
|
||||
qui permet de \textsl{booter} des images ISOs stockées sur
|
||||
un serveur du réseau local.
|
||||
|
||||
% https://www.geoffray-levasseur.org/tutoriels-2/un-pxe-pour-les-unir-tous/
|
||||
|
||||
% ------------------------------------------------------------
|
||||
\section{dnsmasq}
|
||||
\index{dnsmasq}
|
||||
|
@ -37,6 +37,9 @@ qui va générer le signal audio.
|
||||
% ---------------------------------------------------------
|
||||
\section{Outils de base}
|
||||
|
||||
Le sous-système ALSA vient avec quelques utiltaires bien pratique
|
||||
dans un usage d'exploration.
|
||||
|
||||
\subsection{aseqdump}
|
||||
\index{aseqdump}
|
||||
|
||||
@ -51,8 +54,32 @@ tth@plop:~/Muzak/Samples$ aseqdump -l
|
||||
0:0 System Timer
|
||||
0:1 System Announce
|
||||
14:0 Midi Through Midi Through Port-0
|
||||
20:0 nanoKONTROL nanoKONTROL MIDI 1
|
||||
\end{verbatim}
|
||||
|
||||
Voici ce qu'on obtient quand on remue les boutons d'un
|
||||
nanoKontrol de Korg, et voyez bien qu'on retrouve les
|
||||
trois octets dont on causait l'autre jour. Le premier
|
||||
contient à la fois le numéro ce canal et le type d'évènement,
|
||||
le second le numéro du contrôle concerné, et le troisième
|
||||
la nouvelle valeur~:
|
||||
|
||||
\begin{verbatim}
|
||||
tth@fubar:~/Documents/TetaTricks$ aseqdump -p 20
|
||||
Waiting for data. Press Ctrl+C to end.
|
||||
Source Event Ch Data
|
||||
20:0 Control change 1, controller 45, value 127
|
||||
20:0 Control change 1, controller 45, value 0
|
||||
20:0 Control change 1, controller 14, value 120
|
||||
20:0 Control change 1, controller 14, value 119
|
||||
\end{verbatim}
|
||||
|
||||
Un exemple d'utilisation d'un nanoKontrol pour piloter Chuck
|
||||
se trouve (peut-être) aux alentours de la
|
||||
page \pageref{chuck-midi}.
|
||||
|
||||
% -------------------------
|
||||
|
||||
\subsection{aconnect}
|
||||
|
||||
Maintenant que nous savons ce qui rentre dans notre machine,
|
||||
@ -67,6 +94,11 @@ aseqnet is an ALSA sequencer client which sends and receives
|
||||
event packets over the network.
|
||||
\end{quote}
|
||||
|
||||
\subsection{pmidi}
|
||||
|
||||
Jouer un fichier MIDI (aka \textsl{midifile}) au travers du
|
||||
séquenceur ALSA.
|
||||
|
||||
% ---------------------------------------------------------
|
||||
\section{ALSA tips}
|
||||
\index{ALSA}
|
||||
|
@ -25,6 +25,22 @@ a voulu BigBlue\index{IBM}, régnait en maitre absolu le BIOS,
|
||||
Un bout de code minimaliste, bien rangé dans sa ROM, et disponible
|
||||
dès la mise sous tension du bouzin.
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{PXE} \index{PXE} \label{PXE}
|
||||
|
||||
PXE est le sigle de \textsl{Pre-boot eXecution Environment}.
|
||||
|
||||
En gros, ça permet de démarrer un système stocké ailleur sur
|
||||
le réseau, comme une image d'installation d'un Linux ou un
|
||||
système de secours. Ce qui est vraiment pratique, car ça
|
||||
évite la valse des clefs USB. Il nécessite la présence
|
||||
d'un serveur dhcpd \index{dhcpd}.
|
||||
|
||||
% https://www.geoffray-levasseur.org/tutoriels-2/un-pxe-pour-les-unir-tous/
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{amd64}\index{amd64}
|
||||
|
||||
Voir Grub, le bootloader.
|
||||
@ -35,7 +51,6 @@ XXX\index{XXX}.
|
||||
|
||||
\section{rc.local}
|
||||
|
||||
|
||||
L'exécution de ce script est la toute dernière étape du démarrage d'un
|
||||
système de la famille Unix\index{Unix} avant le passage au
|
||||
mode multi-utilisateur.
|
||||
|
@ -35,6 +35,13 @@ cryptiques pour moi. Donc, on y arrive.
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
Ceci dit, une lecture attentive du code source\footnote{UTSL} permettra
|
||||
de contourner ces petits désagréments, et de rédiger quelques exemples
|
||||
d'utilisation amusants.
|
||||
|
||||
% package source
|
||||
% http://deb.debian.org/debian/pool/main/w/wims/wims_4.17b+svn13454~dfsg1.orig.tar.gz
|
||||
|
||||
%====================================================================
|
||||
|
||||
\section{Povray}\index{POVray}
|
||||
|
@ -131,6 +131,14 @@ sustain level pour finir.
|
||||
\subsection{Jouer des samples}
|
||||
|
||||
Oui, on peut. On peut même faire des choses assez fun.
|
||||
Juste un example un peu brouillon et qui manque de rigueur
|
||||
en attendant mieux :
|
||||
|
||||
\lstinputlisting{code/playsample.ck}
|
||||
|
||||
Et j'entend un esprit chagrin râler au fond de la salle :
|
||||
« oué, nous on veut du gros son ». Patience, nous allons
|
||||
d'abord voir les briques avant de construire le mur.
|
||||
|
||||
% ------------------------------------------------------
|
||||
|
||||
@ -142,9 +150,15 @@ Attention, une petite connaissance du protocole MIDI
|
||||
est nécessaire. Vous trouverez quelques explications
|
||||
page \pageref{chap:MIDI}.
|
||||
|
||||
Le petit bout de code qui suit vous affiche les triplets
|
||||
reçus en charabia numérique. Leur décriptage est laissé
|
||||
en exercice à nos lecteurs.
|
||||
|
||||
\lstinputlisting{code/midibeep.ck}
|
||||
|
||||
|
||||
Cet exemple est volontairement simple, voire même minimaliste,
|
||||
afin de ne pas surcharger cet ouvrage. Mais je vous rappelle
|
||||
que les exemples sur le site sont très instructifs.
|
||||
|
||||
% ------------------------------------------------------
|
||||
|
||||
@ -152,6 +166,7 @@ page \pageref{chap:MIDI}.
|
||||
|
||||
OSC, Open Sound Control, a son chapitre dédié en page \pageref{chap:OSC}.
|
||||
Nous allons nous concentrer sur les aspects Chuck.
|
||||
J'ai bien une idée d'exemple, mais ce soir, c'est soirée "flemme".
|
||||
|
||||
% ------------------------------------------------------
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
\chapter{Les intertubes}
|
||||
\chapter{Les Intertubes}
|
||||
\label{chap:reseau} \index{Internet}
|
||||
|
||||
Ah, le grand Internet sauvage, il serait temps qu'on en parle un peu.
|
||||
@ -176,6 +176,10 @@ Ces gadgets dialoguent entre eux par le protocole
|
||||
\footnote{C'est en page \pageref{chap:Bonjour} qu'on
|
||||
en parle vaguement}.
|
||||
|
||||
Mais en fait, non. Je n'ai plus les Minimad sous la main.
|
||||
Il va falloir trouver un autre exemple, ou l'imaginer
|
||||
nous-même.
|
||||
|
||||
% -------------------------------------------------------------
|
||||
|
||||
\subsection{nmap}
|
||||
@ -196,6 +200,10 @@ Comment scanner un /24 pour y découvrir les machines ?
|
||||
\section{netcat}
|
||||
\index{netcat}
|
||||
|
||||
\textbf{Attention :} Il existe au moins deux variantes de netcat
|
||||
en circulation, bien entendu avec des options et des
|
||||
comportements différents.
|
||||
|
||||
\begin{quote}
|
||||
The nc (or netcat) utility is used for just about anything under the sun
|
||||
involving TCP or UDP. It can open TCP connections, send UDP packets,
|
||||
@ -207,6 +215,7 @@ error messages onto standard error instead of sending them to standard
|
||||
output, as telnet(1) does with some.
|
||||
\end{quote}
|
||||
|
||||
Netcat was written by a guy we know as the Hobbit <hobbit@avian.org>.
|
||||
|
||||
% ==============================================================
|
||||
|
||||
|
14
code/playsample.ck
Normal file
14
code/playsample.ck
Normal file
@ -0,0 +1,14 @@
|
||||
SndBuf buf => dac;
|
||||
"sample.wav" => buf.read;
|
||||
|
||||
float srate, duration;
|
||||
1 => buf.gain;
|
||||
|
||||
for ( 0.7=>srate; srate<1.8; 0.1 +=> srate) {
|
||||
900 / srate => duration;
|
||||
<<< "loop...", srate, duration >>>;
|
||||
0 => buf.pos;
|
||||
srate => buf.rate;
|
||||
(duration)::ms => now;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user