|
Author
|
Topic: SSCSSS Version 2.0
|
drb
EX5Tech Veteran
Member # 72
|
posted February 25, 2003 11:50 PM
SSCSSS Version 2.0 is now available on the downloads page. This program generates EX s1m files containing single cycle samples and waves ready to assign to AWM elements from a specification of the harmonic spectrum. This new version hopefully makes generating single cycle samples and sets of waves using them easier. For more information see the description on the downloads page... Or, better yet, download it. Note -- an MS Windows executable and source code is included. drb [ February 26, 2003: Message edited by: Ski ]
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
Ski
EX5Tech Host
Member # 1
|
posted February 26, 2003 12:36 AM
drb is always direct, simple, basic, and "to the point". His post above is no different, except that I would use one additional adjective: UNDERSTATED!SSCSSS v2 has MANY EXcellent new features, including new ways to create waveforms, filters, and even formants! I think that some of you have been scared away by SSCSSS in the past because you see it as a geeky command line based utility. Well, it IS still a command line utility, but fear no more... This version has a simply OUTSTANDING set of documentation. Along with the usual installation instructions and such, drb has included no less than TEN tutorial style examples. They cover the range from the most basic waveform creations, through complex harmonics with filters, formants, and even conditional logic! This thing is like having a massive additive synthesizer on steroids... that saves your creations in EX5 format .S1M WAVE files ready to load into the blue beast! Don't miss it! ____________________ Ski www.ex5tech.com
Posts: 5102 | From: Texas | Registered: Jun 2001 | IP: Logged
|
|
|
|
|
|
Ski
EX5Tech Host
Member # 1
|
posted February 26, 2003 01:26 PM
JW - You don't need to be "good at this 'single cycle' stuff". SSCSSS does all the work for you with regards to creating the samples, putting them into an .S1M file, creating the WAVE(s) within the .S1M file, etc.What you have to be "good at", or really, just "interested in", is creating your own sounds using additive synthesis and/or formants... and of course, PLAYING those sounds on your EX5! ____________________ Ski www.ex5tech.com
Posts: 5102 | From: Texas | Registered: Jun 2001 | IP: Logged
|
|
|
|
|
|
Ski
EX5Tech Host
Member # 1
|
posted February 26, 2003 04:21 PM
JW: I hope you know I mean no offense when I say this, but you're still TOTALLY missing the point...SSCSSS is NOT a tool for working with YOUR existing .WAV files. SSCSSS is a high powered ADDITIVE SYNTHESIZER that outputs samples into an EX format .S1M file. It's like you having a Kawai K5000 additive synth, coming up with a cool creation, then sampling it, then loading your .WAV Samples into the EX5, then creating the EX WAVES with all the mapping/tuning/etc. data to contain all your Samples, etc. Except that SSCSSS does all of the grunt work for you! All you have to do is the "additive synth programming", like you'd do on the K5000. Programming an additive synth sound can range anywhere from very simple to very complex, depending upon what you want to accomplish. Of course, in addition to the "standard" additive synthesis functions, SSCSSS v2 has new features that let you work with formants, and apply filtering, among other things. Again SSCSSS is essentially a SYNTHESIZER that creates samples for use in your EX5. Everyone: The SSCSSS v2 archive is only about 1 mb. I highly recommend downloading it and reading the documentation, especially the tutorials. This will give you a much better idea of what this great program is about.
____________________ Ski www.ex5tech.com
Posts: 5102 | From: Texas | Registered: Jun 2001 | IP: Logged
|
|
|
|
drb
EX5Tech Veteran
Member # 72
|
posted February 27, 2003 12:28 PM
JW,No offense taken. It is different. Thanks for looking. drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
piper
EX5Tech Team
Member # 51
|
posted February 27, 2003 03:56 PM
drb,I haven't had a chance to actually generate any of your single cycle waves to load into my EX yet. I am looking forward to it. However, I did spend a while looking through your docs and code last night. All I can say is I am totally awestruck at your depth of understanding of the math behind digital sound file creation. This combined with your bit by bit understanding of the .s1y structure puts you in a pretty rarefied league. And then combining these skills with some C programming and freely sharing with the rest of us. While some will be put off by the need to deal with that barren DOS prompt and may have to struggle to get their head around just what needs to go in the .in data file, you have put together something that is quite different from, but certainly in the same league as ex.factory. In my mind you are right up there alongside Ski, Derek and the other uber-gurus we have here. Thanks.
Posts: 1696 | From: Sacramento, CA | Registered: Jun 2001 | IP: Logged
|
|
|
|
|
|
|
|
|
|
|
|
drb
EX5Tech Veteran
Member # 72
|
posted March 02, 2003 08:33 PM
Da'Cook,Thanks. JW and Bill, I think you may be overestimating the difficulty. drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
|
|
|
|
Airy
EX5Tech Veteran
Member # 58
|
posted March 04, 2003 02:08 PM
For people with MacOS X who want to play with sscsss 2.0, my Mac port is available here : http://airy.andre.online.fr/EX5/sscsss.tar.gz The archive include the Mac sscsss application with full souce code, and drb sources (slighty modified to be able to pass path to init.s1m) and drb nice documentation. It's just a simple GUI that lets you choose the .in file without having to use the command line. I just hope I did not break too many things... Maybe Ski could copy it on EX5Tech so it would be easier for MacOS X users to find it ? Airy ps : it has not been tested with MacOS 10.1.x, only MacOS 10.2.x. Anyway, if you want to make music with MacOS X, going to 10.2 is quite mandatory... [ March 04, 2003: Message edited by: Airy ]
Posts: 262 | From: Paris, France | Registered: Jun 2001 | IP: Logged
|
|
bill
EX5Tech Veteran
Member # 90
|
posted March 05, 2003 07:25 PM
drb: since you made an additive program i assume you know a little about its history? additive was the first. they were unwieldy university type thingies. always considered very cerebral, difficult to program and expensive to implement.the problem was that people were trying to use it to emulate acoustic instruments. this was before sampling, which takes care of that problem quite nicely. additive can get close, but its still not the 'real thing'. i like to use additive to make sounds that aren't available naturally. and to do this is not that hard. just play around with it till you get something you like. if you do a searh here, you will find that i've always been a big advocate of additive. i had a kawai k5m in the past and currently have a k5000w. it's possible to get sounds with them that you can't get with any other method. i know people say tis a lot about different types of synthesis, and it may be true for some others such as granular, but additive sounds the best to me. i like it for it's clarity/pureness of sound. but if you have access to formant filters, it can scream like a banshee - long live additive!
Posts: 2294 | From: USA | Registered: Jun 2001 | IP: Logged
|
|
drb
EX5Tech Veteran
Member # 72
|
posted March 05, 2003 08:19 PM
Bill,Yes, I know a bit about "additive synthesis" as that phrase is usually used. SSCSSS is similar to, but not exactly that. The general case assumes that you are controlling the amplitudes and frequencies of a lot of sine wave generators over time. SSCSSS, of course, is making single cycle samples, so there is no change ever time. It's raw material for the EX to do more with. The sort of thing I have in mind is creating a related set of waves for one voice so that in addition to filters, the relative amplitudes of the elements can affect chosen parts of the sound. If you look under miscellaneous/additive in the docs, however, it is possible to use SSCSSS to make the EX an additive synthesizer in the more usual sense -- up to 64 sines but with the usual EX problems of starting that many elements at once. The single cycles of the samples are literally created by adding sines. drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
|
|
bill
EX5Tech Veteran
Member # 90
|
posted March 07, 2003 04:57 PM
drb, of course, i understand what you are saying. layering frequencies is the essence. in the time span of a single cycle, envelopes, etc. are not possible.in your program, are you able to pick any frequency (wether harmonically related or not). and also, is it possible to set individual amplitudes for those frequencies? naturally, they would be static settings, but with just these 2 settings, all the building blocks for SC waves are there.
Posts: 2294 | From: USA | Registered: Jun 2001 | IP: Logged
|
|
drb
EX5Tech Veteran
Member # 72
|
posted March 07, 2003 06:22 PM
Bill,All partials within one sample are harmonically related to the lowest frequency of that sample. Otherwise, "single cycle" would not be defined. Or, in other words, if (1) the frequencies of the higher partials are not whole number multiples of the frequecies of the first partial and (2) the whole sample is limited in length to one cycle of the lowest partial, then the higher partials would be cutoff in mid cycle resulting in an effect like sync on an analog synthesizer (or the AN algorithm). Which could be interesting, but whould defeat trying to set amplitudes on individual partials. However, though the 1st harmonic is usually the pitch, it is not necessarily. A game that I have thought of, but not worked on yet, is using sparse harmonics to simulate non harmonic partials as far as hearing, not math, is concerned. For example if a very low 1st harmonic was used, but all partials had zero amplitude until, for example, harmonic 20, then the next non zero amplitude harmonic was not 40, but say 41 and so forth, the ear is "looking" for something close to a harmonic series and may interpret the series as starting at the mathematical 20th harmonic. For the current version of sscsss, this would be a fair amount of work. Of course, the easier thing to do is use different frequencies in different elements of the same voice (or multiple voices). Most of the new features of version 2 over version 1 have to do with, hopefully, making it easy to set different amplitudes for different harmonics. That's what the offset, filter, and formant commands do. Offset also allows changing the phase. I hope this helps some. What did you mean by "SC wave"? drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
bill
EX5Tech Veteran
Member # 90
|
posted March 07, 2003 08:36 PM
interesting stuff!! i didn't know that about non-harmonic partials in a SC (lazy shorthand for single cycle) wave, but it makes perfect sense and i can almost visualize it.as to the other stuff, i have tried eliminating the lowest partial and using the 2nd or 3rd as a base with good results. when jumping up in large intervals, it's hard to perceive the gaps as a single sound -they stand out as individual sounds. my hearing has deteriorated drastically and the partials go out of range. the kawai stuff was capable of 128 partials, but most of them were useless. they say the out of hearing range partials impart 'energy' or 'spaciousness', but it never came through for me. also skipping partials works very good - one of my favorites is #1 - #4 - #7 - #10, etc. (skipping 2 partials in between each one), and keeping the fundamental lower in volume. it gives a very nice 'hollow' type sound which is very usable. i have a week or 2 of work left on the house, and then i can get back to more experimenting with music stuff. thanks for the insights. by the way, where did you learn to do this type of stuff? writing this program, i mean. is there a specific language you used? would it take a long time to learn it?
Posts: 2294 | From: USA | Registered: Jun 2001 | IP: Logged
|
|
drb
EX5Tech Veteran
Member # 72
|
posted March 07, 2003 10:44 PM
Bill,For the large intervals -- 1 - have the mathematical pitch way below the heard pitch 2 - have the non zero amplitude harmonics in nearly whole number multiples of the lowest non zero amplitude harmonic for example 20 (1 times 20) 41 (2 times 20) 62 (3 times 20) etc. The number of partials in hearing range differs drastically with the pitch. SSCSSS will generate, for example 300 harmonics for the low note on an EX5 and only 4 for the high note. (With the upward pitch bend set to 7 notes) Middle C has 47 harmonics in this example. The "%" operator for conditions is useful for the type of "skipping" you describe. "condition % 3 1" will generate harmonics 1, 4, 7, 10 ( 1 / 3 = 0 remainder 1, 4 / 3 = 1 remainder 1, 7 / 3 = 2 remainder 1 etc. ) That is, if the remainder after dividing the harmonic number by 3 is 1, include the harmonic. "condition % 3 2" would give 2, 5, 8, 11, etc. The program is written in C. I restricted myself to standard ANSI C and standard ANSI libraries so that the same code would compile under Linux and Windows. Airy (see above) has also compiled it under MAC OSX. The book I learned C from is "The C Programming Language" 2nd Edition by Kernighan and Ritchie. I don't know what your programming background is. C is reputed to be a difficult 1st programming language to learn. It was not my first. I used C because I thought its low level would help do the low level manipulations required to generate the s1m file. Hal Chamberlin's "Musical Applications of Microprocessors" is a good book on digital synthesis programming, though the hardware is old. "The Computer Music Tutorial" by Curtis Roads is a newer one. The most time consuming parts of the program were (1) reverse engineering the s1m format and (2) figuring out what I wanted to do for version 2. I have been programming (but not audio programming) for 20+ years for a living. drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
Ski
EX5Tech Host
Member # 1
|
posted March 12, 2003 12:25 AM
Did no one notice, or did no one have the heart to tell me that I'd misspelled "SSCSSS" in the banner graphic?! It's now fixed, but it used to read "SSCSS" rather than "SSCSSS". This program is almost as bad as spelling "Mississippi"! Sorry about that, drb! ____________________ Ski www.ex5tech.com
Posts: 5102 | From: Texas | Registered: Jun 2001 | IP: Logged
|
|
drb
EX5Tech Veteran
Member # 72
|
posted March 12, 2003 04:49 PM
Ski,Oh NO! I didn't notice. And I once thought of "simple single cycle set of sample sets synthesizer" -- but, decided I had had enough fun with s's. drb
Posts: 187 | From: | Registered: Jun 2001 | IP: Logged
|
|
|
|
|