Browse Source

did stuff

main
Annwan 3 months ago
parent
commit
670ea864c9
  1. 2
      .gitignore
  2. 62
      pres/script.org
  3. 53
      pres/slides.tex
  4. 1
      tools/sounder/name.txt
  5. 16
      tools/sounder/sounder.sc
  6. 2
      tools/sounder/text.txt

2
.gitignore

@ -1,7 +1,7 @@
# seq2audio output
tools/sounder/*.wav
tools/sounder/*.filelist
pres/slides.pdf.pages/*
# TeX output
*.aux
*.fdb_latexmk

62
pres/script.org

@ -7,6 +7,7 @@
\SetFont{Andika}[StylisticSet=13]
\setmonofont{Iosevka}[Scale=MatchUppercase]
\newfontfamily\h{Cousine}[Scale=MatchUppercase]
\newfontfamily\jp{Noto Sans CJK JP}[Scale=MatchUppercase]
\usepackage{tikz}
\usetikzlibrary{positioning}
\newcounter{note}
@ -31,9 +32,17 @@
\color{white}#5%
\end{center}%
}
\let\sc\bf
\let\textsc\textbf
\color{white}
\begin{document}
\slide{\tt\#\#000124811A*0034\#5344A\#C*004375}
\slide{Warning}
\begin{center}
\vfill
This video may contain some mis-balanced audio because pure sine waves are very hard to balance properly. I tried my best but ¯\textbackslash\_({\jp ツ})\_/¯, sorry in advance.
\vfill
\end{center}
\slide{\huge\textbf{\texttt{\#\#000124811A*0034\#5344A\#C*004375}}}
\vfill
\begin{center}An entry in the 3\textsuperscript{rd} annual Cursed Conlang Circus\end{center}
#+end_src
@ -77,7 +86,7 @@ This presentation is the result of an investigation taking the form of month of
\end{center}
#+end_src
First let’s talk about what composes words: due to a notable inefficiency to transmit complex sounds over what are often digital interfaces to the phone network, the speakers instead use DTMF signaling as a suport for their comunication. You can see here a table summarising the various tones available.
First let’s talk about what compose 811 words: due to a notable inefficiency to transmit complex sounds over what are often digital interfaces to the phone network, the speakers instead use DTMF signaling as a suport for their comunication. You can see here a table summarising the various tones available.
* Packets
** Intro to packets
@ -104,6 +113,7 @@ A packet is the smallest amount of information that can be transmitted
#+end_src
A packet is the smallest amount of information you can transmit in 811, it is composed of multiple parts
** Recipient and Sender
#+begin_src tex
\slide{Recipient and Sender}
@ -237,7 +247,6 @@ The last field of the header is the length of the data. It is expressed as a dec
\begin{items}
\item Encodes Gramatical and Syntactic information
\item Has a fixed number of possible values
\item Describes a tree-like syntax
\end{items}
#+end_src
@ -245,20 +254,29 @@ Gramatical
**** Gramatical Pronouns
#+begin_src tex
\slide{Data — Gramatical — Generic}
\begin{items}
\item
\item The Generic pronoun is the gramatical
\end{items}
\slide{Data — Gramatical}
\begin{description}
\item[{\tt A1}] {\sc 1sg} produces a reference to the speaker
\item[{\tt A2}] {\sc 2sg} produces a reference to the listener
\item[{\tt 1}] {\sc assert} produces a clause that the argument is true/exists
\item[{\tt 2A}] {\sc ntrans} Takes two arguments and produces the clause with the first argument as Agent and the second argument as Verb.
\item[{\tt 2B}] {\sc ntrans.passv} Takes two arguments and produces the clause with the first argument as Patient and the second argument as Verb.
\item[{\tt 3}] {\sc trans} Takes three arguments and produces the clause with the first argument as Subject, the second argument as Object, and the third argument as Verb. For an equivalent of a passive construction, simply reverse the arguments.
\item[{\tt 4}] {\sc ditrans} takes four arguments and produces the clause with the first argument as Subject, the second as Object, the third as Beneficiary and the fourth as Verb.
\item[{\tt 0}] {\sc let} takes a variable packet and a syntactic construct and assigns the syntactic construct as value of the variable. the Variable may, after this point be used in stead of the construct, this is effectively a pronoun, but not limited to just nouns and noun phrases.
\item[{\tt B}] {\sc new clause} takes 2 clauses and produces the utterance containing both clauses in succession. Can be called recursively on itself to accomodate any number of clauses,
\item[{\tt D}] {\sc ppn} takes a string litteral of a variable containing a string litteral and a qualifier and produces the matching proper noun
\end{description}
#+end_src
**** Gramatical Speakers
**** Gramatical Clause
**** Gramatical Collections
*** Type: Variable
#+begin_src tex
\slide{Data — Variable}
\begin{items}
\item A reference to some data, like a pronoun but way more specific
\item Defined with a {\sc let} construction
\item Variable identifier can only be number
\end{items}
#+end_src
*** Type: Semantic
@ -284,8 +302,10 @@ Semantic packets encode concepts for use in the language. It uses a modified ver
\item pluses are encoded as {\tt \#}
\item References to variables are done by including the name of the variable in between {\tt *}
\item Non UDC notation is achieved by referencing a variable containing a string litteral.
\footnote{Non-UDC notation is used for the likes of specific dimensions, units, catalogs of specific objects, etc...}
\end{items}
\item No dictionary is directly provided by me.
\item a semantic packet with no data value is considered a “generic” akin to a non-specific 3rd person pronoun
\item No dictionary is directly provided by me.\footnote{Meta: also I didn’t want to copy numbers for 2 weeks straight}
\item Abriged version of the UDC at {\tt https://ucdsummary.info}
\item A more complte version can be obtain from the consortium, or be conuslted at a library.
\end{items}
@ -339,7 +359,6 @@ Otherwise, the string is expressed in it’s Unicode Decomposed Normalisation Fo
\end{tabular}
\end{center}
}
% TODO ADD EBCDIC TABLE
#+end_src
The EBCDIC 803 Code page is a codepage that was (and sadly still is) used by IBM mainframes in Israel. It supports the Hebrew writing system, Uppercase (but not lowercase, and no diacritics) Latin letters, numbers, and a bunch of punctuation. In practice that means that many strings, despite lacking any special characters are encoded in expanded unicode notation for the only reason that they have lowercase letters.
@ -355,17 +374,26 @@ The EBCDIC 803 Code page is a codepage that was (and sadly still is) used by IBM
* The translation, packet by packet
#+begin_src tex
\section{Translation}
\clearpage
\begin{center}
\strut\vfill
{\Huge\bf TRANSLATION}
\vfill
\end{center}
\slide{Translation}
\begin{quote}
Hark! It was ruled by Agamashuya and His son Gu Sabah: Tian practices against the lesser side of the invisible origin of light, beset by cosmetic prohibitions of silence and restraint; for Ngu, a slave to creativity, shall make inspection and certification prior to confirmation of Najva Guns’ official status. Deny thine humanity: There are no politics in real life.
\end{quote}
\clearpage
\slide{Extra info about the translation}
\begin{items}
\item This translation will be delivered as if from a a speaker in Tekalau\footnote{Meta: Because that’s the place that had the shortest fully qualified phone numbers, but also because it lets me get away with having both 69 and 42 in the phone number.}
\item This translation will be delivered as if from a a speaker in Tekalau\footnote{Meta: Because that’s the place that had the shortest fully qualified phone numbers that I could find, but also because it lets me get away with having both 69 and 42 in the phone number.}
\item It will be delivered as if broadcast to the network\footnote{Meta: Again, to keep it short}
\item There might be mistakes in the audio due to typos \footnote{Go check 10 tones per seconds for 3 minutes without perfect pitch}
\end{items}
#+end_src
#+begin_src tex
\tslide{001}{*}{01}{B}{\sc new clause}
\tslide{002}{*}{01}{B}{\sc new clause}
\tslide{003}{*}{01}{B}{\sc new clause}
@ -405,7 +433,7 @@ The EBCDIC 803 Code page is a codepage that was (and sadly still is) used by IBM
\tslide{037}{*}{01}{1}{assert}
\tslide{038}{*}{02}{2A}{\sc intransitive active clause}
\tslide{039}{0}{32}{17025A*002A\#C*C*B*534322C*161223}{prohibitions(cosmetic)::[noise:{\sc neg}+restraint]}
\tslide{040}{1}{08}{\#32325B\#}{cont}
\tslide{040}{1}{08}{\#32325B\#}{\sc continuation}
\tslide{041}{0}{05}{35501}{fight}
\tslide{042}{0}{13}{5308485D*1972}{source\_of\_light-underside}
\tslide{043}{*}{01}{0}{\sc let}

53
pres/slides.tex

@ -3,6 +3,7 @@
\SetFont{Andika}[StylisticSet=13]
\setmonofont{Iosevka}[Scale=MatchUppercase]
\newfontfamily\h{Cousine}[Scale=MatchUppercase]
\newfontfamily\jp{Noto Sans CJK JP}[Scale=MatchUppercase]
\usepackage{tikz}
\usetikzlibrary{positioning}
\newcounter{note}
@ -27,9 +28,17 @@
\color{white}#5%
\end{center}%
}
\let\sc\bf
\let\textsc\textbf
\color{white}
\begin{document}
\slide{\tt\#\#000124811A*0034\#5344A\#C*004375}
\slide{Warning}
\begin{center}
\vfill
This video may contain some mis-balanced audio because pure sine waves are very hard to balance properly. I tried my best but ¯\textbackslash\_({\jp})\_/¯, sorry in advance.
\vfill
\end{center}
\slide{\huge\textbf{\texttt{\#\#000124811A*0034\#5344A\#C*004375}}}
\vfill
\begin{center}An entry in the 3\textsuperscript{rd} annual Cursed Conlang Circus\end{center}
@ -178,16 +187,28 @@ One tone indicating the type of the Data
\begin{items}
\item Encodes Gramatical and Syntactic information
\item Has a fixed number of possible values
\item Describes a tree-like syntax
\end{items}
\slide{Data — Gramatical — Generic}
\begin{items}
\item
\item The Generic pronoun is the gramatical
\end{items}
\slide{Data — Gramatical}
\begin{description}
\item[{\tt A1}] {\sc 1sg} produces a reference to the speaker
\item[{\tt A2}] {\sc 2sg} produces a reference to the listener
\item[{\tt 1}] {\sc assert} produces a clause that the argument is true/exists
\item[{\tt 2A}] {\sc ntrans} Takes two arguments and produces the clause with the first argument as Agent and the second argument as Verb.
\item[{\tt 2B}] {\sc ntrans.passv} Takes two arguments and produces the clause with the first argument as Patient and the second argument as Verb.
\item[{\tt 3}] {\sc trans} Takes three arguments and produces the clause with the first argument as Subject, the second argument as Object, and the third argument as Verb. For an equivalent of a passive construction, simply reverse the arguments.
\item[{\tt 4}] {\sc ditrans} takes four arguments and produces the clause with the first argument as Subject, the second as Object, the third as Beneficiary and the fourth as Verb.
\item[{\tt 0}] {\sc let} takes a variable packet and a syntactic construct and assigns the syntactic construct as value of the variable. the Variable may, after this point be used in stead of the construct, this is effectively a pronoun, but not limited to just nouns and noun phrases.
\item[{\tt B}] {\sc new clause} takes 2 clauses and produces the utterance containing both clauses in succession. Can be called recursively on itself to accomodate any number of clauses,
\item[{\tt D}] {\sc ppn} takes a string litteral of a variable containing a string litteral and a qualifier and produces the matching proper noun
\end{description}
\slide{Data — Variable}
\begin{items}
\item A reference to some data, like a pronoun but way more specific
\item Defined with a {\sc let} construction
\item Variable identifier can only be number
\end{items}
\slide{Data — Semantic}
\begin{items}
@ -206,8 +227,10 @@ One tone indicating the type of the Data
\item pluses are encoded as {\tt \#}
\item References to variables are done by including the name of the variable in between {\tt *}
\item Non UDC notation is achieved by referencing a variable containing a string litteral.
\footnote{Non-UDC notation is used for the likes of specific dimensions, units, catalogs of specific objects, etc...}
\end{items}
\item No dictionary is directly provided by me.
\item a semantic packet with no data value is considered a “generic” akin to a non-specific 3rd person pronoun
\item No dictionary is directly provided by me.\footnote{Meta: also I didn’t want to copy numbers for 2 weeks straight}
\item Abriged version of the UDC at {\tt https://ucdsummary.info}
\item A more complte version can be obtain from the consortium, or be conuslted at a library.
\end{items}
@ -247,7 +270,6 @@ Raw text data
\end{tabular}
\end{center}
}
% TODO ADD EBCDIC TABLE
\slide{Data — Continuation}
\begin{items}
@ -255,17 +277,24 @@ Raw text data
\item Can chain an arbitrary number of those (until all data is expressed)
\end{items}
\section{Translation}
\clearpage
\begin{center}
\strut\vfill
{\Huge\bf TRANSLATION}
\vfill
\end{center}
\slide{Translation}
\begin{quote}
Hark! It was ruled by Agamashuya and His son Gu Sabah: Tian practices against the lesser side of the invisible origin of light, beset by cosmetic prohibitions of silence and restraint; for Ngu, a slave to creativity, shall make inspection and certification prior to confirmation of Najva Guns’ official status. Deny thine humanity: There are no politics in real life.
\end{quote}
\clearpage
\slide{Extra info about the translation}
\begin{items}
\item This translation will be delivered as if from a a speaker in Tekalau\footnote{Meta: Because that’s the place that had the shortest fully qualified phone numbers, but also because it lets me get away with having both 69 and 42 in the phone number.}
\item This translation will be delivered as if from a a speaker in Tekalau\footnote{Meta: Because that’s the place that had the shortest fully qualified phone numbers that I could find, but also because it lets me get away with having both 69 and 42 in the phone number.}
\item It will be delivered as if broadcast to the network\footnote{Meta: Again, to keep it short}
\item There might be mistakes in the audio due to typos \footnote{Go check 10 tones per seconds for 3 minutes without perfect pitch}
\end{items}
\tslide{001}{*}{01}{B}{\sc new clause}
\tslide{002}{*}{01}{B}{\sc new clause}
\tslide{003}{*}{01}{B}{\sc new clause}
@ -305,7 +334,7 @@ Hark! It was ruled by Agamashuya and His son Gu Sabah: Tian practices against th
\tslide{037}{*}{01}{1}{assert}
\tslide{038}{*}{02}{2A}{\sc intransitive active clause}
\tslide{039}{0}{32}{17025A*002A\#C*C*B*534322C*161223}{prohibitions(cosmetic)::[noise:{\sc neg}+restraint]}
\tslide{040}{1}{08}{\#32325B\#}{cont}
\tslide{040}{1}{08}{\#32325B\#}{\sc continuation}
\tslide{041}{0}{05}{35501}{fight}
\tslide{042}{0}{13}{5308485D*1972}{source\_of\_light-underside}
\tslide{043}{*}{01}{0}{\sc let}

1
tools/sounder/name.txt

@ -0,0 +1 @@
##000124811A*0034#5344A#C*004375

16
tools/sounder/sounder.sc

@ -6,7 +6,7 @@ SynthDef.new(\DTMF, { arg f1, f2, out; Out.ar(out, [SinOsc.ar(f1) + SinOsc.ar(f2
TempoClock.default.tempo = 100;
pulse = { arg f1, f2;
f = Synth.new(\DTMF, [\f1, f1, \f2, f2]);
TempoClock.sched(12, { f.free; });
TempoClock.sched(8, { f.free; });
};
playString = {|data|
r = Routine({
@ -28,13 +28,21 @@ playString = {|data|
{$D} {pulse.value(941, 1633)}
{$*} {pulse.value(941, 1209)}
{$#} {pulse.value(941, 1477)};
15.yield;
10.yield;
})
});
TempoClock.default.sched(0, r);
};
theString = File.readAllString("/home/annwan/code/projects/ccc3/tools/sounder/text.txt");
theString.postln;
playString.value(theString);
s.record(path: "/home/annwan/code/projects/ccc3/tools/sounder/text2.wav", numChannels: 1);
TempoClock.default.sched(theString.size * 15, {s.stopRecording;});
s.record(path: "/home/annwan/code/projects/ccc3/tools/sounder/text.wav", numChannels: 1);
TempoClock.default.sched(theString.size * 10, {
s.stopRecording;
theString = File.readAllString("/home/annwan/code/projects/ccc3/tools/sounder/name.txt");
theString.postln;
playString.value(theString);
s.record(path: "/home/annwan/code/projects/ccc3/tools/sounder/name.wav", numChannels: 1);
TempoClock.default.sched(theString.size * 10, {s.stopRecording;});
});
)

2
tools/sounder/text.txt

@ -1 +1 @@
#690042000*01B-#690042002*01B-#690042003*01B-#690042004*01B-#690042005*01B-#690042006*01B-#690042007*01B-#690042008*011-#690042009*02A1-#690042010*010-#690042011A010-#690042012*01D-#690042013#32*44*#0#0#0#0#0#0#4#1*44*#0#0#0#0-#690042014132#0#0#6#7*44*#0#0#0#0#0#0#6#1*44*-#690042015132#0#0#0#0#0#0#6C4*44*#0#0#0#0#0#0-#690042016132#6#1*44*#0#0#0#0#0#0#7#3*44*#0#0-#690042017132#0#0#0#0#6#8*44*#0#0#0#0#0#0#7#5-#690042018120*44*#0#0#0#0#0#0#6#1-#690042019004D*05-#690042020*013-#690042021*01C-#690042022A010-#690042023*01D-#690042024#32*44*#0#0#0#0#0#0#4#7*44*#0#0#0#0-#690042025132#0#0#7#5*44*#0#0#0#0#0#0#2#0*44*-#690042026132#0#0#0#0#0#0#5#3*44*#0#0#0#0#0#0-#690042027132#6#1*44*#0#0#0#0#0#0#6#2*44*#0#0-#690042028132#0#0#0#0#6#1*44*#0#0#0#0#0#0#6#8-#690042029016D*0551#0556C**0*-#690042030000-#690042031003328-#690042032*013-#690042033*01D-#690042034#32*44*#0#0#0#0#0#0#5#4*44*#0#0#0#0-#690042035132#0#0#6#9*44*#0#0#0#0#0#0#6#1*44*-#690042036116#0#0#0#0#0#0#6C5-#690042037*011-#690042038*022A-#69004203903217025A*002A#C*C*B*534322C*161223-#690042040108#32325B#-#69004204100535501-#6900420420135308485D*1972-#690042043*010-#690042044A011-#690042045*01D-#690042046#32*44*#0#0#0#0#0#0#4C5*44*#0#0#0#0-#690042047132#0#0#6#1*44*#0#0#0#0#0#0#6C1*44*-#690042048132#0#0#0#0#0#0#7#6*44*#0#0#0#0#0#0-#690042049132#6#1*44*#0#0#0#0#0#0#2#0*44*#0#0-#690042050132#0#0#0#0#4#7*44*#0#0#0#0#0#0#7#5-#690042051132*44*#0#0#0#0#0#0#6C5*44*#0#0#0#0-#690042052108#0#0#7#3-#69004205300511#62-#690042054*013-#690042055*01D-#690042056#32*44*#0#0#0#0#0#0#4C5*44*#0#0#0#0-#690042057128#0#0#6#7*44*#0#0#0#0#0#0#7#5-#690042058013326C*C*159954-#690042059032B*350726#34718B#C#311C*35073526C-#690042060117*C*34718C*C**1*C#-#6900420610041232-#690042062*013-#690042063*02A2-#690042064011177C*C**A2*-#69004206500532325-#690042066*011-#690042067025B*32C*C*111823B#C*1612223
#690042001*01B-#690042002*01B-#690042003*01B-#690042004*01B-#690042005*01B-#690042006*01B-#690042007*01B-#690042008*011-#690042009*02A1-#690042010*010-#690042011A010-#690042012*01D-#690042013#32*44*#0#0#0#0#0#0#4#1*44*#0#0#0#0-#690042014132#0#0#6#7*44*#0#0#0#0#0#0#6#1*44*-#690042015132#0#0#0#0#0#0#6C4*44*#0#0#0#0#0#0-#690042016132#6#1*44*#0#0#0#0#0#0#7#3*44*#0#0-#690042017132#0#0#0#0#6#8*44*#0#0#0#0#0#0#7#5-#690042018120*44*#0#0#0#0#0#0#6#1-#690042019004D*05-#690042020*013-#690042021*01C-#690042022A010-#690042023*01D-#690042024#32*44*#0#0#0#0#0#0#4#7*44*#0#0#0#0-#690042025132#0#0#7#5*44*#0#0#0#0#0#0#2#0*44*-#690042026132#0#0#0#0#0#0#5#3*44*#0#0#0#0#0#0-#690042027132#6#1*44*#0#0#0#0#0#0#6#2*44*#0#0-#690042028132#0#0#0#0#6#1*44*#0#0#0#0#0#0#6#8-#690042029016D*0551#0556C**0*-#690042030000-#690042031003328-#690042032*013-#690042033*01D-#690042034#32*44*#0#0#0#0#0#0#5#4*44*#0#0#0#0-#690042035132#0#0#6#9*44*#0#0#0#0#0#0#6#1*44*-#690042036116#0#0#0#0#0#0#6C5-#690042037*011-#690042038*022A-#69004203903217025A*002A#C*C*B*534322C*161223-#690042040108#32325B#-#69004204100535501-#6900420420135308485D*1972-#690042043*010-#690042044A011-#690042045*01D-#690042046#32*44*#0#0#0#0#0#0#4C5*44*#0#0#0#0-#690042047132#0#0#6#1*44*#0#0#0#0#0#0#6C1*44*-#690042048132#0#0#0#0#0#0#7#6*44*#0#0#0#0#0#0-#690042049132#6#1*44*#0#0#0#0#0#0#2#0*44*#0#0-#690042050132#0#0#0#0#4#7*44*#0#0#0#0#0#0#7#5-#690042051132*44*#0#0#0#0#0#0#6C5*44*#0#0#0#0-#690042052108#0#0#7#3-#69004205300511#62-#690042054*013-#690042055*01D-#690042056#32*44*#0#0#0#0#0#0#4C5*44*#0#0#0#0-#690042057128#0#0#6#7*44*#0#0#0#0#0#0#7#5-#690042058013326C*C*159954-#690042059032B*350726#34718B#C#311C*35073526C-#690042060117*C*34718C*C**1*C#-#6900420610041232-#690042062*013-#690042063*02A2-#690042064011177C*C**A2*-#69004206500532325-#690042066*011-#690042067025B*32C*C*111823B#C*1612223
Loading…
Cancel
Save