Csound Csound-dev Csound-tekno Search About

[Csnd] distortion ftable

Date2011-06-16 13:40
FromAdam Puckett
Subject[Csnd] distortion ftable
Hey guys,

I'd like to find a way to distort my guitar with Csound as if I'm
playing it with an amplifier with distortion. How can I, using the
distort opcode, make an ftable that would do this? Or could I use
distort1?

Thanks,

Adam


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"

Date2011-06-16 13:59
FromOeyvind Brandtsegg
SubjectRe: [Csnd] distortion ftable
Hello Adam,
Distort1 should work nicely.

You could use distort1 to generate a waveshape table, but then you
could just as well use distort1 I think, as you can tweak the
parameters on distort1 (but on on a wavetable). You can probably find
a lot of transfer functions for different tube amps on the net.
Experimenting with waveshaping is a good way to search for 'your own'
distortion.

Also, check out the slope based delay distortion in orchestra (instr
13 in http://www.csounds.com/mikelson/multifx.orc)

best
Oeyvind

2011/6/16 Adam Puckett :
> Hey guys,
>
> I'd like to find a way to distort my guitar with Csound as if I'm
> playing it with an amplifier with distortion. How can I, using the
> distort opcode, make an ftable that would do this? Or could I use
> distort1?
>
> Thanks,
>
> Adam
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2011-06-16 14:28
FromAdam Puckett
SubjectRe: [Csnd] distortion ftable
>From this code, I can assume that by "waveshaping you mean something like:

awsh tablei asig, itable, 1, 0, 1 ; awsh=output, asig=input

Am I right? And what would I do for 0dbfs = 1? Seems like I wouldn't
need to do all this normalization because 0dbfs is already 0 to 1.

Thanks for your help.

Adam

On 6/16/11, Oeyvind Brandtsegg  wrote:
> Hello Adam,
> Distort1 should work nicely.
>
> You could use distort1 to generate a waveshape table, but then you
> could just as well use distort1 I think, as you can tweak the
> parameters on distort1 (but on on a wavetable). You can probably find
> a lot of transfer functions for different tube amps on the net.
> Experimenting with waveshaping is a good way to search for 'your own'
> distortion.
>
> Also, check out the slope based delay distortion in orchestra (instr
> 13 in http://www.csounds.com/mikelson/multifx.orc)
>
> best
> Oeyvind
>
> 2011/6/16 Adam Puckett :
>> Hey guys,
>>
>> I'd like to find a way to distort my guitar with Csound as if I'm
>> playing it with an amplifier with distortion. How can I, using the
>> distort opcode, make an ftable that would do this? Or could I use
>> distort1?
>>
>> Thanks,
>>
>> Adam
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2011-06-16 14:37
FromOeyvind Brandtsegg
SubjectRe: [Csnd] distortion ftable
You're right that you don't need to normalize when you're already at 0dbfs=1.

Is that code from Mikelson?
Hm, I didn' check, but remember it slightly different

I thought it was more like:

awsh tablei asig*0.5, itable, 1, 0.5, 0 ; awsh=output, asig=input

so that
- the input signal has a range of -0.5 to +0.5
- 4th arg to table = 0.5: the table index is offset by 0.5 (so our
asig lookup will be in the range 0.0 to 1.0)
- 5th arg to table = 0: no wraparound, as that will cause
discontinuities with the most usual transfer functions

In case of doubt, you can alsways test your implementation by using a
linear transfer function (line from -1 to +1),
and your output signal should be exactly equal to the input signal.

best
Oeyvind

2011/6/16 Adam Puckett :
> From this code, I can assume that by "waveshaping you mean something like:
>
> awsh tablei asig, itable, 1, 0, 1 ; awsh=output, asig=input
>
> Am I right? And what would I do for 0dbfs = 1? Seems like I wouldn't
> need to do all this normalization because 0dbfs is already 0 to 1.
>
> Thanks for your help.
>
> Adam
>
> On 6/16/11, Oeyvind Brandtsegg  wrote:
>> Hello Adam,
>> Distort1 should work nicely.
>>
>> You could use distort1 to generate a waveshape table, but then you
>> could just as well use distort1 I think, as you can tweak the
>> parameters on distort1 (but on on a wavetable). You can probably find
>> a lot of transfer functions for different tube amps on the net.
>> Experimenting with waveshaping is a good way to search for 'your own'
>> distortion.
>>
>> Also, check out the slope based delay distortion in orchestra (instr
>> 13 in http://www.csounds.com/mikelson/multifx.orc)
>>
>> best
>> Oeyvind
>>
>> 2011/6/16 Adam Puckett :
>>> Hey guys,
>>>
>>> I'd like to find a way to distort my guitar with Csound as if I'm
>>> playing it with an amplifier with distortion. How can I, using the
>>> distort opcode, make an ftable that would do this? Or could I use
>>> distort1?
>>>
>>> Thanks,
>>>
>>> Adam
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>> csound"
>>>
>>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2011-06-16 15:52
FromAdam Puckett
SubjectRe: [Csnd] distortion ftable
Here's my CSD:



-iadc2 -odac1


sr = 44100
ksmps = 1
nchnls = 2
0dbfs = 1
instr 1
asig inch 1
awsh distort asig, 1, 5
outs awsh, awsh
endin


f5 0 8192 7 -.8 934 -.79 934 -.77 934 -.64 1034 -.48 520 .47 2300 .48 1536 .48
i1 0 120
e



It doesn't sound like tube distortion. What changes do I need to make?

On 6/16/11, Oeyvind Brandtsegg  wrote:
> You're right that you don't need to normalize when you're already at
> 0dbfs=1.
>
> Is that code from Mikelson?
> Hm, I didn' check, but remember it slightly different
>
> I thought it was more like:
>
> awsh tablei asig*0.5, itable, 1, 0.5, 0 ; awsh=output, asig=input
>
> so that
> - the input signal has a range of -0.5 to +0.5
> - 4th arg to table = 0.5: the table index is offset by 0.5 (so our
> asig lookup will be in the range 0.0 to 1.0)
> - 5th arg to table = 0: no wraparound, as that will cause
> discontinuities with the most usual transfer functions
>
> In case of doubt, you can alsways test your implementation by using a
> linear transfer function (line from -1 to +1),
> and your output signal should be exactly equal to the input signal.
>
> best
> Oeyvind
>
> 2011/6/16 Adam Puckett :
>> From this code, I can assume that by "waveshaping you mean something like:
>>
>> awsh tablei asig, itable, 1, 0, 1 ; awsh=output, asig=input
>>
>> Am I right? And what would I do for 0dbfs = 1? Seems like I wouldn't
>> need to do all this normalization because 0dbfs is already 0 to 1.
>>
>> Thanks for your help.
>>
>> Adam
>>
>> On 6/16/11, Oeyvind Brandtsegg  wrote:
>>> Hello Adam,
>>> Distort1 should work nicely.
>>>
>>> You could use distort1 to generate a waveshape table, but then you
>>> could just as well use distort1 I think, as you can tweak the
>>> parameters on distort1 (but on on a wavetable). You can probably find
>>> a lot of transfer functions for different tube amps on the net.
>>> Experimenting with waveshaping is a good way to search for 'your own'
>>> distortion.
>>>
>>> Also, check out the slope based delay distortion in orchestra (instr
>>> 13 in http://www.csounds.com/mikelson/multifx.orc)
>>>
>>> best
>>> Oeyvind
>>>
>>> 2011/6/16 Adam Puckett :
>>>> Hey guys,
>>>>
>>>> I'd like to find a way to distort my guitar with Csound as if I'm
>>>> playing it with an amplifier with distortion. How can I, using the
>>>> distort opcode, make an ftable that would do this? Or could I use
>>>> distort1?
>>>>
>>>> Thanks,
>>>>
>>>> Adam
>>>>
>>>>
>>>> Send bugs reports to the Sourceforge bug tracker
>>>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>> Discussions of bugs and features can be posted here
>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>>> csound"
>>>>
>>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>> csound"
>>>
>>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2011-06-16 16:27
FromOeyvind Brandtsegg
SubjectRe: [Csnd] distortion ftable
Please try the other distortion techniques too.
I haven't used distort (or probably did a long time ago, but can't
remember how it sounds),
but distort1 sound quite ok,
lpf18 also has nice dist,
and the waveshaping techniques (experiment with different shapes)
and the slope based delay.
Run any combination of these in parallell and/or series, combine with
low pass filtering.
Tube amp distortion is no simple task, and you might have to model it
differently depending on your source signal and obviously also
depending on your taste and your idea of tube distortion.
best
Oeyvind

2011/6/16 Adam Puckett :
> Here's my CSD:
>
> 
> 
> -iadc2 -odac1
> 
> 
> sr = 44100
> ksmps = 1
> nchnls = 2
> 0dbfs = 1
> instr 1
> asig inch 1
> awsh distort asig, 1, 5
> outs awsh, awsh
> endin
> 
> 
> f5 0 8192 7 -.8 934 -.79 934 -.77 934 -.64 1034 -.48 520 .47 2300 .48 1536 .48
> i1 0 120
> e
> 
> 
>
> It doesn't sound like tube distortion. What changes do I need to make?
>
> On 6/16/11, Oeyvind Brandtsegg  wrote:
>> You're right that you don't need to normalize when you're already at
>> 0dbfs=1.
>>
>> Is that code from Mikelson?
>> Hm, I didn' check, but remember it slightly different
>>
>> I thought it was more like:
>>
>> awsh tablei asig*0.5, itable, 1, 0.5, 0 ; awsh=output, asig=input
>>
>> so that
>> - the input signal has a range of -0.5 to +0.5
>> - 4th arg to table = 0.5: the table index is offset by 0.5 (so our
>> asig lookup will be in the range 0.0 to 1.0)
>> - 5th arg to table = 0: no wraparound, as that will cause
>> discontinuities with the most usual transfer functions
>>
>> In case of doubt, you can alsways test your implementation by using a
>> linear transfer function (line from -1 to +1),
>> and your output signal should be exactly equal to the input signal.
>>
>> best
>> Oeyvind
>>
>> 2011/6/16 Adam Puckett :
>>> From this code, I can assume that by "waveshaping you mean something like:
>>>
>>> awsh tablei asig, itable, 1, 0, 1 ; awsh=output, asig=input
>>>
>>> Am I right? And what would I do for 0dbfs = 1? Seems like I wouldn't
>>> need to do all this normalization because 0dbfs is already 0 to 1.
>>>
>>> Thanks for your help.
>>>
>>> Adam
>>>
>>> On 6/16/11, Oeyvind Brandtsegg  wrote:
>>>> Hello Adam,
>>>> Distort1 should work nicely.
>>>>
>>>> You could use distort1 to generate a waveshape table, but then you
>>>> could just as well use distort1 I think, as you can tweak the
>>>> parameters on distort1 (but on on a wavetable). You can probably find
>>>> a lot of transfer functions for different tube amps on the net.
>>>> Experimenting with waveshaping is a good way to search for 'your own'
>>>> distortion.
>>>>
>>>> Also, check out the slope based delay distortion in orchestra (instr
>>>> 13 in http://www.csounds.com/mikelson/multifx.orc)
>>>>
>>>> best
>>>> Oeyvind
>>>>
>>>> 2011/6/16 Adam Puckett :
>>>>> Hey guys,
>>>>>
>>>>> I'd like to find a way to distort my guitar with Csound as if I'm
>>>>> playing it with an amplifier with distortion. How can I, using the
>>>>> distort opcode, make an ftable that would do this? Or could I use
>>>>> distort1?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Adam
>>>>>
>>>>>
>>>>> Send bugs reports to the Sourceforge bug tracker
>>>>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>>> Discussions of bugs and features can be posted here
>>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>>>> csound"
>>>>>
>>>>>
>>>>
>>>>
>>>> Send bugs reports to the Sourceforge bug tracker
>>>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>>> Discussions of bugs and features can be posted here
>>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>>> csound"
>>>>
>>>>
>>>
>>>
>>> Send bugs reports to the Sourceforge bug tracker
>>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>>> Discussions of bugs and features can be posted here
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>> csound"
>>>
>>>
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>>
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"