vocoder-1.1b1-x86-beos/ 40775 1750 1750 0 6575566657 14127 5ustar emanuelemanuelvocoder-1.1b1-x86-beos/vocoder100664 1750 1750 50772 6575566551 15634 0ustar emanuelemanuelMZ@ !L!This program cannot be run in DOS mode. $PELm5 222P`yJ.text02 `.bssP.excD`6@@.datap8@.idatay@@.edata`D@@.relocF@BUhpȀ10Uq0hp̀UЀSVW]E Ԁ u(pj؀܀pEP܀0'0U)¡Su u  Se_^[]SVWU@l$T$t$XD$D$XD$D$D$ |$\t|$`t|$du$t$XD$hPD$hPD$hP2D$MD$D$L$ D$D$L$ t$\$dD$T$T$DT$`D$ ‹T$T$DT$\D$ \$ T$T$DT$`D$ ‹T$T$DT$\D$ \$(\$T$\$Dd$ \\$T$\$Dd$(\D$ T$D\D$(T$D\D$D$D$;D$D$D$D$D$;D$XD$D$;D$D$\$dL$D$D$;D$t$\5\$0\5\$4t$\5\$8\5 \$<|$t$\=\5\=\5|$t$\=\5\= \5 t$\$0\5\$4\5t$\$8\5\$<\5 D$D$;D$X9<$t't$\t$`t$d@]_^[SVt$$|$t|$t|$ u$VD$$PD$$PD$$P1T$T$C9|t$ t$ t$ Vt$ <$t)t$t$t$ 1T$T$C9|^[SVWU|$(l$,t$0D$D$0P'L$$D$0P}'D$0Pk'E$eD$0$0p\$t$ t$ D$$$t$ t$ $t$t$] $$$;D$0|]_^[SV\$ 1!D$<D$|\F;t$|^[SVWULl$`D$dP&D$,$|$4$$\$D$VSD$D$;D$d|عjjjD$pPWGt$d]D$D$dD$8p\$$t$(t$(\$hsD$>P  thsD$>P  t1mhsD$>P  T$ D$ |SjjD$[P=sFC % th sC+C % t$0(Ph\sD$SS D$)hsD$SP  StD$S[ S\D$S_\$D|$ t3SjjD$KPC % thsD$ChsD$CP,D$KhsD$SP  u4S D$S D$S0D$D$%D$!T$)T$jt$ S4 D$;D$v|$uhs|$!uh$th\tD$CP  thdtjt$)S4 j$ GfG D$D|$-fL$- l$-\$-T$-|$-fd$-l$-D$FD$FnT]_^[SVW|$\$SЙˆ$Wjjht8Wh[ Wjjht8Wjjht8Wj* WSRWh WSRW$M Wjjht8Wh Wj Wj j$FfF _^[SVWUt$~FЃu/>W(O( tW$G$Wj jj64 6VЙV.R jj64 6v jj*64 6VЙVR ]_^[SVWUH1t$\\$`D$ D$D$D$D$%D$)D$-VjjD$EPD$=htD$=P  tAVW D$VjjD$JPD$BhtD$BP  t1D$ 7VjjD$OP=sFF % thtJ+F % t$0(PhuD$GV D$1hXuD$GP  u^V D$ Vz D$V_ VT D$VU D$f|$ uV@ D$D$)5h`uD$GP  uD$1D$V0D$%D$-T$1T$jt$ V4 D$;D$|$)uhhu$|$-uhuf|$ thu T$ЙD$‰T$!jt$)V4 j$FGf|$ D$5D$5D$5fG +D$CD$CD$!CH]_^[SVWU|$t$jjhu8t$hᆳt$jjhv8t$jjhv8t$j~t$j t$GP t$7Qt$WЙWS't$WЙWS t$GP t$jjhv8t$hᆳj$ E $$$fE ]_^[S\${uejj34 3SЙS$ROjj(34 3SЙSR[SVWUl$h0vt$5 $1tk vte] Ut$k v t8UWU WUWGG$4$0G 6jjt$4 C|4$<t$h4v 1]_^[SVWUl$hXvt$u USu k v u12UWU WGGGS0G ]_^[SV\$ t${uh\vY ;s~hvG jSЙS R34 s^[VW|$ Wk vtWwk v7<W_^SVWU1t$$$$@ % t1V+V;T$,s V+VT$,~uX1L.U(M( tU$E$T$U@D$D$D$ T$ D$(N )fxG;|$,r_~uL~t#16f+F L$(fyG;|$,r016f+F L$(fyG;|$,rhvD$D$@ % t$0(Phw~]_^[SVWU1|$$uj`D$D$(hW Ӊ$D$P(D$H( t!D$P$D$@$$T$ t$t$ D$ E;l$,reuRt&17D$,hW SE;l$,r317D$,hW SE;l$,rhwD$D$@ % t$0(PhPwoo]_^[SVWU\$(S(K( tS$C$ S@ʼn,$S(K( tS$C$ S@lj|$S(K( tS$C$ S@Ɖt$S(K( tS$C$T$S@D$D$D$ L$$ ыT$ L$ ȃ]_^[SVWUt$,\$0$T$T$T$ S(K( tS$C$$T$St$ D$S(K( tS$C$D$St$ ŋS(K( tS$C$D$T$St$  D$S(K( tS$C$D$ St$ ǃ]_^[SVWU\$(S(K( tS$C$ S@ʼn,$S(K( tS$C$ S@lj|$S(K( tS$C$ S@Ɖt$S(K( tS$C$T$S@D$D$D$ L$T$  ыT$ $ȃ]_^[SVWUt$,\$0$T$T$T$ S(K( tS$C$D$ T$St$ D$S(K( tS$C$D$St$  ŋS(K( tS$C$D$T$St$ D$S(K( tS$C$$St$ ǃ]_^[SVWU\$S(K( tS$C$ S@ƉS(K( tS$C$ S@lj<$ $Ѓ]_^[SVWU|$\$ $ׁT$S(K( tS$C$$St$ ŋS(K( tS$C$D$St$ ƃ]_^[SVWU\$S(K( tS$C$ S@ƉS(K( tS$C$ S@lj<$$ Ѓ]_^[SVWU|$\$ $ׁT$S(K( tS$C$D$St$ ŋS(K( tS$C$$St$ ƃ]_^[à t$jj D$PD$P2 à D$Pt$t$ t$jj D$P8 SL$T$)ʹЙT$5|PhpwPD St$ PH hxwPDj[St$L uh|w\[SVt$ t$VP u $0(PVhw ^[SV$\$8D$0EuwL$0\$01D$0D@uD$$D$VD$Pt$8t$8T \$|$@D$Et T$$D$D$?|$}!t$t$t$X \$D$ t$j t$t$X \$t$t$\T$%w|$fL$ l$\$T$|$fd$l$$j D$ l$$X \$t$t$\T$%w|$fL$ l$\$T$|$fd$l$T$T$T$S$S$S$S$CT$ST$ST$SD$C $^[SVWUt$(V ӊVߊ^ ӊV ӊV Ӊ$^V ӊV ӊV u<$u uD$ D$u`\$ Z\$d?WT$T$D$w$X \$ WT$D$w$X D$ \$ %% tD$ D$ ]_^[øU%T%USVHEjHPhG@P }v֍CË3 ue^[]IUxPrrxP u%QL$ T$Y25@>@G@J@&@ `@`!DT!NO_ENVIRON=truep-DT!@-DT!@@@@@Zerius Vocoder 1.1b1 Copyright (C) 1996-1998 Emanuel Borsboom email: emanuel@zerius.com / web: http://zerius.com/vocoder/ `p%3d%% || %ld/%ld %s usage: %s [-q] [-N] [-b ] [-w ] [-v ] carrier must be mono (1 channel)modulator must be mono (1 channel)window-length must be > 1 and a power of two (the closest power of two to the number you entered is %d)window-overlap must be >= 0 and <= window-length/2band-count must be > 0 and <= window-length/2%s window-length: %d window-overlap: %d band-count: %d volume: %.2f FORMAIFFAIFCAIFCaiff_open: bad format: EOF encountered where chunk expectedaiff_open: bad format: error encountered where chunk expected: %sCOMMaiff_open: bad format: EOF encountered in common chunkNONESSNDaiff_open: bad format: did not find common chunkaiff_open: bad format: did not find sound data chunkNONEaiff_open: bad format: compressed AIFF-C files not supportedFORMAIFFCOMMSSNDRIFFWAVEriff_open: bad format: EOF encountered where chunk expectedriff_open: bad format: error encountered where chunk expected: %sfmt datariff_open: bad format: format chunk not foundriff_open: bad format: data chunk not foundriff_open: bad format: only PCM data is supportedRIFFWAVEfmt data-'{*+_,7/0rbwave_open %s: unknown formatrbwbwave_seek: seek only supported for files opened in read modewave_seek: attempting to position out of filewave_read: only 8-bit and 16-bit audio supportedwave_read: read error: %swave_write: only 8-bit and 16-bit audio supportedwave_write: write error: %s%s: malloc: out of memorycalloc: out of memoryfopen %s: %sAAAA(nȀh́&FNV^fnxʂւ".8BLV`h́&FNV^fnxʂւ".8BLV`w_RegisterExceptionTablesy_UnRegisterExceptionTablesRargv_saveenvironfind_thread__main_thread_id_kget_thread_stacks__data_offset_main__call_init_routines_D_thread_do_exit_notificationexitfreescossinsqrtMprintf_files__put_charfflush\atoi[atoffreadstrcmp_errnopstrerrorstrcpyftellfseekfwritefclose__get_charfprintfvfprintf$mallocfopenfrexpldexpfloor__huge_vallibroot.som5<(08BQBeApp_init_routine__term_routine_@0 0"0(050M0Y0a0j0w000000333-4:4G444 56%6:6p666 7s77-8<8L8R8h8z888888 99999::::::::::::;;;-;3;9;G;N;T;Z;h;o;u;{;;;;;;;;;;;;;;<<<$<@>">;>S>]>i>>>>>>>>?? ?3D3d3l3r3333333 44!4-4N4X4a4k4x44444444445 5%555=5D5R5[5c5j5x5555555555555556 666.636D6I6Z6_6p6w6}666666666666677 777777777788A8\8x8888899/9:9L9W99999999:::::::2;8;;;<.<<<<<==:=U=q=y====>!>7>^>{>>>>K?Q?r?x???0;0A0001/1E1|111111$2F2X222222933333t44555Z5555666%7`7777888+9f99:3:n:: ;;;^;;;;;;;< <<<%<5>????@0V0n0w0000`0000 0(00080p00(0066 6$6(6,6ODDD{ 0,@N pa  <9DDh("application/x-vnd.Be-peexecutableSMIM BEOS:TYPE vocoder-1.1b1-x86-beos/CHANGES.txt100644 1750 1750 1534 6575566657 16036 0ustar emanuelemanuel------------------- 1.0 (December 1996) ------------------- Official release. Works flawlessly (yeah, right). -------------------- 1.0.1 (January 1997) -------------------- Minor changes to fft/error.c to allow to make definitions of emalloc() and ecalloc() agree with the prototyes. Updated the README to reflect the existance of a MacOS version (which is a bit different from the others). ---------------- 1.1b1 (July 1998) ---------------- Mostly re-written. Support for AIFF files. Dramatic reduction in memory use. Amount of memory used is now proportional to the window length instead of the size of the input files. Improved quality. S's and T's come out much more clearly. Chanks to Tero Karras for the tip! Intelligent defaults for most of the command-line arguments. The Java version has been discontinued. vocoder-1.1b1-x86-beos/README.txt100644 1750 1750 16524 6575566657 15750 0ustar emanuelemanuel======================================================================== Zerius Vocoder 1.1b1 README ------------------------------------------------------------------------ Emanuel Borsboom July 1998 ======================================================================== This program is used to make speech sound cool. It imposes the vocal effects of speech onto another sound. This technique has been made popular by artists such as Kraftwerk and Laurie Anderson. ------------ Installation ------------ If you are using the C source distribution, the first step is to compile the vocoder. Uncompress the archive and glance over the Makefile, making sure the variables are all right. The defaults should work for most UNIX environments. Also check config.h and make sure that S32, U32, S16, and U16 are defined appropriately as signed and unsigned 32-bit and 16-bit integers, respectively. The defaults should be fine for most 32-bit platforms. Once finished, run 'make' to compile the vocoder. Once you have the executable (or if you have downloaded a binary), you can copy it to the directory where you keep your binaries, or just run it where it is. ----- Usage ----- Run the vocoder from the command-line using the following syntax: vocoder [-q] [-N] [-b ] [-w ] [-v ] (Note: this version also supports the version 1.0 syntax in order to be compatible with already existing front ends). If you are using the MacOS version, you will have the opportunity to enter values for each of the parameters. ---------- Parameters ---------- is the path to a sound file that contains the modulator waveform (required). is the path to a sound file that contains the carrier waveform (required). is the path to the output sound file (required). -q turns off any displays. -N turns off normalizing the output with respect to the carrier. -w sets the number of samples that will be analyzed at a time, and must be a power of two (defaults to about 1/15th of a second worth of samples). -o sets the number of samples that the windows will be overlapped (defaults to one half of the window-length). -b is the number of frequency bands that the carrier will be modulated with (defaults to 16). -v sets the volume the output will be scaled by (defaults to 1.0). The input sound files must be mono, 8- or 16-bit linear, uncompressed AIFF or WAVE files. The output sound file will have the same format as the modulator (regardless of the file extension you give it). ----------- Explanation ----------- This channel vocoder works by analyzing the frequencies in the modulator, splitting them into bands, finding the magnitude of each band, and then amplifying the corresponding bands of the carrier by that magnitude. The modulator should simply be speech. It works best of you speak very clearly and more slowly than usual. The carrier should be some kind of frequency rich waveform. White noise works well. Periodic white noise (i.e. a very short sample of white noise) gives a "robot-like" sound. Another one that sounds good is a synthesized string chord. This waveform will automatically be looped. You can get interesting results by having the waveform change over time. Since what you pronounce changes over time, it would be pointless to analyze the entire modulator waveform and excite those frequencies in the carrier at once. Instead, the program splits the modulator into "windows", which it processes one-at-a-time. The window-length specifies how many samples are in each window. You will want at least a few windows for every syllable. If this number is too large, the output will be not be very understandable. If it is too small, you will have other problems. Around 1/15th of a second (or the sampling rate of the sound file divided by 15) tends to sound good, but experiment to find the right value. To give you an example, anywhere from 512 to 2048 is okay for a modulator with a sampling rate of 44.1 khz. If you half the sampling rate, you should half the window-length, etc. The window-length must be a power of two due to the technique that us used to analyze the frequencies. For those of you who are unfamiliar with the term "power of two," it means a number that can be created by multiplying some number of two's together. For example, the following numbers are the powers of two up to 4096: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 You get the next power of two by doubling the previous one. Since the sound is processed in discrete windows, the output can change very abruptly where it goes from one chunk to the next. This is audible as a click. To remedy this, the program can have the windows overlap and cross-fade between them. The window-overlap specifies how many samples of overlap there are between windows. 1/8th of the window-length tends to be a good starting point, but in many cases, one half of the window-length gives the best results. This may not exceed half of the window-length. In order to excite the frequencies in the carrier, the frequencies of the modulator are split into bands. The larger your band-count, the more the output will sound like the modulator. This number should evenly divide the chunk-length for the best results. Somewhere between 8 and 64 usually sounds best. The band-count may not exceed half of the window-length. If you find that the output is clipped (distorted) or is too quiet, you can specify a value for the volume. Anything less than one will reduce the volume, and anything greater than one will increase it. While the defaults for the parameters generally produce decent results, the best results will be achieved by changing their values. The best way figure out all the numbers and what the best waveforms are is to experiment. Have fun! ---------------- Closing Comments ---------------- Please see the web site at http://zerius.com/vocoder/ for the latest information. The latest version will always be available from there, or from the FTP site at ftp://ftp.zerius.com/pub/zerius/vocoder/ If you have any problems, don't hesitate to contact me. I am always pleased to help. Also, drop me a line if like this program, or have any suggestions. I am especially eager to hear your creations. If you release some music utilizing the vocoder, please tell me so I can try to find it (freebies are always accepted)! My e-mail address is emanuel@zerius.com. Chanks to Cody Jones for porting to MacOS. This is a beta version, so I appreciate any bug reports. --------- Copyright --------- The Zerius Vocoder is Copyright (C) 1996-1998 Emanuel Borsboom. The FFT code (contained in fftn.c, fftaux.c, fft.h, and spt.h) is Copyright (C) 1993 Steven Trainoff. The code for converting to and from IEEE floating-point numbers is Copyright (C) 1988-1991 Apple Computer Inc. You are free to do whatever you like with the vocoder, as long as the copyright notice stays intact and you note any changes. There is no warranty.