1Welcome to the wonderful world of Enscribe 0.1.0!
2
3Enscribe is free software, released under the General Public License. Make sure
4you read the file LICENSE which was included with this file. You should know
5that there is no warranty on theis software for any reason whatsoever. If it
6eats your dog, you're just out of luck.
7
8
9What does Enscribe do?
10
11Enscribe creates digital audio watermark images from photgraphic images.
12
13These images can only be seen using a third party frequency vs time display,
14such as my favorite, Baudline (http://www.baudline.com).
15
16Images are still visible even after such audio mangling techniques as MP3/Ogg
17compression, reverb, chorus, etc. Heavy EQ and flange can stripe out vertical
18sections, but they can also ruin an otherwise good song too.
19
20
21How does it work?
22
23You give it an image file (JPG, PNG, WBMP) and it outputs an audio file.
24
25The scanlines of the input image are converted into frequency components and
26then using an inverse Fast Fourier Transform, are converted into sound. The
27left side of the image is the low frequency end, and the right is the high end,
28up to just under the Nyquist limit if you want it to.
29
30Supported audio formats include Microsoft WAV, Apple AIFF, Sun Microsystems AU,
31and raw output. Raw output can also be sent to stdout.
32
33The audio images sound like high pitch buzzing or hissing.
34
35
36Colors!
37
38Because Baudline can display stereo images in two tone color (one for right,
39the other for left), color can be encoded into the audio file. It's not
40perfect, since there are only two color axes, and it is dependent upon your
41viewer, but it's still pretty cool. Baudline's default axes are green and
42purple, but I like red and cyan on my display.
43
44Erik Olson, the author of Baudline, had an interesting idea about encoding a
45third color channel using phase lag between the left and right channels. Using
46the "-monet" switch in Baudline activates a psuedo-third color channel based on
47the differences in those signals. While I'm still having trouble with getting
48the hues right, it still looks dang cool.
49
50Here are the relevent switches:
51
52 enscribe -color=monet
53 baudline -monet
54
55
56Okay, what can I do with this software?
57
58You can use software such as Ardour or Audacity to blend this audio file in
59with another, thereby marking the audio with secret messages or pictures of
60your dog.
61
62You can put copyright information in also, but it probably wouldn't be long
63before someone figures out how to erase those (C) watermarks.
64
65
66Compiling
67
68Enscribe is distributed as source. To compile it, you need gcc and the
69following software libraries installed:
70
71 gd
72 gd-devel
73 libsndfile
74
75All are available through http://freshmeat.net
76
77When ready, type
78
79 make
80
81And if you want it available system wide, as root type
82
83 make install
84
85
86Usage and Options
87
88Enscribe has quite a few options, to see them all, type "enscribe -help"
89
90Here's a sample:
91
92
93Enscribe 0.1.0 (c) 2004-2008 Jason Downer
94Homepage: http://jbd.zayda.net/enscribe/
95
96This is ALPHA software.
97
98Enscribe is free software, distributed under the General Public License.
99
100There is NO warranty; not even for MERCHANTABILITY or FITNESS
101FOR A PARTICULAR PURPOSE.
102
103Usage: enscribe [switches] input_image output_audio
104Valid image formats: Jpeg, Png, WBMP, Xbm, GD, GD2
105
106Switches:
107 -inverse, -i Inverse (negative) input image
108
109 -color=[mode] Sets color conversion method for the input file:
110 g greyscale
111 m monochrome, ugly
112 rc red and cyan (default)
113 oa orange and aqua
114 yb yellow and blue
115 gp green and purple (for Baudline(TM) )
116 wb reyscale on left, inverse on right. Weird.
117 monet pseudo 3-color for "baudline -monet" display.
118
119 -transform-size=[size] iFFT blocksize:
120 -ts=[size] 0 = 512
121 1 = 1024 (default)
122 2 = 2048
123 3 = 4096
124 4 = 8192
125
126 -lf=[start] Set low frequency start of image (default=0%)
127 -hf=[stop] Set high frequency stop of image (default=100%)
128 -hiss, -h Uses hissing rather than buzzing
129 -oversample, -o 4X oversample audio (adds hiss)
130
131 -mono, -m Produce mono ouput audio file.
132 -stereo, -s Produce stereo ouput audio file (default).
133 -rate=[rate] Set audio sample rate (44100 default).
134
135 -wav Output wav audio (default)
136 -aiff Output aiff audio data
137 -au Output au audio data
138 -raw Output raw audio data
139 -stdout Output raw audio data to <stdout>
140
141Subformats
142 -de File format default endian-ness (default)
143 -le Little Endian
144 -be Big Endian
145 -ce Your CPU's endian-ness
146
147 -pcm8 Signed 8-bit data
148 -pcm16 Signed 16-bit data (default)
149 -pcm24 Signed 24-bit data
150 -pcm32 Signed 32-bit data
151 -float 32-bit floating point
152 -double 64-bit floating point
153 -ulaw U-Law
154 -alaw A-Law
155
156 -mask filename Use sound "filename" as FFT mask
157 -length=[seconds] Specify a length in seconds (may lose some detail!)
158
159
160A typical use of this command would look like:
161
162 enscribe -oversample -lf=5 -hf=70 -color=yb -wav north.jpg output.wav -length=20.0 -mask pianosound.wav
163 lame output.wav north.mp3
164
165
166MISC
167
168Note that only greyscale and monochrome are supported in monoaural mode.
169
170To reduced buzzing, I recommend always using the -hiss or -oversample switches.
171They do reduce image quality, but they sound better, and are more impervious to
172digital mangling.
173
174MP3 and Ogg encoders are LOSSY encoders, and what they like to lose most are
175the upper harmonics of a file. If you are going to compress your output audio,
176I suggest you bring down your high frequency stop to around 65 or 70 like this
177"-hf=70".
178
179If you are using your file in a lossless way, feel free to place your images
180anywhere in the spectrum, they should survive just fine.
181
182
183I hope you enjoy playing around with this software. Feel free to send me
184suggestions, bugs, or links to cool files you've made.
185
186Jason Downer
187jbd@cableone.net
188http://jbd.zayda.net/enscribe/
189