Re: [LAD] Paul's Extreme Sound Stretch

2010-10-03 Thread fons
On Fri, Oct 01, 2010 at 09:36:53AM +0200, Jens M Andreasen wrote:

> Another example: Play two sinewaves, 1 Hz apart. Every second they will
> cancel out each other completely - even if they undeniably are both
> present. 

Yes, but this is nothing special. The two cancel at exactly one point
in each one second period, and that point need not even correspond to
a sample. The 'impulse' example is different: *all* samples are zero
except one per period. 

But OTOH, if you would upsample the impulse signal (or turn it into
its analog form), it would not be zero most of the time, and the zero
points would be the exception like they are in your example - they 
just happen to coincide with the samples at the original rate. So
in fact that is not really different.

Which again illustrates that 'the samples are not the signal', and
that any simplistic way to interpret them easily leads to the wrong
conclusions.

Ciao,

-- 
FA

There are three of them, and Alleline.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-02 Thread Renato
On Fri, 1 Oct 2010 03:25:50 +0200
Robin Gareus  wrote:

> 
> On Oct 1, 2010, at 2:32 AM, Camilo Polymeris wrote:
> 
> >> The original Fourier Transform as invented by the smart French
> >> guy of the same name does operate on continuous (as opposed to
> >> sampled) data from -inf to +inf.
> > 
> > I understand Fourier invented the Fourier Series "only", anyone
> > knows who generalized it to FT?
> 
> not me,  but google did:
> 
> "Fourier’s initial series lacked the precision of a function, and
> Dirichlet and Riemann would later express the series as a formal
> integral." [1]
> 

mmm, that sounds ambigous to me... what exactly does it mean?
"Integral" here is used as synonimous of "solution of the heat-PDE"? 

What is sure is that Dirichlet was the first to prove a convergence
theorem for Fourier series, and for this he had to first give a new
(both more precise and more general) definition of function. He gave
the famous Dirichlet-function (charateristic of rationals) as an
example of a function - with his definition - not satisfying the
hypotheses of his theorem. 

Then Riemann, Cantor and others proved other convergence theorems with
other hypotheses. Cantor actually developed his set theory for the need
to describe the set of some points regarding Fourier series (something
like the admissable discontinuities, can't remember ATM). 
Also I seem to remember that Riemann's integral sprouted from
some problems he had in Fourier analysis.

Unfortunately I still know nothing about the history of the
FT...

renato

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Ralf Mardorf
On Fri, 2010-10-01 at 17:17 -0400, gene heskett wrote:
> On Friday, October 01, 2010 05:12:54 pm Philipp Überbacher did opine:
> 
> > Excerpts from gene heskett's message of 2010-10-01 22:07:28 +0200:
> > > On Friday, October 01, 2010 04:05:37 pm Folderol did opine:
> > > > On Fri, 1 Oct 2010 09:51:29 +1000
> > > > 
> > > > Erik de Castro Lopo  wrote:
> > > > > Folderol wrote:
> > > > > > Also, he must be getting on a bit now ... at least in his
> > > > > > thirties
> > > > > > 
> > > > > > :P
> > > > > 
> > > > > Ageism lives I see.
> > > > > 
> > > > > I'm in my mid 40s and I still have a passion for coding. I don't
> > > > > do as much audio coding as I used to but I am a significant
> > > > > 
> > > > > contributor to the DDC compiler:
> > > > >http://trac.haskell.org/ddc/
> > > > > 
> > > > > Erik
> > > > 
> > > > Did you not notice the ':P' ?
> > > > FWIW I'm in my 60's so lets have less lip from you young pups :)
> > > 
> > > And I have about a decade on you, I'll be 76 Monday. ;-)
> > > 
> > > Sheesh, no respect for the elders here. ;-P
> > 
> > I'm 26 now, and I think it's really great that people like you, 50 years
> > older and almost the age of my grandfather, take part in all of this
> > stuff. Everyone has his share of experience, and I believe every
> > generation can learn a bit from every other generation. Guys of your age
> > have a little more experience and stories to share, and I really
> > appreciate this. It's especially great that you manage to keep up with
> > technology and all of the related stuff. I know at least one person
> > who's 90+ and very healthy and active, but her understanding of
> > technology is near zero. For me, people that age taking part of all this
> > kind of stuff is incredible, and it's also highly appreciated. There are
> > plenty of things we young folks can learn.
> 
> Thanks for the flowers, and I do share a story now and then, based on 45+ 
> years as a broadcast engineer, 25 of them as the Chief Engineer, spread 
> over 2 tv stations and a radio station.  But I try to make the story's 
> related apply to the subject of the message here that got my attention.  On 
> any mailing list, random data, no matter how good, is often considered as 
> noise.
> 
> > Regards,
> > Philipp

OT: I'll snitch on Gene. Secretly he's programming the Tandy CoCo.
Anyway, I'm amazed that people suspect people ex 60 or ex 70 or even ex
80 not to take part of modern technology, especially because a lot of
men are the pioneers for today technology.
I'm at the end of 43 and I won't do the tricks I did with my skateboard
20 years ago anymore and I won't recommend Gene to take a skateboard and
go to a high half-pipe. Resp. to climb a radio mast at nasty weather, as
he did in the past, but why should older people stop thinking?!

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Erik de Castro Lopo
Folderol wrote:

> On Fri, 1 Oct 2010 09:51:29 +1000
> Erik de Castro Lopo  wrote:
> 
> > Folderol wrote:
> > 
> > > Also, he must be getting on a bit now ... at least in his thirties :P
> > 
> > Ageism lives I see.
> > 
> > I'm in my mid 40s and I still have a passion for coding. I don't
> > do as much audio coding as I used to but I am a significant
> > contributor to the DDC compiler:
> > 
> >http://trac.haskell.org/ddc/
> > 
> > Erik
> 
> Did you not notice the ':P' ?
> FWIW I'm in my 60's so lets have less lip from you young pups :)

Ooops, I missed out a :-).

Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Ray Rashif
On 2 October 2010 05:03, Philipp Überbacher  wrote:
> I'm 26 now, and I think it's really great that people like you, 50 years
> older and almost the age of my grandfather, take part in all of this
> stuff. Everyone has his share of experience, and I believe every
> generation can learn a bit from every other generation. Guys of your age
> have a little more experience and stories to share, and I really
> appreciate this. It's especially great that you manage to keep up with
> technology and all of the related stuff. I know at least one person
> who's 90+ and very healthy and active, but her understanding of
> technology is near zero. For me, people that age taking part of all this
> kind of stuff is incredible, and it's also highly appreciated. There are
> plenty of things we young folks can learn.

It's more than just experience; they've been there, done that. Indeed,
every generation has a different kind of "experience", which is always
unique and invaluable.

I wish my grandparents were alive today so I could share with them the
technology I grew to love (when I was younger I learnt everything from
science to history from them), and in turn receive wisdom I could
probably never pick up alone in a hundred years. Even looking at my
father, I realise how little I've learnt for the 2+ decades I've been
blessed to enjoy what this modern world has to offer. Sometimes young
blood runs hot, too hot.

Sorry for derailing the topic further. I guess the train is now on a
collision course, but hats off to the old-timers from the audio
industry!


--
GPG/PGP ID: B42DDCAD
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread gene heskett
On Friday, October 01, 2010 05:12:54 pm Philipp Überbacher did opine:

> Excerpts from gene heskett's message of 2010-10-01 22:07:28 +0200:
> > On Friday, October 01, 2010 04:05:37 pm Folderol did opine:
> > > On Fri, 1 Oct 2010 09:51:29 +1000
> > > 
> > > Erik de Castro Lopo  wrote:
> > > > Folderol wrote:
> > > > > Also, he must be getting on a bit now ... at least in his
> > > > > thirties
> > > > > 
> > > > > :P
> > > > 
> > > > Ageism lives I see.
> > > > 
> > > > I'm in my mid 40s and I still have a passion for coding. I don't
> > > > do as much audio coding as I used to but I am a significant
> > > > 
> > > > contributor to the DDC compiler:
> > > >http://trac.haskell.org/ddc/
> > > > 
> > > > Erik
> > > 
> > > Did you not notice the ':P' ?
> > > FWIW I'm in my 60's so lets have less lip from you young pups :)
> > 
> > And I have about a decade on you, I'll be 76 Monday. ;-)
> > 
> > Sheesh, no respect for the elders here. ;-P
> 
> I'm 26 now, and I think it's really great that people like you, 50 years
> older and almost the age of my grandfather, take part in all of this
> stuff. Everyone has his share of experience, and I believe every
> generation can learn a bit from every other generation. Guys of your age
> have a little more experience and stories to share, and I really
> appreciate this. It's especially great that you manage to keep up with
> technology and all of the related stuff. I know at least one person
> who's 90+ and very healthy and active, but her understanding of
> technology is near zero. For me, people that age taking part of all this
> kind of stuff is incredible, and it's also highly appreciated. There are
> plenty of things we young folks can learn.

Thanks for the flowers, and I do share a story now and then, based on 45+ 
years as a broadcast engineer, 25 of them as the Chief Engineer, spread 
over 2 tv stations and a radio station.  But I try to make the story's 
related apply to the subject of the message here that got my attention.  On 
any mailing list, random data, no matter how good, is often considered as 
noise.

> Regards,
> Philipp
> 
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev


-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
poverty, n.:
An unfortunate state that persists as long
as anyone lacks anything he would like to have.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Philipp Überbacher
Excerpts from gene heskett's message of 2010-10-01 22:07:28 +0200:
> On Friday, October 01, 2010 04:05:37 pm Folderol did opine:
> 
> > On Fri, 1 Oct 2010 09:51:29 +1000
> > 
> > Erik de Castro Lopo  wrote:
> > > Folderol wrote:
> > > > Also, he must be getting on a bit now ... at least in his thirties
> > > > :P
> > > 
> > > Ageism lives I see.
> > > 
> > > I'm in my mid 40s and I still have a passion for coding. I don't
> > > do as much audio coding as I used to but I am a significant
> > > 
> > > contributor to the DDC compiler:
> > >http://trac.haskell.org/ddc/
> > > 
> > > Erik
> > 
> > Did you not notice the ':P' ?
> > FWIW I'm in my 60's so lets have less lip from you young pups :)
> 
> And I have about a decade on you, I'll be 76 Monday. ;-)
> 
> Sheesh, no respect for the elders here. ;-P
> 
> -- 
> Cheers, Gene
> "There are four boxes to be used in defense of liberty:
>  soap, ballot, jury, and ammo. Please use in that order."
> -Ed Howdershelt (Author)
> A memorandum is written not to inform the reader, but to protect the 
> writer.
> -- Dean Acheson

I'm 26 now, and I think it's really great that people like you, 50 years
older and almost the age of my grandfather, take part in all of this
stuff. Everyone has his share of experience, and I believe every
generation can learn a bit from every other generation. Guys of your age
have a little more experience and stories to share, and I really
appreciate this. It's especially great that you manage to keep up with
technology and all of the related stuff. I know at least one person
who's 90+ and very healthy and active, but her understanding of
technology is near zero. For me, people that age taking part of all this
kind of stuff is incredible, and it's also highly appreciated. There are
plenty of things we young folks can learn.

Regards,
Philipp

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread gene heskett
On Friday, October 01, 2010 04:05:37 pm Folderol did opine:

> On Fri, 1 Oct 2010 09:51:29 +1000
> 
> Erik de Castro Lopo  wrote:
> > Folderol wrote:
> > > Also, he must be getting on a bit now ... at least in his thirties
> > > :P
> > 
> > Ageism lives I see.
> > 
> > I'm in my mid 40s and I still have a passion for coding. I don't
> > do as much audio coding as I used to but I am a significant
> > 
> > contributor to the DDC compiler:
> >http://trac.haskell.org/ddc/
> > 
> > Erik
> 
> Did you not notice the ':P' ?
> FWIW I'm in my 60's so lets have less lip from you young pups :)

And I have about a decade on you, I'll be 76 Monday. ;-)

Sheesh, no respect for the elders here. ;-P

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
A memorandum is written not to inform the reader, but to protect the 
writer.
-- Dean Acheson
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Folderol
On Fri, 1 Oct 2010 09:51:29 +1000
Erik de Castro Lopo  wrote:

> Folderol wrote:
> 
> > Also, he must be getting on a bit now ... at least in his thirties :P
> 
> Ageism lives I see.
> 
> I'm in my mid 40s and I still have a passion for coding. I don't
> do as much audio coding as I used to but I am a significant
> contributor to the DDC compiler:
> 
>http://trac.haskell.org/ddc/
> 
> Erik

Did you not notice the ':P' ?
FWIW I'm in my 60's so lets have less lip from you young pups :)

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-10-01 Thread Jens M Andreasen

On Thu, 2010-09-30 at 23:16 +0200, f...@kokkinizita.net wrote:
> ... Now take a window of say half a second. If it includes a
> pulse you get more or less the same spectrum again. If it doesn't, you
> get nothing... even if the frequencies should be there :-)
> 

You are now (heading towards) argueing that the crescendo in the
Beethoven symphony should be heard ahead of time - because we know it is
there?

Another example: Play two sinewaves, 1 Hz apart. Every second they will
cancel out each other completely - even if they undeniably are both
present. 

Just because something exist does not mean that it can be observed at
each and every point in time.



-- 
eins, zwei, drei ... tekno tekno??

http://www.youtube.com/watch?v=ZEgbW1FxR78

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus

On Oct 1, 2010, at 2:32 AM, Camilo Polymeris wrote:

>> The original Fourier Transform as invented by the smart French
>> guy of the same name does operate on continuous (as opposed to
>> sampled) data from -inf to +inf.
> 
> I understand Fourier invented the Fourier Series "only", anyone knows
> who generalized it to FT?

not me,  but google did:

"Fourier’s initial series lacked the precision of a function, and Dirichlet and 
Riemann would later express the series as a formal integral." [1]

and 

"The first fast Fourier transform (FFT) algorithm for the DFT was discovered 
around 1805 by Carl Friedrich Gauss.." [2]

[1] 
http://www.k-grayengineeringeducation.com/blog/index.php/2007/12/21/engineering-education-today-in-history-blog-fourier-series-introduced/

[2] http://en.wikipedia.org/wiki/Fourier_analysis#History


> And yes, I think the FT isn't so hard to understand, and a pretty
> useful concept. FFT, on the other hand... never really tried.
> 

Sometimes I regret that I skipped most of the group theory lectures (I still 
have a very different idea what "group-theory" should be about) but I stopped 
worrying: libfftw [3] is pretty well documented, comes with a good manual and a 
tutorial.

Unless you're really into maths and numerics you'll probably learn nothing 
useful. That might be actually the reason why DFT algorithms have been 
re-invented or re-discovered  a couple of times during history: 1805, 1965, 
1984 [4].
If I may suggest: read up on DFT and leave FFT to the the maths geeks.

[3] http://www.fftw.org/

[4] 
http://en.wikipedia.org/wiki/Fast_Fourier_transform#Cooley.E2.80.93Tukey_algorithm

Cheers!
robin

> Greetings
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus

On Sep 30, 2010, at 11:16 PM, f...@kokkinizita.net wrote:

> On Thu, Sep 30, 2010 at 09:23:08PM +0200, Robin Gareus wrote:
> 
>> Back when I was introduced to FT in some Physics lecture I was happy
>> that I was able to use it and completely forgot to check the history :)
>> Probably related to why I favored experimental Physics over Theory.
> 
> If you're still living in Paris, make sure to visit the 'Musée des
> Arts et Métiers' one day. Quite a nice place for vintage experimental
> physics. It's also the place where the final mad scene of Umberto Eco's 
> novel "Foucault's Pendulum" is situated. The pendulum itself used to be
> there, but it's now at the Panthéon.
> 

I know the latter of course, but I've not yet been to the Musee des Arts et 
Metiers. 
Thanks for the hint, I'll definitely schedule a visit.

There's so many hidden treasures here in plain sight one hardly knows where to 
start.


>>> And I guess this is where the windowing comes in. Calculate the spectrum
>>> of small pieces instead.
>>> 
>> correct.
>> 
>> Furthermore there are different kind of windows (here a window refers to
>> a block of audio-samples) and windows can overlap. That's where it gets
>> complicated.
> 
> Even windows won't save you from apparent madness. Imagine a signal
> consisting of all zero samples, except one every second which has
> value 1. Such a signal contains all frequencies that are a multiple 
> of 1 Hz, up to half the sample frequency. Those frequencies are present
> all the time. Now take a window of say half a second. If it includes a
> pulse you get more or less the same spectrum again. If it doesn't, you
> get nothing... even if the frequencies should be there :-)
> 

to come back to the beginning: that's why paulstretch does allow to specify the 
window size.

Cheers!
robin


> Ciao,
> 
> -- 
> FA
> 
> There are three of them, and Alleline.
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Camilo Polymeris
> The original Fourier Transform as invented by the smart French
> guy of the same name does operate on continuous (as opposed to
> sampled) data from -inf to +inf.

I understand Fourier invented the Fourier Series "only", anyone knows
who generalized it to FT?
And yes, I think the FT isn't so hard to understand, and a pretty
useful concept. FFT, on the other hand... never really tried.

Greetings
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Erik de Castro Lopo
Folderol wrote:

> Also, he must be getting on a bit now ... at least in his thirties :P

Ageism lives I see.

I'm in my mid 40s and I still have a passion for coding. I don't
do as much audio coding as I used to but I am a significant
contributor to the DDC compiler:

   http://trac.haskell.org/ddc/

Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 22:41, Philipp Überbacher wrote:
> Excerpts from Robin Gareus's message of 2010-09-30 16:21:27 +0200:
>> On 09/30/10 13:35, Louigi Verona wrote:
>>> As for JACK support would anyone be interested in adding it, if it is
>>> trivial? Would love to have it in my audio chain.
>>
>> At second glance: it's not going to be that easy. The built-in player
>> makes use of mutex-locks which would need to be replaced with a
>> [lock-free] ringbuffer (Adding JACK I/O is still trivial but without
>> lock-free buffers paulstrech would be able to block jack-processing and
>> cause x-runs).
>>
>>
>> That'd be a good job for someone who wants to get started with JACK and
>> C/C++ programming.
> 
> I'd be interested.
> 
> It would likely take me some time though, and maybe some guidance, but
> it's something I want to learn. I dabbled in C but can only read simple
> code. I start to study computer science next week, which will give me
> access to the library at least, to K&R and a bunch of others.
> The lectures at university are mostly in java but C is required at some
> point, and I guess it's better to start learning it sooner rather than
> later, besides, it seems to be needed for all the neat audio stuff ;)
> 
> So yeah, I guess I should get the code, put it in a git repo and just
> start hacking...

Aww sorry. I saw this too late.

The film I intended to watch was too boring so..

  git clone git://rg42.org/paulstretch
  cd paulstretch
  ./compile_linux_fftw_jack.sh

or get a diff:
http://rg42.org/gitweb/?p=paulstretch.git;a=commitdiff_plain;hp=upstream;h=master


There's still quite a few things to do. besides: it's a quick hack and
far from optimal:

  - It currently only opens the JACK clients if it's playing.
(after stop the port-connections are lost)
  - It auto-connects the jack-ports to the first two available outputs
(unless you remove the -DENABLE_AUTOCONNECT_JACK compile option)
  - it does not do any resampling
(but prints a warning if the samplerates mismatch and plays anyway)
  - it does not add a ringbuffer.
(it may cause x-runs)

So you can take this as inspiration :)


Using a jack_ringbuffer is actually not that hard, have a look at the
jack_capture.c example client (comes with the jackd source).

Resampling with libsamplerate is not very complicated, although I'm sure
you'll have to work out a few things if you do it the first time (it's a
good learning experience - google for "secret rabbit code".
OTOH I'm not convinced that the paulstrech player needs anyway. It may
be a nice add-on feature though.

Hint: for both ringbuffer and/or resampling you'll want to add a new
function to Player.cpp that basically does the same as

 void Player::getaudiobuffer(int nsamples, float *out)

I suggest
  getaudiobuffer_channel(int nsamples, int channel, float *out)

Contact Paul and Alan Calvin :)

Cheers!
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Arnold Krille
On Thursday 30 September 2010 23:16:32 f...@kokkinizita.net wrote:
> On Thu, Sep 30, 2010 at 09:23:08PM +0200, Robin Gareus wrote:
> > Back when I was introduced to FT in some Physics lecture I was happy
> > that I was able to use it and completely forgot to check the history :)
> > Probably related to why I favored experimental Physics over Theory.
> 
> If you're still living in Paris, make sure to visit the 'Musée des
> Arts et Métiers' one day. Quite a nice place for vintage experimental
> physics. It's also the place where the final mad scene of Umberto Eco's
> novel "Foucault's Pendulum" is situated. The pendulum itself used to be
> there, but it's now at the Panthéon.
> 
> > > And I guess this is where the windowing comes in. Calculate the
> > > spectrum of small pieces instead.
> > 
> > correct.
> > 
> > Furthermore there are different kind of windows (here a window refers to
> > a block of audio-samples) and windows can overlap. That's where it gets
> > complicated.
> 
> Even windows won't save you from apparent madness. Imagine a signal
> consisting of all zero samples, except one every second which has
> value 1. Such a signal contains all frequencies that are a multiple
> of 1 Hz, up to half the sample frequency. Those frequencies are present
> all the time. Now take a window of say half a second. If it includes a
> pulse you get more or less the same spectrum again. If it doesn't, you
> get nothing... even if the frequencies should be there :-)

And if I remember correctly, the minimum frequency you get is double your 
window-width. So when you do smaller windows like a jack-buffer of 128 samples 
at 48kHz, you only get down to 187.5 Hz... You can however overcome this if 
you run a second much bigger window where you only extract the low 
frequencies.

(Unless Fons corrects me on that...)

Have fun,

Arnold


signature.asc
Description: This is a digitally signed message part.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Folderol
On Thu, 30 Sep 2010 22:41:33 +0200
Philipp Überbacher  wrote:

> Excerpts from Robin Gareus's message of 2010-09-30 16:21:27 +0200:
> > On 09/30/10 13:35, Louigi Verona wrote:
> > > As for JACK support would anyone be interested in adding it, if it is
> > > trivial? Would love to have it in my audio chain.
> > 
> > At second glance: it's not going to be that easy. The built-in player
> > makes use of mutex-locks which would need to be replaced with a
> > [lock-free] ringbuffer (Adding JACK I/O is still trivial but without
> > lock-free buffers paulstrech would be able to block jack-processing and
> > cause x-runs).
> > 
> > 
> > That'd be a good job for someone who wants to get started with JACK and
> > C/C++ programming.
> 
> I'd be interested.
> 
> It would likely take me some time though, and maybe some guidance, but
> it's something I want to learn. I dabbled in C but can only read simple
> code. I start to study computer science next week, which will give me
> access to the library at least, to K&R and a bunch of others.
> The lectures at university are mostly in java but C is required at some
> point, and I guess it's better to start learning it sooner rather than
> later, besides, it seems to be needed for all the neat audio stuff ;)
> 
> So yeah, I guess I should get the code, put it in a git repo and just
> start hacking...
> 
> > I don't know if Nasca Octavian Paul is subscribed to this list and if
> > he's still actively developing it; but it would be the best to ask him
> > first.
> > 
> > The missing ringbuffer is most likely the cause of the already known bug
> > "sometimes the playback is choppy" listed at the bottom of
> > http://hypermammut.sourceforge.net/paulstretch/
> > 
> > 
> > If no-one else volunteers I could do it to take get my mind off things
> > during some short-distance flights next week-end.
> > 
> > Cheers!
> > robin

I don't know what Paul is up to these days, but I do know that he made
some additions to ZynAddSubFX fairly recently (the main development
of this is being handled by others now).

I've exchanged a few emails in the past, and found him very
approachable - but do bear in mind English is not his native language!

Also, he must be getting on a bit now ... at least in his thirties :P

You might also like to chat with Alan Calvin (Cal) who is working on
Yoshimi, a derivative of Zyn. and doing special work on improving the
jack interface.

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread fons
On Thu, Sep 30, 2010 at 09:23:08PM +0200, Robin Gareus wrote:

> Back when I was introduced to FT in some Physics lecture I was happy
> that I was able to use it and completely forgot to check the history :)
> Probably related to why I favored experimental Physics over Theory.

If you're still living in Paris, make sure to visit the 'Musée des
Arts et Métiers' one day. Quite a nice place for vintage experimental
physics. It's also the place where the final mad scene of Umberto Eco's 
novel "Foucault's Pendulum" is situated. The pendulum itself used to be
there, but it's now at the Panthéon.
 
> > And I guess this is where the windowing comes in. Calculate the spectrum
> > of small pieces instead.
> >
> correct.
>
> Furthermore there are different kind of windows (here a window refers to
> a block of audio-samples) and windows can overlap. That's where it gets
> complicated.

Even windows won't save you from apparent madness. Imagine a signal
consisting of all zero samples, except one every second which has
value 1. Such a signal contains all frequencies that are a multiple 
of 1 Hz, up to half the sample frequency. Those frequencies are present
all the time. Now take a window of say half a second. If it includes a
pulse you get more or less the same spectrum again. If it doesn't, you
get nothing... even if the frequencies should be there :-)

Ciao,

-- 
FA

There are three of them, and Alleline.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Philipp Überbacher
Excerpts from Robin Gareus's message of 2010-09-30 16:21:27 +0200:
> On 09/30/10 13:35, Louigi Verona wrote:
> > As for JACK support would anyone be interested in adding it, if it is
> > trivial? Would love to have it in my audio chain.
> 
> At second glance: it's not going to be that easy. The built-in player
> makes use of mutex-locks which would need to be replaced with a
> [lock-free] ringbuffer (Adding JACK I/O is still trivial but without
> lock-free buffers paulstrech would be able to block jack-processing and
> cause x-runs).
> 
> 
> That'd be a good job for someone who wants to get started with JACK and
> C/C++ programming.

I'd be interested.

It would likely take me some time though, and maybe some guidance, but
it's something I want to learn. I dabbled in C but can only read simple
code. I start to study computer science next week, which will give me
access to the library at least, to K&R and a bunch of others.
The lectures at university are mostly in java but C is required at some
point, and I guess it's better to start learning it sooner rather than
later, besides, it seems to be needed for all the neat audio stuff ;)

So yeah, I guess I should get the code, put it in a git repo and just
start hacking...

> I don't know if Nasca Octavian Paul is subscribed to this list and if
> he's still actively developing it; but it would be the best to ask him
> first.
> 
> The missing ringbuffer is most likely the cause of the already known bug
> "sometimes the playback is choppy" listed at the bottom of
> http://hypermammut.sourceforge.net/paulstretch/
> 
> 
> If no-one else volunteers I could do it to take get my mind off things
> during some short-distance flights next week-end.
> 
> Cheers!
> robin

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Philipp Überbacher
Excerpts from Louigi Verona's message of 2010-09-30 20:56:31 +0200:
> > How the heck did you get it to build? It's been how many years since the
> > last release?
> >
> >
> Ha! This is a nice question.
> Guys at irc channel #ladi helped me, namely falkTX and nedko. The problem
> was in some include file which I had to comment out in the source and that's
> all. I think it is nice in the repos in PPA:
> https://launchpad.net/~falk-t-j/+archive/lucid/+index?start=300&batch=75
> 
> There is a jaunty package as well.

Thanks, but I'm not on ubuntu and it's kind of hard to find the sources
there...

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Philipp Überbacher
Excerpts from Robin Gareus's message of 2010-09-30 21:21:49 +0200:
> On 09/30/10 20:52, Philipp Überbacher wrote:
> > Excerpts from Louigi Verona's message of 2010-09-30 09:01:24 +0200:
> >> Hey guys!
> >>
> >> I have two questions.
> >>
> >> 1. How does Sound Stretch work? It is incredible the way it can produce a
> >> tone which has no noticeable vibrations, just a wall of sound. How is that
> >> accomplished, in layman terms if possible :)
> >> 2. Can this program be jackified and is that a lot of work?
> > 
> > How the heck did you get it to build? It's been how many years since the
> > last release?
> 
> ~1.5y - April 2009.

Ah, thanks, I somehow had ~2004 in mind, but maybe the 2006 version was
the latest last time I checked.

> add
> #include 
> to the top of Input/MP3InputS.cpp
> and run
>   ./compile_linux_fftw.sh
> 
> 
> best,
> robin

Thanks, I'll try it.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 20:49, Philipp Überbacher wrote:
> Excerpts from fons's message of 2010-09-30 14:29:01 +0200:
>> On Thu, Sep 30, 2010 at 01:53:44PM +0200, Robin Gareus wrote:
>>
 Q: Can anyone explain the FFT in simple terms ?
 A. No.
>>>
>>> LOL.
>>>
>>> basically, Fourier proved that any signal can be represented a sum of
>>> sine-waves.
>>>
>>> (well, that's not entirely true: it needs to be a periodic signal, but
>>> the period length can approach infinity...)
>>>
>>> FFT is "just" the implementation of that theorem (or Principle?!)
>>
>> The original Fourier Transform as invented by the smart French
>> guy of the same name does operate on continuous (as opposed to 
>> sampled) data from -inf to +inf. The 'spectrum' interpretation
>> came later. It was originally a mathematical tool used to find
>> integrals of functions that would be impossible to integrate in
>> closed form, and Fourier himself used it to study the propagation
>> of heat in solids. 

Thanks a lot for this comprehensive history lesson.

Back when I was introduced to FT in some Physics lecture I was happy
that I was able to use it and completely forgot to check the history :)
Probably related to why I favored experimental Physics over Theory.

>> The DFT (Discrete FT) is the same thing operating on sampled 
>> signals. It is usually also limited in time.
>>
>> The FFT (Fast FT) is an algorithm to compute a finite-length
>> DFT very efficiently.
>>
>> The 'spectrum' interpretation is really quite ambiguous.
>>
>> You could take the DFT of e.g. a complete Beethoven symphony.
>> The result is the 'spectrum' and in theory this is fixed over
>> infinite time - the frequencies that are present according to
>> this spectrum are there *all the time*. But that is not how
>> we would perceive the music - we do not hear a constant mash
>> of all frequencies, the spectrum as we hear it changes over
>> time.
>>
>> Ciao,
>>
>> -- 
>> FA
>>
>> There are three of them, and Alleline.
> 
> And I guess this is where the windowing comes in. Calculate the spectrum
> of small pieces instead.
>
correct.

Furthermore there are different kind of windows (here a window refers to
a block of audio-samples) and windows can overlap. That's where it gets
complicated.

The most commonly known window shapes are Rectangular window, Gaussian ,
Hann- and Hamming windows (the last two are cosine shapes) which allow
to avoid discontinuities when processing blocks.

Cheers!
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 20:52, Philipp Überbacher wrote:
> Excerpts from Louigi Verona's message of 2010-09-30 09:01:24 +0200:
>> Hey guys!
>>
>> I have two questions.
>>
>> 1. How does Sound Stretch work? It is incredible the way it can produce a
>> tone which has no noticeable vibrations, just a wall of sound. How is that
>> accomplished, in layman terms if possible :)
>> 2. Can this program be jackified and is that a lot of work?
> 
> How the heck did you get it to build? It's been how many years since the
> last release?

~1.5y - April 2009.

add
#include 
to the top of Input/MP3InputS.cpp
and run
  ./compile_linux_fftw.sh


best,
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Louigi Verona
> How the heck did you get it to build? It's been how many years since the
> last release?
>
>
Ha! This is a nice question.
Guys at irc channel #ladi helped me, namely falkTX and nedko. The problem
was in some include file which I had to comment out in the source and that's
all. I think it is nice in the repos in PPA:
https://launchpad.net/~falk-t-j/+archive/lucid/+index?start=300&batch=75

There is a jaunty package as well.


-- 
Louigi Verona
http://www.louigiverona.ru/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Philipp Überbacher
Excerpts from Louigi Verona's message of 2010-09-30 09:01:24 +0200:
> Hey guys!
> 
> I have two questions.
> 
> 1. How does Sound Stretch work? It is incredible the way it can produce a
> tone which has no noticeable vibrations, just a wall of sound. How is that
> accomplished, in layman terms if possible :)
> 2. Can this program be jackified and is that a lot of work?

How the heck did you get it to build? It's been how many years since the
last release?

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Philipp Überbacher
Excerpts from fons's message of 2010-09-30 14:29:01 +0200:
> On Thu, Sep 30, 2010 at 01:53:44PM +0200, Robin Gareus wrote:
> 
> > > Q: Can anyone explain the FFT in simple terms ?
> > > A. No.
> > 
> > LOL.
> > 
> > basically, Fourier proved that any signal can be represented a sum of
> > sine-waves.
> > 
> > (well, that's not entirely true: it needs to be a periodic signal, but
> > the period length can approach infinity...)
> >
> > FFT is "just" the implementation of that theorem (or Principle?!)
> 
> The original Fourier Transform as invented by the smart French
> guy of the same name does operate on continuous (as opposed to 
> sampled) data from -inf to +inf. The 'spectrum' interpretation
> came later. It was originally a mathematical tool used to find
> integrals of functions that would be impossible to integrate in
> closed form, and Fourier himself used it to study the propagation
> of heat in solids. 
> 
> The DFT (Discrete FT) is the same thing operating on sampled 
> signals. It is usually also limited in time.
> 
> The FFT (Fast FT) is an algorithm to compute a finite-length
> DFT very efficiently.
> 
> The 'spectrum' interpretation is really quite ambiguous.
> 
> You could take the DFT of e.g. a complete Beethoven symphony.
> The result is the 'spectrum' and in theory this is fixed over
> infinite time - the frequencies that are present according to
> this spectrum are there *all the time*. But that is not how
> we would perceive the music - we do not hear a constant mash
> of all frequencies, the spectrum as we hear it changes over
> time.
> 
> Ciao,
> 
> -- 
> FA
> 
> There are three of them, and Alleline.

And I guess this is where the windowing comes in. Calculate the spectrum
of small pieces instead.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 13:35, Louigi Verona wrote:
> As for JACK support would anyone be interested in adding it, if it is
> trivial? Would love to have it in my audio chain.

At second glance: it's not going to be that easy. The built-in player
makes use of mutex-locks which would need to be replaced with a
[lock-free] ringbuffer (Adding JACK I/O is still trivial but without
lock-free buffers paulstrech would be able to block jack-processing and
cause x-runs).


That'd be a good job for someone who wants to get started with JACK and
C/C++ programming.


I don't know if Nasca Octavian Paul is subscribed to this list and if
he's still actively developing it; but it would be the best to ask him
first.

The missing ringbuffer is most likely the cause of the already known bug
"sometimes the playback is choppy" listed at the bottom of
http://hypermammut.sourceforge.net/paulstretch/


If no-one else volunteers I could do it to take get my mind off things
during some short-distance flights next week-end.

Cheers!
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Patrick Shirkey

On Thu, September 30, 2010 3:47 am, Robin Gareus wrote:
> On 09/30/10 09:40, Patrick Shirkey wrote:
>>
>> On Thu, September 30, 2010 12:01 am, Louigi Verona wrote:
>>> Hey guys!
>>>
>>> I have two questions.
>>>
>>> 1. How does Sound Stretch work? It is incredible the way it can produce
>>> a
>>> tone which has no noticeable vibrations, just a wall of sound. How is
>>> that
>>> accomplished, in layman terms if possible :)
>>
>> It grabs a section of the audio and copies/multiplies it then appears to
>> apply some pretty neat math to smooth it all out funnily enough using a
>> selection of windows to get the best result.
>
> Are you sure? Where did you get that info from?
>
> Just skimming over Stretch.cpp gives me the impression that it's based
> on Fourier analysis and re-sythesis.
> http://en.wikipedia.org/wiki/Fourier_analysis
>
> The process() loop looks like:
> {
>   apply_window();
>   smp2freq(); // Fourier Analysis
>   process_spectrum();
>   freq2smp(); // Fourier Synth
> }
>
> In layman terms:
>
> There's a smart French guy by the name of Joseph F. sitting inside it:
> If you play him some audio: He thinks: "Hey, this is actually just a few
> simple sine-waves added together (superpositioned)", he quickly
> calculates their frequencies and amplitudes and asks "Now, you want to
> change the duration?" easy: "I'll generate some new sine-waves with
> these frequencies and amplitudes, how long did you say you want?"
>
> (The smart thing about this French guy is that he actually speaks fluent
> English - Sorry I could not resist :)


I suppose you missed the various windows he has added. Maybe they are just
there for show?

>
>>
>>> 2. Can this program be jackified and is that a lot of work?
>>>
>>
>> It uses portaudio. Doesn't that have a jack output?
>
> Yes, but its implementation is not very well done.
>
>> Otherwise yes, he has designed it so that adding jack support would be
>> fairly trivial.
>>
>
> Indeed, to change the integrated player to output to JACK would be
> trivial. It currently uses the PortAudio's StreamCallback which is very
> similar to JACK's process callback.
>
> Using it to do "live" timestreching with JACK (jack-in -> jack-out) is
> AFAICT impossible because:
>
> 
> If you feed it N samples (or seconds) of audio you end up with M samples
> (or seconds) with  M > N.
>
> One could do a kludge:
> eg. for a 1:10 time stretch with continuous output:
>   - read 1 sec of audio from the input
>   - ignore 9 secs of the input
> but I don't think this will be useful.
> 
>

But nothing wrong with having it jackified for ease of use. Especially if
the portaudio code is as you suggest. No doubt someone will take the time
if it is a good piece of software otherwise.



-- 
Patrick Shirkey
Boost Hardware Ltd.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread fons
On Thu, Sep 30, 2010 at 01:53:44PM +0200, Robin Gareus wrote:

> > Q: Can anyone explain the FFT in simple terms ?
> > A. No.
> 
> LOL.
> 
> basically, Fourier proved that any signal can be represented a sum of
> sine-waves.
> 
> (well, that's not entirely true: it needs to be a periodic signal, but
> the period length can approach infinity...)
>
> FFT is "just" the implementation of that theorem (or Principle?!)

The original Fourier Transform as invented by the smart French
guy of the same name does operate on continuous (as opposed to 
sampled) data from -inf to +inf. The 'spectrum' interpretation
came later. It was originally a mathematical tool used to find
integrals of functions that would be impossible to integrate in
closed form, and Fourier himself used it to study the propagation
of heat in solids. 

The DFT (Discrete FT) is the same thing operating on sampled 
signals. It is usually also limited in time.

The FFT (Fast FT) is an algorithm to compute a finite-length
DFT very efficiently.

The 'spectrum' interpretation is really quite ambiguous.

You could take the DFT of e.g. a complete Beethoven symphony.
The result is the 'spectrum' and in theory this is fixed over
infinite time - the frequencies that are present according to
this spectrum are there *all the time*. But that is not how
we would perceive the music - we do not hear a constant mash
of all frequencies, the spectrum as we hear it changes over
time.

Ciao,

-- 
FA

There are three of them, and Alleline.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread torbenh
On Thu, Sep 30, 2010 at 07:15:32AM -0400, Dave Phillips wrote:
> Robin Gareus wrote:
> >
> >In layman terms:
> >
> >There's a smart French guy by the name of Joseph F. sitting inside it:
> >If you play him some audio: He thinks: "Hey, this is actually just a few
> >simple sine-waves added together (superpositioned)", he quickly
> >calculates their frequencies and amplitudes and asks "Now, you want to
> >change the duration?" easy: "I'll generate some new sine-waves with
> >these frequencies and amplitudes, how long did you say you want?"
> >
> >(The smart thing about this French guy is that he actually speaks fluent
> >English - Sorry I could not resist :)
> 
> I recall a brief exchange on a DSP list that went something like this:
> 
> Q: Can anyone explain the FFT in simple terms ?
> A. No.
> 
> I have read and understood some articles and descriptions of the
> FFT. Mark Dolson's original article on the phase vocoder (in the
> Computer Music Journal V10,#4, Winter 1986), is still a good
> introduction for computer-based musicians, though it may be a bit
> too technical by contemporary standards.
> 
> Louigi, take a look at some descriptions of what an FFT does. It
> does use "windows" but you'll have to do some homework to find out
> what's meant by the term in this context.
> 
> http://en.wikipedia.org/wiki/FFT

since the FFT is just a fast way to compute the DFT
it might make more sense if you understood the DFT.

understanding why the FFT works, and why its faster is only useful if
you want to use it.

http://en.wikipedia.org/wiki/Discrete_Fourier_transform



> 
> Beware, that page is a maths page, it's not directly concerned with
> the use of the FFT in music/sound applications.
> 
> And btw, I agree wrt Paul's Extreme Stretch, it's a great tool.
> 
> Best,
> 
> dp
> 
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev

-- 
torben Hohn
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 13:15, Dave Phillips wrote:
> Robin Gareus wrote:
>>
>> In layman terms:
>>
>> There's a smart French guy by the name of Joseph F. sitting inside it:
>> If you play him some audio: He thinks: "Hey, this is actually just a few
>> simple sine-waves added together (superpositioned)", he quickly
>> calculates their frequencies and amplitudes and asks "Now, you want to
>> change the duration?" easy: "I'll generate some new sine-waves with
>> these frequencies and amplitudes, how long did you say you want?"
>>
>> (The smart thing about this French guy is that he actually speaks fluent
>> English - Sorry I could not resist :)
>>   
> 
> I recall a brief exchange on a DSP list that went something like this:
> 
> Q: Can anyone explain the FFT in simple terms ?
> A. No.

LOL.

basically, Fourier proved that any signal can be represented a sum of
sine-waves.

(well, that's not entirely true: it needs to be a periodic signal, but
the period length can approach infinity...)

FFT is "just" the implementation of that theorem (or Principle?!)

> I have read and understood some articles and descriptions of the FFT.
> Mark Dolson's original article on the phase vocoder (in the Computer
> Music Journal V10,#4, Winter 1986), is still a good introduction for
> computer-based musicians, though it may be a bit too technical by
> contemporary standards.
> 
> Louigi, take a look at some descriptions of what an FFT does. It does
> use "windows" but you'll have to do some homework to find out what's
> meant by the term in this context.
> 
> http://en.wikipedia.org/wiki/FFT
> 
> Beware, that page is a maths page, it's not directly concerned with the
> use of the FFT in music/sound applications.

It may help to make some connection with the equations on
http://en.wikipedia.org/wiki/Fourier_transform if you know that

  sin (x) = ImaginaryPartOf ( e^(i x) )
  cos (x) = RealPartOf ( e^(i x) )
  where i = sqrt(-1);

> And btw, I agree wrt Paul's Extreme Stretch, it's a great tool.

It is indeed. Kudos to Paul.


FWIW, http://arss.sourceforge.net/ works similarly. It provides
sound-to-image and image-to-sound functionality using FFT.

You can also use it to do time-stretching but it's actually more fun to
toy around with it: http://arss.sourceforge.net/examples.shtml


> Best,
> 
> dp
> 
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Louigi Verona
Thanks for all the info guys, I will read about FFT and all that. I hope it
will answer my wonders as to why there is no vibration in sound.

As for JACK support would anyone be interested in adding it, if it is
trivial? Would love to have it in my audio chain.

As for real time stretching, this is not necessary - it does react to
parameter change with a slight delay, but it is ok.

Louigi.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Dave Phillips

Robin Gareus wrote:


In layman terms:

There's a smart French guy by the name of Joseph F. sitting inside it:
If you play him some audio: He thinks: "Hey, this is actually just a few
simple sine-waves added together (superpositioned)", he quickly
calculates their frequencies and amplitudes and asks "Now, you want to
change the duration?" easy: "I'll generate some new sine-waves with
these frequencies and amplitudes, how long did you say you want?"

(The smart thing about this French guy is that he actually speaks fluent
English - Sorry I could not resist :)
  


I recall a brief exchange on a DSP list that went something like this:

Q: Can anyone explain the FFT in simple terms ?
A. No.

I have read and understood some articles and descriptions of the FFT. 
Mark Dolson's original article on the phase vocoder (in the Computer 
Music Journal V10,#4, Winter 1986), is still a good introduction for 
computer-based musicians, though it may be a bit too technical by 
contemporary standards.


Louigi, take a look at some descriptions of what an FFT does. It does 
use "windows" but you'll have to do some homework to find out what's 
meant by the term in this context.


http://en.wikipedia.org/wiki/FFT

Beware, that page is a maths page, it's not directly concerned with the 
use of the FFT in music/sound applications.


And btw, I agree wrt Paul's Extreme Stretch, it's a great tool.

Best,

dp

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Robin Gareus
On 09/30/10 09:40, Patrick Shirkey wrote:
> 
> On Thu, September 30, 2010 12:01 am, Louigi Verona wrote:
>> Hey guys!
>>
>> I have two questions.
>>
>> 1. How does Sound Stretch work? It is incredible the way it can produce a
>> tone which has no noticeable vibrations, just a wall of sound. How is that
>> accomplished, in layman terms if possible :)
> 
> It grabs a section of the audio and copies/multiplies it then appears to
> apply some pretty neat math to smooth it all out funnily enough using a
> selection of windows to get the best result.

Are you sure? Where did you get that info from?

Just skimming over Stretch.cpp gives me the impression that it's based
on Fourier analysis and re-sythesis.
http://en.wikipedia.org/wiki/Fourier_analysis

The process() loop looks like:
{
  apply_window();
  smp2freq(); // Fourier Analysis
  process_spectrum();
  freq2smp(); // Fourier Synth
}

In layman terms:

There's a smart French guy by the name of Joseph F. sitting inside it:
If you play him some audio: He thinks: "Hey, this is actually just a few
simple sine-waves added together (superpositioned)", he quickly
calculates their frequencies and amplitudes and asks "Now, you want to
change the duration?" easy: "I'll generate some new sine-waves with
these frequencies and amplitudes, how long did you say you want?"

(The smart thing about this French guy is that he actually speaks fluent
English - Sorry I could not resist :)

> 
>> 2. Can this program be jackified and is that a lot of work?
>>
> 
> It uses portaudio. Doesn't that have a jack output?

Yes, but its implementation is not very well done.

> Otherwise yes, he has designed it so that adding jack support would be
> fairly trivial.
> 

Indeed, to change the integrated player to output to JACK would be
trivial. It currently uses the PortAudio's StreamCallback which is very
similar to JACK's process callback.

Using it to do "live" timestreching with JACK (jack-in -> jack-out) is
AFAICT impossible because:


If you feed it N samples (or seconds) of audio you end up with M samples
(or seconds) with  M > N.

One could do a kludge:
eg. for a 1:10 time stretch with continuous output:
  - read 1 sec of audio from the input
  - ignore 9 secs of the input
but I don't think this will be useful.


best,
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Chris Cannam
On Thu, Sep 30, 2010 at 8:01 AM, Louigi Verona  wrote:
> 1. How does Sound Stretch work?

My (vague) recollection is that it is a phase vocoder in which the
phases are randomised.


Chris
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Patrick Shirkey

On Thu, September 30, 2010 12:01 am, Louigi Verona wrote:
> Hey guys!
>
> I have two questions.
>
> 1. How does Sound Stretch work? It is incredible the way it can produce a
> tone which has no noticeable vibrations, just a wall of sound. How is that
> accomplished, in layman terms if possible :)

It grabs a section of the audio and copies/multiplies it then appears to
apply some pretty neat math to smooth it all out funnily enough using a
selection of windows to get the best result.


> 2. Can this program be jackified and is that a lot of work?
>

It uses portaudio. Doesn't that have a jack output?

Otherwise yes, he has designed it so that adding jack support would be
fairly trivial.


Cheers.



-- 
Patrick Shirkey
Boost Hardware Ltd.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Paul's Extreme Sound Stretch

2010-09-30 Thread Louigi Verona
Hey guys!

I have two questions.

1. How does Sound Stretch work? It is incredible the way it can produce a
tone which has no noticeable vibrations, just a wall of sound. How is that
accomplished, in layman terms if possible :)
2. Can this program be jackified and is that a lot of work?


-- 
Louigi Verona
http://www.louigiverona.ru/
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev