Aktualizacja – jest dobrze 
1. Dekoder z repozytorium modem (nie ofdmtv) dekoduje tego wave'a, w wyniku powstają dane CRS
2. Dekoder z repozytorium crs umie te dane poskładać w obrazek
Czyli najpierw z .wav na .crs:
$ mkdir /tmp/crs && for n in $(seq 1 7); do modem/decode /tmp/$n.crs /tmp/sox.wav $n; done
A potem z .crs na .jpg (crs/decode):
$ crs/decode test.jpg /tmp/crs/*.crs
I mamy obrazek.
CRS wydaje się być formatem pośrednim, wprowadzającym korekcję błędów (na to wskazuje też rozwinięcie skrótu, Cauchy-Reed-Solomon), ale nie zagłębiałem się tak bardzo. Podejrzewam że można zakodować tym modemem dowolne dane, a obrazek jest opakowywany w CRS dla lepszej niezawodności dekodowania.
Zakładam też, że fetch() z posta powyżej nie zwraca obrazka, tylko dane CRS – ale skoro mamy działający dekoder w repozytorium 'modem' to nie trzeba bawić się tym z assempix.
1. Dekoder z repozytorium modem (nie ofdmtv) dekoduje tego wave'a, w wyniku powstają dane CRS
2. Dekoder z repozytorium crs umie te dane poskładać w obrazek
Czyli najpierw z .wav na .crs:
$ mkdir /tmp/crs && for n in $(seq 1 7); do modem/decode /tmp/$n.crs /tmp/sox.wav $n; done
A potem z .crs na .jpg (crs/decode):
$ crs/decode test.jpg /tmp/crs/*.crs
I mamy obrazek.
CRS wydaje się być formatem pośrednim, wprowadzającym korekcję błędów (na to wskazuje też rozwinięcie skrótu, Cauchy-Reed-Solomon), ale nie zagłębiałem się tak bardzo. Podejrzewam że można zakodować tym modemem dowolne dane, a obrazek jest opakowywany w CRS dla lepszej niezawodności dekodowania.
Zakładam też, że fetch() z posta powyżej nie zwraca obrazka, tylko dane CRS – ale skoro mamy działający dekoder w repozytorium 'modem' to nie trzeba bawić się tym z assempix.