electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » How-tos
Software recommendation needed
Post new topic   Reply to topic
Page 1 of 1 [7 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
iVoid



Joined: May 05, 2017
Posts: 2
Location: Extra Dimensional Void

PostPosted: Fri May 05, 2017 7:06 pm    Post subject: Software recommendation needed Reply with quote  Mark this post and the followings unread

I'm looking for software that can help me create my own sounds right down from the waveform, mathematically, as well as editing and applying filters, I thought of coding my own filters, so I can fully experiment and learn a few things in the process, but I wouldn't mind if it also had a good filter library of its own. I guess the correct term for what I am describing is sound synthesis?

Being completely new to this my first thought was Matlab xD because I'm familiar with it, though I never used it for sound, but I thought someone here might be more experienced and know a better option Smile I'd also be interested in hearing your opinion about this kind of mathematical approach to sound synthesis compared to other options.

I'd also like a recommendation on software that can modulate the sounds I create, and play the result based on any of my PC input devices, from my QWERTY keyboard, to game controllers, including analog controls of any kind, maximum flexibility. Though not ideal, something that could allow me to simply map a sample to each key would already be interesting.

Any help is appreciated Smile
Back to top
View user's profile Send private message
xjscott



Joined: Apr 25, 2007
Posts: 206
Location: Appalachia

PostPosted: Fri May 05, 2017 11:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

The keyword mathematically makes me think you want to specify things according to algorithms and equations.

Supercollider, Chuck, and pd are three things that come to mind for this level of control.
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 22130
Location: The Netherlands, Enschede
Audio files: 208
G2 patch files: 319

PostPosted: Sat May 06, 2017 12:57 am    Post subject: Reply with quote  Mark this post and the followings unread

Yeah or Max/Msp or Reaktor. Max is PD like, or PD rather is MAX like - very powerful.

Or could have a look at open source hardware to have the processing on an external box .. like http://www.axoloti.com/ or .. the pads and phones are becoming powerful enough to go beyond toys as well ... a bit of a software swamp there though.

And to paint waves .. a decent wave editor should support that ... for a free one ... Audacity is very reasonably decent, otherwise look into DAW software (although those have a tendency to lay a workflow upon you - which may not be a bad thing).

Or do what I did .. write your own software Laughing

_________________
Jan
Back to top
View user's profile Send private message Visit poster's website
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 22130
Location: The Netherlands, Enschede
Audio files: 208
G2 patch files: 319

PostPosted: Sat May 06, 2017 1:04 am    Post subject: Reply with quote  Mark this post and the followings unread

BTW, I've seen Matlab being used to prototype sound algorithms with (and then implement it in like PD, or in plain C as a plugin for other audio tools).
_________________
Jan
Back to top
View user's profile Send private message Visit poster's website
iVoid



Joined: May 05, 2017
Posts: 2
Location: Extra Dimensional Void

PostPosted: Sun May 07, 2017 2:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

xjscott wrote:
The keyword mathematically makes me think you want to specify things according to algorithms and equations.

Yes that is exactly what I'm looking for.
Blue Hell wrote:
Or do what I did .. write your own software Laughing

aha I was hoping it wouldn't come to that just yet Razz

Well, thank you both! You've given me a lot to try out, I'll be experimenting for the next few days, I'll let you know how it went afterwards Smile
Back to top
View user's profile Send private message
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 22130
Location: The Netherlands, Enschede
Audio files: 208
G2 patch files: 319

PostPosted: Sun May 07, 2017 3:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

Have fun :-)
_________________
Jan
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 1890
Location: Berks County, PA
Audio files: 77

PostPosted: Sun May 07, 2017 4:49 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here is a ChucK patch generated from data in a data sonification project that students and I have been working on for several years (note the raw_waveform and the hpf high pass filter). It spits out a WAV file generated from data being sonified.

EDIT: The code delimited block is screwing up the for loop headers, so I'll just attach the ChucK patch. The code below has at least two format errors.
Code:

// file waveformdblsawexp_0_-1.ck generated by genchuck.genWaveform from ../SWedJfstCgpaGprjGprvNOQSAW.csv [0, -1, 0.21203703703703702, 0.6666666666666666, 0.9148148148148149, 0.7962962962962963, 0.49444444444444446]
[0.0,0.64690382,1.00000000,0.83135705,0.40184453] @=> float raw_waveform[];
5 => int raw_waveform_length;
220.0 => float tonicFreq;
440.0 => float otherFreq;
2.0::second => dur durationWAV;

dac => Gain __g__ => WvOut __w__ => blackhole;
"waveformdblsawexp_0_-1.wav" => __w__.wavFilename ;
// LiSaTemplate3.ck reduce effect of high-pass filter
// LiSaTemplate2.ck from jan. 2016 adds a second LiSa.
// LiSaTemplate.ck from summer 2015
LiSa lisa => HPF hpf => dac ;
LiSa lisa2 => hpf ; // added Jan 2016
.5 => lisa.gain ; // added Jan 2016
.5 => lisa2.gain ; // added Jan 2016
tonicFreq * 0.25 => hpf.freq ;
10.0 => hpf.Q ;

// generate a waveform signal ranging -1.0, 1.0 and play
// it using LiSa, D. Parson, 7/2015
second/samp => float SRATE;
1.0 / tonicFreq => float tonicPeriod ;
raw_waveform_length * 2 => int sampleCount ; // half positive, half negative
sampleCount::samp => lisa.duration ;
sampleCount::samp => lisa2.duration ; // added Jan 2016
(tonicFreq * sampleCount) / SRATE => lisa.rate ;
(otherFreq * sampleCount) / SRATE => lisa2.rate ;
for (0 => int ix ; ix <raw_waveform_length> ix) {
    lisa.valueAt(raw_waveform[ix], ix::samp);
    lisa2.valueAt(raw_waveform[ix], ix::samp);
}
for (raw_waveform_length => int ix ; ix <sampleCount> ix) {
    lisa.valueAt(raw_waveform[ix%raw_waveform_length] * -1.0, ix::samp);
    lisa2.valueAt(raw_waveform[ix%raw_waveform_length] * -1.0, ix::samp);
}


<<< "Sampling rate is", SRATE, "sampleCount is ", sampleCount >>>;

1 => lisa.loop ;
1 => lisa2.loop ;
1 => lisa.play ;
1 => lisa2.play ;

durationWAV => now ;
null @=> __w__;


Below are time-domain and frequency-domain snapshots from Adobe Audition.

If you literally want to generate the waveform, ChucK is probably easier to learn.

To my hearing, Supercollider has better ugens than ChucK, but I like ChucK's programming model & found it easy to learn. I am still trying to find time to get good at SC.

Have fun!


Screen Shot 2017-05-07 at 7.43.52 PM.png
 Description:
time domain
 Filesize:  43.38 KB
 Viewed:  9 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Screen Shot 2017-05-07 at 7.43.52 PM.png



Screen Shot 2017-05-07 at 7.44.43 PM.png
 Description:
frequency domain
 Filesize:  208.53 KB
 Viewed:  13 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Screen Shot 2017-05-07 at 7.44.43 PM.png



waveformdblsawexp_0_-1.ck
 Description:
The real ChucK patch that I attempted to show above.

Download
 Filename:  waveformdblsawexp_0_-1.ck
 Filesize:  1.78 KB
 Downloaded:  11 Time(s)


_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic
Page 1 of 1 [7 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » How-tos
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
e-m mkii

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use