more bla...
This commit is contained in:
parent
89abb2bb04
commit
53c0dfbf8a
@ -91,7 +91,7 @@ des fichiers en Fortran est assez déroutante%
|
|||||||
\footnote{Par contre, pour un dino des \textsl{big irons}\dots}.
|
\footnote{Par contre, pour un dino des \textsl{big irons}\dots}.
|
||||||
Il semble qu'il y ait deux concepts orthogonaux.
|
Il semble qu'il y ait deux concepts orthogonaux.
|
||||||
|
|
||||||
Open, Read, Write, Inquire, toussa\dots
|
\textit{Open, Read, Write, Inquire, toussa\dots}
|
||||||
|
|
||||||
% --------------------------------------------------------
|
% --------------------------------------------------------
|
||||||
|
|
||||||
@ -102,10 +102,27 @@ au-delà de 104 lignes. Oui, j'avoue, j'ai bien changé depuis
|
|||||||
l'époque où je confectionnait des procédures \textsl{monobloc}
|
l'époque où je confectionnait des procédures \textsl{monobloc}
|
||||||
de 1337 lignes, avec une bonne centaine de \texttt{GOTO} dedans.
|
de 1337 lignes, avec une bonne centaine de \texttt{GOTO} dedans.
|
||||||
|
|
||||||
|
% --------------------------------------------------------
|
||||||
|
\subsection{Random et Aléa}
|
||||||
|
|
||||||
|
La dernière ligne va vous étonner.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
integer, dimension(3) :: tarray
|
||||||
|
integer :: t3
|
||||||
|
real :: dummy
|
||||||
|
call itime(tarray)
|
||||||
|
t3 = 3600*tarray(1) + 60*tarray(2) + tarray(3)
|
||||||
|
write(0, '(A,3I3,A,I6)') "sranding: ", tarray, " --> ", t3
|
||||||
|
call srand(t3)
|
||||||
|
! after initializing the random generator engine,
|
||||||
|
! you MUST use it for initializing the initializer
|
||||||
|
dummy = rand()
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
% --------------------------------------------------------
|
% --------------------------------------------------------
|
||||||
|
|
||||||
\subsection{Images ?}
|
\subsection{Images}
|
||||||
|
|
||||||
Plplot semble être un bon choix pour commencer.
|
Plplot semble être un bon choix pour commencer.
|
||||||
|
|
||||||
|
@ -35,6 +35,8 @@ pinpin0: çhârsèt ?
|
|||||||
/SET autoclose_windows OFF
|
/SET autoclose_windows OFF
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
\textbf{Question :} comment enregistrer un chan' ?
|
||||||
|
|
||||||
% ==============================================================
|
% ==============================================================
|
||||||
\section{hexchat}
|
\section{hexchat}
|
||||||
\index{hexchat}
|
\index{hexchat}
|
||||||
|
@ -216,7 +216,7 @@ d'un fichier \texttt{.mid} ?
|
|||||||
|
|
||||||
\lstinputlisting[language=perl]{code/midifile.pl}
|
\lstinputlisting[language=perl]{code/midifile.pl}
|
||||||
|
|
||||||
Voilà.
|
Voilà enfin du code qui n'est pas fini\dots
|
||||||
|
|
||||||
% ---------------------------------------------------------
|
% ---------------------------------------------------------
|
||||||
|
|
||||||
@ -233,5 +233,7 @@ OSC\index{OSC} (page \pageref{chap:OSC}) semble une possibilité
|
|||||||
pour aller au-delà. Mais, \textsl{amho}, rien ne pourra vraiment
|
pour aller au-delà. Mais, \textsl{amho}, rien ne pourra vraiment
|
||||||
remplacer le midi tel que nous le connaissons depuis les années 80.
|
remplacer le midi tel que nous le connaissons depuis les années 80.
|
||||||
|
|
||||||
|
You can read more about USB MIDI here:
|
||||||
|
https://www.midi.org/midi-articles/basic-of-usb
|
||||||
|
|
||||||
% ---------------------------------------------------------
|
% ---------------------------------------------------------
|
||||||
|
@ -15,6 +15,19 @@ Je songe ensuite aborder certains aspects de la théorie du
|
|||||||
signal, dans le but pratique de brotcher du son.
|
signal, dans le but pratique de brotcher du son.
|
||||||
|
|
||||||
|
|
||||||
|
\section{En vrac}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
double stddev(const auto *x, int N)
|
||||||
|
{
|
||||||
|
double sum = 0, sum_sq = 0;
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
sum += x[i];
|
||||||
|
sum_sq += x[i]*x[i];
|
||||||
|
}
|
||||||
|
return sqrt((sum_sq - sum*sum/N)/(N-1));
|
||||||
|
}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ Comment scanner un /24 pour y découvrir les machines ?
|
|||||||
\section{netcat}
|
\section{netcat}
|
||||||
\index{netcat}
|
\index{netcat}
|
||||||
|
|
||||||
\textbf{Attention :} Il existe au moins deux variantes de netcat
|
\textbf{Attention :} Il existe au moins $N$ variantes de netcat
|
||||||
en circulation, bien entendu avec des options et des
|
en circulation, bien entendu avec des options et des
|
||||||
comportements différents.
|
comportements différents.
|
||||||
|
|
||||||
|
34
chap/scripting.tex
Normal file
34
chap/scripting.tex
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
\chapter{scripting}
|
||||||
|
|
||||||
|
\section{Awk} \index{Awk}
|
||||||
|
|
||||||
|
|
||||||
|
Quelques \textsl{oneliners} de bon aloi pour vous donner
|
||||||
|
une idée du langage\dots
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
cat { print $0 } or just 1
|
||||||
|
grep pattern /pattern/
|
||||||
|
head -n 5 NR <= 5
|
||||||
|
cut -f1 { print $1 }
|
||||||
|
tr a-z A-Z { print toupper($0) }
|
||||||
|
sed 's/hi/ho/g' gsub(/hi/,"ho")
|
||||||
|
wc -l END { print NR }
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
% ===============================================================
|
||||||
|
\subsection{Un exemple simple}
|
||||||
|
|
||||||
|
À partir d'un jeu de données structurées, nous allons générer un
|
||||||
|
fichier \texttt{.inc} contenant un objet pour Povray\index{povray}.
|
||||||
|
Un cas d'école : un élément par ligne, les valeurs séparées par
|
||||||
|
des espaces.
|
||||||
|
|
||||||
|
|
||||||
|
\lstinputlisting[]{code/awk/dataset}
|
||||||
|
|
||||||
|
Ces données sont les coordonnées \textsc{xyz} et le rayon d'une
|
||||||
|
petite collection de bubulles. Pratiquement, une représentation
|
||||||
|
sommaire d'une sphère de povray.
|
||||||
|
|
||||||
|
% ===============================================================
|
13
chap/son.tex
13
chap/son.tex
@ -91,8 +91,8 @@ sur la page \pageref{chap:MIDI}.
|
|||||||
TODO\index{XXX}
|
TODO\index{XXX}
|
||||||
|
|
||||||
%------------------------------------------------------------------
|
%------------------------------------------------------------------
|
||||||
|
%
|
||||||
|
% bienvenu dans le monde de LP
|
||||||
\section{pulseaudio}
|
\section{pulseaudio}
|
||||||
\index{pulseaudio}
|
\index{pulseaudio}
|
||||||
\label{pulseaudio}
|
\label{pulseaudio}
|
||||||
@ -102,7 +102,7 @@ même falloir y passer : ce machin prétenduement
|
|||||||
\textsl{michu compliant}\index{Michu}
|
\textsl{michu compliant}\index{Michu}
|
||||||
a parfois, voire même souvent, tendance à se mettre en travers
|
a parfois, voire même souvent, tendance à se mettre en travers
|
||||||
du chemin des honnètes gens%
|
du chemin des honnètes gens%
|
||||||
\footnote{Du moins vers l'année 2014}.
|
\footnote{Du moins vers les années 2014/2019}.
|
||||||
|
|
||||||
%------------------------------------------------------------------
|
%------------------------------------------------------------------
|
||||||
\section{Jack}
|
\section{Jack}
|
||||||
@ -159,6 +159,13 @@ voir qu'elle est à deux niveaux.
|
|||||||
|
|
||||||
https://www.xiph.org/ao/doc/drivers.html
|
https://www.xiph.org/ao/doc/drivers.html
|
||||||
|
|
||||||
|
\subsection{Choisir la sortie}
|
||||||
|
|
||||||
|
Pour choisr comment et vers quelle prise physique libao va envoyer
|
||||||
|
le son, il y a deux choix à faire. La partie logicielle d'une part
|
||||||
|
(aixs, oss, alsa, jack, sndio\dots)
|
||||||
|
et la partie matérielle (jack standard, casque audio USB\dots).
|
||||||
|
|
||||||
%------------------------------------------------------------------
|
%------------------------------------------------------------------
|
||||||
|
|
||||||
\section{Portaudio} \label{Portaudio} \index{Portaudio}
|
\section{Portaudio} \label{Portaudio} \index{Portaudio}
|
||||||
|
@ -32,7 +32,7 @@ the implementation makes use of the FUSE (Filesystem in Userspace)
|
|||||||
kernel module. The practical effect of this is that the end user can
|
kernel module. The practical effect of this is that the end user can
|
||||||
seamlessly interact with remote files being securely served over SSH
|
seamlessly interact with remote files being securely served over SSH
|
||||||
just as if they were local files on his/her computer. On the remote
|
just as if they were local files on his/her computer. On the remote
|
||||||
computer the SFTP subsystem of SSH is used.}
|
computer the SFTP\index{sftp} subsystem of SSH is used.}
|
||||||
|
|
||||||
Hélas, ça ne marche pas trop bien depuis un
|
Hélas, ça ne marche pas trop bien depuis un
|
||||||
OpenBSD\index{OpenBSD}\footnote{OpenBSD 5.5 sur sparc64} :
|
OpenBSD\index{OpenBSD}\footnote{OpenBSD 5.5 sur sparc64} :
|
||||||
|
3
code/awk/dataset
Normal file
3
code/awk/dataset
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
17 9 4 1.5
|
||||||
|
11 0.8 2.3 0.989
|
||||||
|
0 0 0 1
|
2
main.tex
2
main.tex
@ -119,6 +119,8 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
|
|||||||
% \input{chap/SCSI}
|
% \input{chap/SCSI}
|
||||||
\input{chap/X11}
|
\input{chap/X11}
|
||||||
\input{chap/Fortran}
|
\input{chap/Fortran}
|
||||||
|
\input{chap/scripting}
|
||||||
|
|
||||||
% \input{chap/GMP}
|
% \input{chap/GMP}
|
||||||
\input{chap/Python}
|
\input{chap/Python}
|
||||||
\input{chap/dino}
|
\input{chap/dino}
|
||||||
|
Loading…
Reference in New Issue
Block a user