Re: New D book available for pre-order: D Web Development

2015-11-29 Thread Kai Nacke via Digitalmars-d-announce

On Wednesday, 25 November 2015 at 04:35:47 UTC, Nick_B wrote:

On Wednesday, 29 July 2015 at 21:17:59 UTC, John wrote:

On Wednesday, 22 July 2015 at 15:29:20 UTC, Kai Nacke wrote:
my book D Web Development, available now for pre-order: 
https://www.packtpub.com/web-development/d-web-development




Will this book be available in hardcopy ?

Do you have a planned date for publication ?


Hi Nick!

Yes, the book will be available in hardcopy.

Proposed publication date is January 2016.

Regards,
Kai


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 16:15:32 UTC, Guillaume Piolat 
wrote:
There is also a sample-wise FFT I've came across, which is 
expensive but avoids chunking.


Hm, I don't know what that is :).

Looking for similar grains is the idea behind the popular 
auto-correlation pitch detection methods. Require two periods 
else no autocorrelation peak though. The rumor says that the 
non-realtime Autotune works with that, along with many modern 
pitch detection methods.


I thought they used Laroche and Dolson's FFT based one combined 
with a peak detector, but maybe that was the real time version.


There are other full spectral resynthesis methods that throw away 
phase information and represent each spectral components as a 
bandpass filter of noise. That is rather expressive since you can 
do morphing with it. (Like you can do with images). But since you 
throw away phase information I guess some attacks suffer, so you 
have to special case the attacks as "residue" samples that are 
left in the time domain (the difference between what you can 
represent as spectral components and the left over bits).


I don't know what "voicedness" is? You mean things like 
vibrato?


vibrato is the pitch variation that occur when the larynx is 
well relaxed.


Yes, so that will generate sidebands in the frequency spectrum, 
like FM synthesis, right? So in order to pick up fast vibrato I 
would assume you would also need to do analysis of the spectrum, 
or?


voicedness is the difference between sss(unvoiced) and 
zz (voiced).
A phonem is voiced when there is periodic glottal closure and 
openings.


Ah! In the 90s I read a paper in Computer Music journal where 
they did song synthesis by emulating the vocal tract as a 
"physical" filter-model. I'm not sure if they used FoF for 
generating the sound. I think there was a vinyl flexi disc with 
it too. :-) I have it somewhere...


You might find it interesting.

When the sound isn't voiced, there is no period. There isn't a 
"pitch" there. So pitch detection tend to come with a 
confidence measure.


So it is a problem for real time, but in non-real time you can 
work your way backwards and fill in the missing parts before 
doing resynthesis? I guess?


The devil in that is that voicedness itself is half a lie, or 
let say a leaky abstraction, it breaks down for distorted 
vocals.


Right. You have a lot of these problems in sound analysis. Like 
sound separation. The brain is so impressive. I still have 
problem understanding how we can hear 3D with two ears. Like 
distinguishing above and below. I understand the basics of it, 
but it is still impressive when you try to figure out _how_.



I guess that's why IRCAM can sell licenses to superVP. :)


Their paper on that topic are interesting, they group spectral 
peaks by formants and move them together.


I've read the Laroche and Dowson paper in detail, and more or 
less know it by heart now, but maybe you are thinking about some 
other paper? Their paper was good on the science part, but they 
leave the artistic engineering part open to the reader... ;-) 
More insight on the artistic engineering part is most welcome!!






Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 17:23:20 UTC, Ola Fosheim Grøstad 
wrote:



Yes, so that will generate sidebands in the frequency spectrum, 
like FM synthesis, right?


It won't because the vibrato frequency is too low, around 10hz.

So in order to pick up fast vibrato I would assume you would 
also need to do analysis of the spectrum, or?


Or just be fast to react, else this vibrato amplitude would be 
smoothed out.



So it is a problem for real time, but in non-real time you can 
work your way backwards and fill in the missing parts before 
doing resynthesis? I guess?


In non-realtime, everything is possible, you can have a bigger 
analysis window and much less problems.

For example, some use dynamic programming for pitch detection.

I've read the Laroche and Dowson paper in detail, and more or 
less know it by heart now, but maybe you are thinking about 
some other paper? Their paper was good on the science part, but 
they leave the artistic engineering part open to the reader... 
;-) More insight on the artistic engineering part is most 
welcome!!


Whatever the method, it's important to spend a lot of time in 
tuning.





Re: New D book available for pre-order: D Web Development

2015-11-29 Thread Kai Nacke via Digitalmars-d-announce
That's a great offer but unfortunately a bit late. I am currently 
reworking the last chapter. Publication date is near...


Regards,
Kai

On Wednesday, 25 November 2015 at 06:58:00 UTC, Rory McGuire 
wrote:

Any chance I could be added to the reviewers for this book?
English is my primary language and I use vibe.d about 25 work 
hours a week.


On Wed, Jul 22, 2015 at 5:29 PM, Kai Nacke via 
Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> 
wrote:



Hi all!

Did you notice that development of LDC has been a bit slowly 
in the past? The reason is my book D Web Development, 
available now for pre-order: 
https://www.packtpub.com/web-development/d-web-development


The story behind the book:
Some time after the review of the "D Cookbook" I was asked by 
Packt
Publishing if I would be interested in writing a book about 
web development
with D. By that time I used vibe.d only as a test case for LDC 
:-) But then
I took a closer look at the features of vibe.d and got 
enthusiastic about
it. I agreed to write the book. Hopefully the book shows much 
fun it is to

use D for web applications.

For me writing a book is an incredible experience. It's 
challenging because I am not a native English speaker. But I 
am having lot of fun in exploring all the details, creating 
examples and writing about it. I learned a lot in this 
process, including some more D programming. :-)


A big thank to all (known and unknown) reviewers, to Andrei 
for contributing the foreword and all others who helped in one 
way or the other.


Having finished about 60% of the chapters, the other 40% and 
the rework due to comments still absorb most of my time. 
Please be patient if fixing LDC bugs  takes some more time as 
usual.


Regards,
Kai





Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 17:36:47 UTC, Guillaume Piolat 
wrote:
On Sunday, 29 November 2015 at 17:23:20 UTC, Ola Fosheim 
Grøstad wrote:



Yes, so that will generate sidebands in the frequency 
spectrum, like FM synthesis, right?


It won't because the vibrato frequency is too low, around 10hz.


Right, so it will only be a serious problem if one went beyond 
2048 samples FFT, which isn't really necessary.


This is an interesting swedish paper on vibrato btw:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.436.4888=rep1=pdf



Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 13:21:53 UTC, Ola Fosheim Grøstad 
wrote:


I remember the electro acoustic people here in Oslo (NoTAM) 
doing live pitchtracking 20 years ago, I believe they used an 
envelope follower of some sort. Just measuring the distance 
between the tops? That was to have the "electronic 
accompaniment" follow the lead of the vocalist I believe.




The hard thing about live pitch-tracking is getting the minimal 
latency keeping reliability. It's not that simple. You also want 
"voicedness", which is more challenging than pitch.


But it has different latency characteristics, overlapped FFT 
easily goes into the 20/30 ms.


It depends on how low down in frequency you need to go, a 
female voice is at 160 hz and up, and a child is at 250hz and 
up. In that frequency range one could do better. And at the 
cost of complexity you could use two FFTs, one for the lower 
range and another for the higher range.


Thought about it but a singer could usually cover a range of 3 
octaves, even if very few song mandate it: 
https://www.youtube.com/watch?v=cveoHrMyUDs=41s.


A man voice could go as low as say 40hz.
Only if you would need only one period to guess the pitch 
(unlikely), that's already 25ms latency guaranteed, and that's 
before you introduce FFT overlap! (if you want eg. to track 
harmonics, get formants through linear prediction, etc).


I've not tried the multiple FFT, I was worried pitch would lag 
oddly when changing FFT size. Perhaps it could work.



Or maybe one can use wavelets, but I don't know much about 
wavelet transforms (they don't map to cosine, so imagine it 
will be much harder to do well).


I have trouble to imagine the reconstruction so don't use them 
(well, I did once, but didn't _get_ it).


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce

On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
While, this doesn't prove you don't have a clue about jitter, 
my guess is, you don't.


Yes, jitter is bad and worse than latency, but OS-X AudioUnits 
run at a high priority thread where you cannot do system calls, 
malloc or run a GC. So the GC statements are misleading. It is 
unfortunately common in these forums to overstate what D features 
are good for. It's just the usual fanboism superiority complex, 
it is an annoying aspect of the D culture, I agree. Just don't 
let it get to you, it is present in just about every thread. :-)





Re: Beta D 2.069.2-b1

2015-11-29 Thread Jacob Carlborg via Digitalmars-d-announce

On 2015-11-28 18:16, Martin Nowak wrote:

First beta for the 2.069.2 point release.

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.069.2.html


Seems to build all my projects :)

--
/Jacob Carlborg


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce

On Sunday, 29 November 2015 at 09:12:42 UTC, deadalnix wrote:
I see that if that RT music thing doesn't pan out for you, you 
can always become a psychiatrist. You are a man a many talents, 
congrats.


Maybe you and Guillaume Piolat should try to tone down your 
french rhetorics? I don't think Ponce's product benefits from 
this (or from announcing that he is using a GC.).




Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Any via Digitalmars-d-announce

On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
um, come on, you sit here and preach that I don't know what I'm 
talking about yet you can't even be right on the first sentence?


jitter is the standard deviation of the timings. Do you know 
what standard deviation is? It is the square root of the sum of 
the squares...


Jitter is any deviation in, or displacement of, the signal pulses 
in a high-frequency digital signal. The deviation can be in terms 
of amplitude, phase timing or the width of the signal pulse.


The units of jitter measurement are picoseconds peak-to-peak (ps 
p-p), rms, and percent of the unit interval (UI).


See google.


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread deadalnix via Digitalmars-d-announce

On Sunday, 29 November 2015 at 05:59:19 UTC, Jonny wrote:
I feel sorry for you. You are filled with hatred. I'm sorry if 
your life sucks, but no reason to blame me, put the blame 
squarely where it goes... on yourself.


If you actually did any RT music for a living, it would be a 
big issue, instead, you cowardly make your pathetic remarks 
behind a keyboard and have no clue about the real issues 
involved.


I hope you get things figured out before you die, else you've 
wasted your life ;/


I see that if that RT music thing doesn't pan out for you, you 
can always become a psychiatrist. You are a man a many talents, 
congrats.




Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Warwick via Digitalmars-d-announce

On Sunday, 29 November 2015 at 09:12:18 UTC, Any wrote:

On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
um, come on, you sit here and preach that I don't know what 
I'm talking about yet you can't even be right on the first 
sentence?


jitter is the standard deviation of the timings. Do you know 
what standard deviation is? It is the square root of the sum 
of the squares...


Jitter is any deviation in, or displacement of, the signal 
pulses in a high-frequency digital signal. The deviation can be 
in terms of amplitude, phase timing or the width of the signal 
pulse.


The units of jitter measurement are picoseconds peak-to-peak 
(ps p-p), rms, and percent of the unit interval (UI).


See google.


We're talking about whether a plugin / audio code / runtime 
environment can deliver audio to a soundcard in a reliable manner 
so that you don't get audio drop outs. We're not talking about 
the jitter of a digital clock source that's used to control the 
actual sampling stream. It's similar but at the level of the 
audio buffer timeslice, not the unit delta of the sample stream. 
The jitter of an audio clock source is for electronic engineers 
not audio plugin developers.


In general terms of delivering audio to a soundcard jitter would 
be the variation in the time take to deliver each buffers worth 
of audio data to the soundcard. If the sound card has 5ms 
latency, then you need to make sure your audio processing never 
takes more than that.


The point is that it is better to have an algorithm that always 
takes 3ms, than one that usually takes 2ms but occasionally takes 
6ms. Because those times when it takes 6ms it cant feed the 
soundcard in time for the next audio buffer to be delivered.


In more precise terms jitter is the variation in the time a given 
algorithm takes to process. I mean if the code is identical and 
doesn't change from one buffer to the next, the variation in time 
take to produce a each buffers worth of data.


It's important to remember that a typical DAW user may have 10, 
20, or 100+ plugins loaded, and it may be hitting 80 or 90 
percent CPU usage in places. With constantly changing loads on 
the plugins.


IE. If you are at 90% cpu usage with 5ms timeslice you can only 
tollerate 0.5ms jitter before the shit hits the fan. So the 
important question is not "does it work", it's "does it work 
under heavy load".






Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 11:58:20 UTC, Guillaume Piolat 
wrote:
I've never said the GC is compatible with real-time, it isn't. 
I said, we can avoid it in a small part of an application and 
be real-time. So D can do real-time (audio).


Yes, but why say it if you don't use it after init?

It's not new that D, like C++, can work like a more powerful 
version of C. Although I had to create a lot of fuzz to even get 
to this point where we now have at least the @nogc tag. A couple 
of years ago neither Walter or Andrei showed any sign of 
understanding that being GC reliant was an issue for a system 
level programming language. That attitude is pretty common for 
languages that ship with a GC, and is the reason for why people 
don't want audio software using it (or is boasting it).




Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 12:28:49 UTC, Ola Fosheim Grøstad 
wrote:
The sound samples sound quite a bit like the classic vocal 
sound of Infected Mushroom to my ears, which is cool.


Infected Mushroom released another plugin recently: 
http://www.musicradar.com/news/tech/infected-mushroom-present-the-i-wish-granular-note-freezing-plugin-631043


I assume you are using a peak detector to get the consonants 
through and granular synthesis to do the frequency shifting in 
the time domain?


It's a pitch-tracking poly-Bode-shifter. The pitch tracking part 
is secret(tm).
The frequency shifting is regular, doesn't need Overlap Add like 
pitch-shifting.



Maybe something like this for transients, or perhaps something 
less involved?


http://recherche.ircam.fr/anasyn/roebel/paper/icmc2003.pdf


The phase vocoders of IRCAM are very impressive at work, they 
have. I remember a demo where they changed male to female with 
algorithms tuned for a voice.
But it has different latency characteristics, overlapped FFT 
easily goes into the 20/30 ms.


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 12:40:43 UTC, Ola Fosheim Grøstad 
wrote:
On Sunday, 29 November 2015 at 11:58:20 UTC, Guillaume Piolat 
wrote:
I've never said the GC is compatible with real-time, it isn't. 
I said, we can avoid it in a small part of an application and 
be real-time. So D can do real-time (audio).


Yes, but why say it if you don't use it after init?


Well, this fit some style of applications like video encoders too.
With games I did have more problems with GC, unless pooling.
Problems that C++ wouldn't have with malloc.

It's not new that D, like C++, can work like a more powerful 
version of C. Although I had to create a lot of fuzz to even 
get to this point where we now have at least the @nogc tag. A 
couple of years ago neither Walter or Andrei showed any sign of 
understanding that being GC reliant was an issue for a system 
level programming language. That attitude is pretty common for 
languages that ship with a GC, and is the reason for why people 
don't want audio software using it (or is boasting it).


There is a perception problem, and it's reason enough not to talk 
about this GC thing anymore. Because tt hasn't been a problem, 
was easily avoided, and now is just negative PR for nothing.





Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 12:40:30 UTC, Guillaume Piolat 
wrote:
On Sunday, 29 November 2015 at 12:28:49 UTC, Ola Fosheim 
Grøstad wrote:
The sound samples sound quite a bit like the classic vocal 
sound of Infected Mushroom to my ears, which is cool.


Infected Mushroom released another plugin recently: 
http://www.musicradar.com/news/tech/infected-mushroom-present-the-i-wish-granular-note-freezing-plugin-631043


Hmm, yes, that looks like a simple loop algorithm. One can do 
interesting things with simple effects, like zero-crossing 
slicing. Btw, I recently found out that an ex-colleague of me has 
created a song with them called "Nerds on Mushrooms", IIRC he is 
quite fond of the vintage game music soundscape.


I assume you are using a peak detector to get the consonants 
through and granular synthesis to do the frequency shifting in 
the time domain?


It's a pitch-tracking poly-Bode-shifter. The pitch tracking 
part is secret(tm).


I remember the electro acoustic people here in Oslo (NoTAM) doing 
live pitchtracking 20 years ago, I believe they used an envelope 
follower of some sort. Just measuring the distance between the 
tops? That was to have the "electronic accompaniment" follow the 
lead of the vocalist I believe.


Maybe something like this for transients, or perhaps something 
less involved?


http://recherche.ircam.fr/anasyn/roebel/paper/icmc2003.pdf


The phase vocoders of IRCAM are very impressive at work, they 
have.


IRCAM has done a lot of interesting things. In the 90s they had 
the IRCAM workstation which was a NeXT cube with lots of DSP card 
so that you could run Max real time.


But it has different latency characteristics, overlapped FFT 
easily goes into the 20/30 ms.


It depends on how low down in frequency you need to go, a female 
voice is at 160 hz and up, and a child is at 250hz and up. In 
that frequency range one could do better. And at the cost of 
complexity you could use two FFTs, one for the lower range and 
another for the higher range.


Or maybe one can use wavelets, but I don't know much about 
wavelet transforms (they don't map to cosine, so imagine it will 
be much harder to do well).




Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 09:55:43 UTC, Ola Fosheim Grøstad 
wrote:

On Sunday, 29 November 2015 at 09:12:42 UTC, deadalnix wrote:
I see that if that RT music thing doesn't pan out for you, you 
can always become a psychiatrist. You are a man a many 
talents, congrats.


Maybe you and Guillaume Piolat should try to tone down your 
french rhetorics? I don't think Ponce's product benefits from 
this (or from announcing that he is using a GC.).


I must admit the inflammatory tone got me. Sorry to everyone 
reading this thread.


Re: Is there anyone willing to do the videos 18sex website?

2015-11-29 Thread tired_eyes via Digitalmars-d-announce

On Sunday, 29 November 2015 at 02:19:30 UTC, mcss wrote:
I want to find a partner to do the world's largest 18sex video 
site.


Lol, such an ambitious project! Dlang definetely needs a success 
story of that kind :) Please keep us posted!


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce

On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:


um, come on, you sit here and preach that I don't know what I'm 
talking about yet you can't even be right on the first sentence?


jitter is the standard deviation of the timings. Do you know 
what standard deviation is? It is the square root of the sum of 
the squares...


There is different "jitters":
https://en.wikipedia.org/wiki/Jitter see at Sampling Jitter

Audio plugins create latency if they are slow but not sampling 
jitter, which is a property of the sound card.


What you mean is that when a plugin is slow it create a jitter 
sound when the get back?



Also, if you simply removed the GC from D so it doesn't get 
called, then whats the point? Anyone can do that(more or less). 
If you used manual memory management, then whats the point? C++ 
already does that and does RT audio already. We know D can be 
made to do this already.


No, I've seen people claim exactly the reverse, that D can't do 
RT audio. You even do so below.



If you pause the GC so it doesn't get called a lot, then whats 
the point? If you run your software for 3 hours, if it going to 
survive or glitch?


GC isn't paused, it doesn't trigger because there is no periodic 
allocations.



Do you know what "design for the worse case scenario" means? 
While RT audio isn't life and death, it's treated that why by 
the professional community.


It's important to me, else I wouldn't have ensure the GC never 
collects.


Please stop the appeals to authority already. Unless you state 
who you are perhaps? Jonny the drummer.



Just because it's acceptable to you to define RT audio in some 
way that justifies it for you does not mean it's RT audio. I'm 
not saying your software isn't RT, but if you use the GC in any 
way what so ever, you don't have RT audio...


This doesn't make sense. If it doesn't glitch, doesn't introduce 
latency or jitter, then it's RT audio. You can try the plugin at 
home to verify that.


regardless if it behaves like RT 99.99% percent. (there is 
something about guaranteed *maximum* latency that you have to 
deal with)


Familiar with the IPlug framework? It takes locks in the audio 
callback.
A lock isn't guaranteed to have a maximum latency, but it's very 
fast. That doesn't prevent successful software like KlangHelm's 
MJUC to work.

https://github.com/olilarkin/wdl-ol/blob/cb51edc105c6cc927530a6ac0459dcee0097a23c/WDL/IPlug/IPlugVST3.cpp#L341

But wait!
JUCE is also doing that.
https://github.com/julianstorer/JUCE/blob/master/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp#L582

It turns out the two most used audio plugins frameworks out there 
do things that don't have maximum latency predictibility. Have 
you gone bugger them?






Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce

On Sunday, 29 November 2015 at 10:14:40 UTC, Warwick wrote:
We're talking about whether a plugin / audio code / runtime 
environment can deliver audio to a soundcard in a reliable 
manner so that you don't get audio drop outs. We're not talking 
about the jitter of a digital clock source that's used to 
control the actual sampling stream. It's similar but at the 
level of the audio buffer timeslice, not the unit delta of the 
sample stream. The jitter of an audio clock source is for 
electronic engineers not audio plugin developers.


Thanks for saying this.
Said it better than anyone.


IE. If you are at 90% cpu usage with 5ms timeslice you can only 
tollerate 0.5ms jitter before the shit hits the fan. So the 
important question is not "does it work", it's "does it work 
under heavy load".


A common counter-point to stay clear of glitches is stay way 
below 90% CPU usage, have larger buffers or a beefier CPU. If you 
are maxing out the CPU you are asking for problems, it's not just 
the plugins being unpredictable. After all our OS aren't RTOS.






Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 08:12:17 UTC, Ola Fosheim Grøstad 
wrote:

On Sunday, 29 November 2015 at 06:18:13 UTC, Jonny wrote:
While, this doesn't prove you don't have a clue about jitter, 
my guess is, you don't.


Yes, jitter is bad and worse than latency, but OS-X AudioUnits 
run at a high priority thread where you cannot do system calls, 
malloc or run a GC. So the GC statements are misleading.


Wait.
What GC statements are _misleading_?

I've never said the GC is compatible with real-time, it isn't. I 
said, we can avoid it in a small part of an application and be 
real-time. So D can do real-time (audio).


Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 11:15:41 UTC, Guillaume Piolat 
wrote:
On Sunday, 29 November 2015 at 09:55:43 UTC, Ola Fosheim 
Grøstad wrote:

On Sunday, 29 November 2015 at 09:12:42 UTC, deadalnix wrote:
I see that if that RT music thing doesn't pan out for you, 
you can always become a psychiatrist. You are a man a many 
talents, congrats.


Maybe you and Guillaume Piolat should try to tone down your 
french rhetorics? I don't think Ponce's product benefits from 
this (or from announcing that he is using a GC.).


I must admit the inflammatory tone got me. Sorry to everyone 
reading this thread.


:) What about writing a blog about the sonic qualities and 
measurable qualities of your plugin? I sure would want to read 
that.


And I think that is more interesting to musicians than what 
language you use (which can easily be misinterpreted if you say 
you are not using C/C++ ;)


The sound samples sound quite a bit like the classic vocal sound 
of Infected Mushroom to my ears, which is cool. I assume you are 
using a peak detector to get the consonants through and granular 
synthesis to do the frequency shifting in the time domain?


Maybe something like this for transients, or perhaps something 
less involved?


http://recherche.ircam.fr/anasyn/roebel/paper/icmc2003.pdf



Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Sunday, 29 November 2015 at 15:13:41 UTC, Guillaume Piolat 
wrote:
The hard thing about live pitch-tracking is getting the minimal 
latency keeping reliability. It's not that simple. You also 
want "voicedness", which is more challenging than pitch.


I think they developed it for a specific work, but IIRC it was 
challenging to get it accurate.


I don't now much about current pitch trackers, but I think you 
can do a high quality one for voice using filterbanks. Some 
people do resynthesis that way (and well, that is just an 
alternative to FFT after all). That's pretty much how cochlea 
works, I think, by having overlapping frequency bands. But it 
probably is hard to get right. I assume you can make a better 
pitch tracker that is specialized for voice by thinking about FoF 
synthesis, the sound of the voice is really a sequence of bursts 
of roughly the same shape (like granular synthesis in a way) and 
you should be able to figure out some statistical relationship 
between formants and how they change with pitch. I'm not saying 
it is easy. Probably a lot published on this though.


I don't know what "voicedness" is? You mean things like vibrato?

I've not tried the multiple FFT, I was worried pitch would lag 
oddly when changing FFT size. Perhaps it could work.


I think it should work in theory, but you'll probably get some of 
complications due to the distortions that comes with the 
windowing function etc? And making a real time phase vocoder is 
more work than it looks like on paper... Obviously doable, but 
there are some "missing bits" in the theoretical descriptions. I 
guess that's why IRCAM can sell licenses to superVP. :)


Or maybe one can use wavelets, but I don't know much about 
wavelet transforms (they don't map to cosine, so imagine it 
will be much harder to do well).


I have trouble to imagine the reconstruction so don't use them 
(well, I did once, but didn't _get_ it).


Yeah, I don't know. Still, in the past few years it has been 
popular with distorted and glitchy sounds, so maybe one could do 
some cool distorted effects with it.




Re: Graillon 1.0, VST effect fully made with D

2015-11-29 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 29 November 2015 at 15:34:34 UTC, Ola Fosheim Grøstad 
wrote:


I don't now much about current pitch trackers, but I think you 
can do a high quality one for voice using filterbanks. Some 
people do resynthesis that way (and well, that is just an 
alternative to FFT after all).


You are precisely right, if you don't need reconstruction nothing 
forces you to use the FFT!
There is also a sample-wise FFT I've came across, which is 
expensive but avoids chunking.



I assume you can make a better pitch tracker that is 
specialized for voice by thinking about FoF synthesis, the 
sound of the voice is really a sequence of bursts of roughly 
the same shape (like granular synthesis in a way) and you 
should be able to figure out some statistical relationship 
between formants and how they change with pitch.


Looking for similar grains is the idea behind the popular 
auto-correlation pitch detection methods. Require two periods 
else no autocorrelation peak though. The rumor says that the 
non-realtime Autotune works with that, along with many modern 
pitch detection methods.



I'm not saying it is easy. Probably a lot published on this 
though.


I don't know what "voicedness" is? You mean things like vibrato?


vibrato is the pitch variation that occur when the larynx is well 
relaxed.


voicedness is the difference between sss(unvoiced) and zz 
(voiced).
A phonem is voiced when there is periodic glottal closure and 
openings.


When the sound isn't voiced, there is no period. There isn't a 
"pitch" there. So pitch detection tend to come with a confidence 
measure.


The devil in that is that voicedness itself is half a lie, or let 
say a leaky abstraction, it breaks down for distorted vocals.



I guess that's why IRCAM can sell licenses to superVP. :)


Their paper on that topic are interesting, they group spectral 
peaks by formants and move them together.







Re: New D book available for pre-order: D Web Development

2015-11-29 Thread Nick B via Digitalmars-d-announce

On Sunday, 29 November 2015 at 18:24:38 UTC, Kai Nacke wrote:

On Wednesday, 25 November 2015 at 04:35:47 UTC, Nick_B wrote:




Hi Nick!

Yes, the book will be available in hardcopy.

Proposed publication date is January 2016.

Regards,
Kai



Kai - Are you saying that the hardcopy will be available Jan 2016 
?


Nick



Learning D

2015-11-29 Thread bachmeier via Digitalmars-d-announce
The book "Learning D" by Michael Parker is available at half 
price through November 30:


https://www.packtpub.com/application-development/learning-d

I did not know it was out, but I bought a copy today, and it is 
quite a resource. It looks like it covers a lot of topics for 
which the documentation isn't helpful (at least to me) or 
nonexistent.


"D Web Development" can also be preordered at half price:

https://www.packtpub.com/web-development/d-web-development


Beta D 2.069.2-b2

2015-11-29 Thread Martin Nowak via Digitalmars-d-announce
Second beta for the 2.069.2 point release.

New fixes:

Bugzilla 15281: std\experimental\allocator\package.d not included in
build script

http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.069.2.html

Please report any bugs at https://issues.dlang.org

-Martin


Re: Learning D

2015-11-29 Thread Mike Parker via Digitalmars-d-announce

On Monday, 30 November 2015 at 02:36:01 UTC, bachmeier wrote:
The book "Learning D" by Michael Parker is available at half 
price through November 30:


https://www.packtpub.com/application-development/learning-d

I did not know it was out, but I bought a copy today, and it is 
quite a resource. It looks like it covers a lot of topics for 
which the documentation isn't helpful (at least to me) or 
nonexistent.


"D Web Development" can also be preordered at half price:

https://www.packtpub.com/web-development/d-web-development


Thanks for posting this! I wasn't aware. The publisher has yet to 
notify me.


Re: Learning D

2015-11-29 Thread Joakim via Digitalmars-d-announce

On Monday, 30 November 2015 at 04:09:46 UTC, Mike Parker wrote:

On Monday, 30 November 2015 at 02:36:01 UTC, bachmeier wrote:
The book "Learning D" by Michael Parker is available at half 
price through November 30:


https://www.packtpub.com/application-development/learning-d

I did not know it was out, but I bought a copy today, and it 
is quite a resource. It looks like it covers a lot of topics 
for which the documentation isn't helpful (at least to me) or 
nonexistent.


"D Web Development" can also be preordered at half price:

https://www.packtpub.com/web-development/d-web-development


Thanks for posting this! I wasn't aware. The publisher has yet 
to notify me.


There's no Table of Contents or free sample, should add those so 
we can know more about the contents.


Re: Learning D

2015-11-29 Thread Mike Parker via Digitalmars-d-announce

On Monday, 30 November 2015 at 07:24:35 UTC, Joakim wrote:

On Monday, 30 November 2015 at 04:09:46 UTC, Mike Parker wrote:

On Monday, 30 November 2015 at 02:36:01 UTC, bachmeier wrote:
The book "Learning D" by Michael Parker is available at half 
price through November 30:


https://www.packtpub.com/application-development/learning-d

I did not know it was out, but I bought a copy today, and it 
is quite a resource. It looks like it covers a lot of topics 
for which the documentation isn't helpful (at least to me) or 
nonexistent.


"D Web Development" can also be preordered at half price:

https://www.packtpub.com/web-development/d-web-development


Thanks for posting this! I wasn't aware. The publisher has yet 
to notify me.


There's no Table of Contents or free sample, should add those 
so we can know more about the contents.


Totally beyond my control. My most recent email asking about the 
book's status hasn't yet been answered. I think the release isn't 
quite fully completed yet. The print version isn't available from 
the PACKT site yet. Anyway, here's the TOC:


1.	How to Get a D in Programming - introduction to the language, 
DMD, DUB and the sample project.
2.	Building a Foundation with D Fundamentals - a massive chapter 
on the language basics.
3.	Programming Objects the D Way - D's support for user-defined 
types: enums, structs, and classes. Includes module constructors 
and exception handling.
4.	Running Code at Compile Time - a short chapter on different 
CTFE and other compile-time features (static if, version, string 
mixins)

5.  Generic Programming Made Easy - templates
6.	Understanding Ranges - introduction to ranges. Covers what 
they are, how to use them, and how to define them.
7.	Composing Functional Pipelines with Algorithms and Ranges - a 
short look at functional style in D and a tour or std.algorithm & 
std.range.

8.  Exploring the Wide World of D - a tour of the D ecosystem
9.	Connecting D with C - binding to C, calling C from D and 
calling D from C.

10. Taking D Online - an example vibe.d project
11. Taking D to the Next Level - advice on where to go next 
for features not covered in the book.