On Fri, Feb 10, 2017 at 9:56 AM, Martin Hermant
<martin.herm...@gmail.com> wrote:
> hi guys,
> we are currently developing an audio looper (soon to be released in
opensource!)
> I?m facing the classical textbook case problem of glitch/pop free looping
>
>...
> fades in / out is a simple solution but create fake transient at loop
points on sustained sounds

there will never be a fake transient if the fade in/ fade out curves match
one another sample-for-sample, when applied to truly *sustained* material
(i.e., periodic material whose period divides the loop period evenly).  Iif
fadeout(i) is the amplitude of the fadeout curve at time i, and fadein(i)
is the amplitude of the fadein curve at time i, then so long as
fadeout(i) + fadein(i) == 1, there should never be an audible artifact when
applying a xfade to this kind of truly periodic material.  (That's not much
help for practical material, but it's a good sanity check of your looper.)

The thing is, if you take, say, a sustained piano note, its amplitude will
decay over the loop period.  in that case, if you use a short xfade of any
kind (regardless of its curvature), there's necessarily a jump back to the
earlier (larger) amplitude when going around the loop.  The only thing that
can be done is to use long xfade, but then you'll still hear the piano note
swelling in and out.  There's no "trick" to get out of the latter problem.

One thing I have seen in practice in this kind of stuff is not using linear
xfade curves, but rather exponential ones.  I.e., a gentle S curve out and
its time-reversed self to fade back in.  Linear xfade curves sum correctly
in the sense that fadeout + fadein == 1 at ever moment in time (assuming
that the fadeout curve is just a ramp from 1 to 0 and the fadein curve is a
ramp from 0 to 1, and they start simultaneously), but perceptually they
aren't natural, especially if they have any duration.  that's why xfade
handles on better DAWs offer a little exponential curve, that looks like a
bezier curve.  it's a lot easier to create natural-sound xfades with these
short exponential curves.  (They can be faked with e.g. cubic curves, in
the usual way that one fakes exponential envelopes with some kind of
polynomial form).

-Luddy

On Fri, Feb 10, 2017 at 7:35 AM <music-dsp-requ...@music.columbia.edu>
wrote:

> Send music-dsp mailing list submissions to
>         music-dsp@music.columbia.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://lists.columbia.edu/mailman/listinfo/music-dsp
> or, via email, send a message with subject or body 'help' to
>         music-dsp-requ...@music.columbia.edu
>
> You can reach the person managing the list at
>         music-dsp-ow...@music.columbia.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of music-dsp digest..."
>
>
> Today's Topics:
>
>    1. Web Audio Conference 2017 - 2nd Call for Submissions
>       (Mark Sandler)
>    2. glitch free looping (Martin Hermant)
>    3. Re: glitch free looping (Peter P.)
>    4. Re: glitch free looping (Bjorn Roche)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 10 Feb 2017 10:01:03 +0000
> From: Mark Sandler <mark.sand...@qmul.ac.uk>
> To: "music-and-scie...@jiscmail.ac.uk"
>         <music-and-scie...@jiscmail.ac.uk>,     "
> music-dsp@music.columbia.edu"
>         <music-dsp@music.columbia.edu>
> Subject: [music-dsp] Web Audio Conference 2017 - 2nd Call for
>         Submissions
> Message-ID: <b29dd536-c796-4653-ac11-51e900a95...@qmul.ac.uk>
> Content-Type: text/plain; charset="utf-8"
>
> # 3RD ANNUAL WEB AUDIO CONFERENCE - 2ND CALL FOR SUBMISSIONS
> http://wac.eecs.qmul.ac.uk
>
> The 3rd Web Audio Conference (WAC) will be held August 21-23, 2017 at the
> *Centre for Digital Music, Queen Mary University of London*. WAC is an
> international conference dedicated to web audio technologies and
> applications and addresses research, development, design, and standards
> concerned with emerging audio-related web technologies such as Web Audio
> API, Web RTC, WebSockets, and Javascript. The conference welcomes web
> developers, music technologists, computer musicians, application designers,
> researchers, and people involved in web standards. The first and second Web
> Audio Conferences were held in 2015 at IRCAM and Mozilla in Paris, and in
> 2016 at Georgia Tech in Atlanta. The conference will be colocated with
> Audio Mostly (August 23-25, 2017) and participants will have the
> opportunity to attend both at a discounted rate. More information can be
> found on the conference website: http://wac.eecs.qmul.ac.uk
>
> The Internet has become much more than a simple storage and delivery
> network for audio files, as modern web browsers on desktop and mobile
> devices bring new user experiences and interaction opportunities. New and
> emerging web technologies and standards now allow applications to create
> and manipulate sound in real-time at near-native speeds, enabling the
> creation of a new generation of web-based applications that mimic the
> capabilities of desktop software while leveraging unique opportunities
> afforded by the web in areas such as social collaboration, user experience,
> cloud computing, and portability. The Web Audio Conference focuses on
> innovative work by artists, researchers, students, and engineers in
> industry and academia, highlighting new standards, tools, APIs, and
> practices as well as innovative web audio applications for musical
> performance, education, research, collaboration, and production.
>
> ### Theme and Topics
>
> The theme for the third edition of the Web Audio Conference is
> *Collaborative Audio*. We particularly encourage submissions focusing on
> multi-user interaction, exchange, and collaboration across the web in the
> context of production, distribution, and consumption of audio material.
> Further areas of interest include:
>
> * Web Audio API, Web MIDI, Web RTC and other existing or emerging web
> standards for audio and music
> * Development tools, practices, and strategies of web audio applications
> * Innovative audio-based web applications
> * Web-based music composition, production, delivery, and experience
> * Client-side audio engines and audio processing/rendering (real-time or
> non real-time)
> * Cloud/HPC for music production and live performances
> * Audio data and metadata formats and network delivery
> * Server-side audio processing and client access
> * Frameworks for audio synthesis, processing, and transformation
> * Web-based audio visualization and/or sonification
> * Multimedia integration
> * Web-based live coding and collaborative environments for audio and music
> generation
> * Web standards and use of standards within audio-based web projects
> * Hardware and tangible interfaces and human-computer interaction in web
> applications
> * Codecs and standards for remote audio transmission
> * Any other innovative work related to web audio that does not fall into
> the above categories
>
> ### Keynote Speakers
>
> Keynote 1
> Chris Chafe, Director of Stanford University?s Center for Computer
> Research in
> Music and Acoustics (CCRMA): "Probing Rhythmic Synchronization in our
> Mind's Ear"
>
> Keynote 2
> TBA
>
> ### Submission Tracks
>
> We welcome submissions in the following tracks: papers, talks, posters,
> demos, performances, and artworks. All submissions will be single-blind
> peer reviewed. The conference proceedings, which will include both papers
> (for papers and posters) and extended abstracts (for talks, demos,
> performances, and artworks), will be published open-access online.
>
> *Papers*: Submit a 4-6 page paper to be given as an oral presentation.
>
> *Talks*: Submit a 1-2 page extended abstract to be given as an oral
> presentation.
>
> *Posters*: Submit a 2-4 page paper to be presented at a poster session.
>
> *Demos*: Submit a work to be presented at a hands-on demo session. Demo
> submissions should consist of a 1-2 page extended abstract including
> diagrams or images, and a complete list of technical requirements
> (including anything expected to be provided by the conference organizers).
>
> *Performances*: Submit a performance making creative use of web-based
> audio applications. Performances can include elements such as audience
> device participation and collaboration, web-based interfaces, Web MIDI,
> WebSockets, and/or other imaginative approaches to web technology.
> Submissions must include a title, a 1-2 page description of the
> performance, links to audio/video/image documentation of the work, a
> complete list of technical requirements (including anything expected to be
> provided by conference organizers), and names and one-paragraph biographies
> of all performers.
>
> *Artworks*: Submit a sonic web artwork or interactive application which
> makes significant use of web audio standards such as Web Audio API or Web
> MIDI in conjunction with other technologies such as HTML5 graphics, WebGL,
> and Virtual Reality frameworks. Works must be suitable for presentation on
> a computer kiosk with headphones. They will be featured at the conference
> venue throughout the conference and on the conference web site. Submissions
> must include a title, 1-2 page description of the work, a link to access
> the work, and names and one-paragraph biographies of the authors.
>
> *Tutorials*: If you are interested in running a tutorial session at the
> conference, please contact the organizers directly (wac2017 at easychair
> dot org).
>
> ### Important Dates
>
> March 29, 2017: submission deadline (updates possible until April 5, 2017,
> see below)
>
> May 17, 2017: author notification
>
> July 19, 2017: camera-ready versions due
>
> August 21-23, 2017: conference
>
> Preliminary versions of all submissions are due on March 29, 2017. No
> extension will be granted but the submission system will stay open until
> April 5, 2017 allowing authors to update their submissions during that
> time. At least one author of each accepted submission must register for and
> attend the conference in order to present their work. A limited number of
> student bursaries will be available.
>
> ### Templates and Submission System
>
> Latex and Word templates for all types of submissions are identical and
> are available on the conference website http://wac.eecs.qmul.ac.uk.
>
> We now accept submissions: https://cmt3.research.microsoft.com/WAC2017
>
> Best wishes,
> The WAC 2017 Committee
>
>
> --
> Dr Sebastian Ewert
> Lecturer in Signal Processing
> Centre for Digital Music (C4DM)
> School of Electronic Engineering and Computer Science
> Queen Mary University of London
> +44 20 7882 8287 <+44%2020%207882%208287>
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 10 Feb 2017 10:56:07 -0400
> From: Martin Hermant <martin.herm...@gmail.com>
> To: music-dsp@music.columbia.edu
> Subject: [music-dsp] glitch free looping
> Message-ID: <06ff2acb-ef5f-4550-b5c9-e143e3b60...@gmail.com>
> Content-Type: text/plain; charset=utf-8
>
> hi guys,
> we are currently developing an audio looper (soon to be released in
> opensource!)
> I?m facing the classical textbook case problem of glitch/pop free looping
>
> Problematic:
> loops have a defined number of sample (can?t change as it is bound to
> tempo)
> looping point need to be glitch free (no pop due to sudden sample
> variation between end and beginning of loop)
> need to keep simple playback code ,i.e best if the buffer is processed
> once then read ? normally ? (with less possible conditional cases handling
> these pops in audio callback)
>
> fades in / out is a simple solution but create fake transient at loop
> points on sustained sounds
>
> Solution implemented so far:
> -classic fade in fade out
> - zero pad befor and after first and last zero-crossing -> still got pops
> if no fade
>
> Solution I can think about :
> fade in beginning of loop before end point (complexifies playback code,
> different case when loop need to stop at end)
> some sort of stretching ensuring sample continuity
>
>
> any one can point me to some useful ressources on this?
> any advice or neat techniques?
>
>
> Thanks
>
> Martin
>
>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 10 Feb 2017 10:14:50 -0500
> From: "Peter P." <peterpar...@fastmail.com>
> To: music-dsp@music.columbia.edu
> Subject: Re: [music-dsp] glitch free looping
> Message-ID: <20170210151450.4qscwo4mmmgnc...@fastmail.com>
> Content-Type: text/plain; charset=utf-8
>
> * Martin Hermant <martin.herm...@gmail.com> [2017-02-10 10:00]:
> > hi guys,
> > we are currently developing an audio looper (soon to be released in
> opensource!)
> > I?m facing the classical textbook case problem of glitch/pop free looping
> >
> > Problematic:
> > loops have a defined number of sample (can?t change as it is bound to
> tempo)
> > looping point need to be glitch free (no pop due to sudden sample
> variation between end and beginning of loop)
> > need to keep simple playback code ,i.e best if the buffer is processed
> once then read ? normally ? (with less possible conditional cases handling
> these pops in audio callback)
> >
> > fades in / out is a simple solution but create fake transient at loop
> points on sustained sounds
> >
> > Solution implemented so far:
> > -classic fade in fade out
> > - zero pad befor and after first and last zero-crossing -> still got
> pops if no fade
> >
> > Solution I can think about :
> > fade in beginning of loop before end point (complexifies playback code,
> different case when loop need to stop at end)
> Read audio from buffer with two playheads and crossfade between them.
> See http://msp.ucsd.edu/techniques/v0.11/book-html/node36.html and the
> next two pages therein for details.
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 10 Feb 2017 10:33:19 -0500
> From: Bjorn Roche <bj...@xowave.com>
> To: A discussion list for music-related DSP
>         <music-dsp@music.columbia.edu>
> Subject: Re: [music-dsp] glitch free looping
> Message-ID:
>         <CAJUFw4fCfAvNVz1Wu0JTpi=
> vjyfyhqkw7abeko3daztw6k-...@mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> I've done this before. I can't recall for sure how I solved it, but,
> off the top of my head, this is what worked:
>
> Zero crossing for start points and fade-outs for the end points using
> a cosine or s-curve works well. There are small problems: finding the
> exact right fade-out time without user interaction may be tricky, but
> I recall it being shorter than expected (perhaps 1/60th of a second?).
> I don't recall ever having to program any sort of "intelligence" into
> that. To ensure the zero crossing always works, you may want to
> high-pass the incoming audio in case there's a strong DC-offset.
>
> I'm sure other techniques work, like fade-in instead of zero-crossing
> for the start-point, but then you have to deal with making sure you
> don't weaken the initial transient, which is very important in a loop,
> or get too much of the sound before the initial transient.
>
>
> On Fri, Feb 10, 2017 at 9:56 AM, Martin Hermant
> <martin.herm...@gmail.com> wrote:
> > hi guys,
> > we are currently developing an audio looper (soon to be released in
> opensource!)
> > I?m facing the classical textbook case problem of glitch/pop free looping
> >
> > Problematic:
> > loops have a defined number of sample (can?t change as it is bound to
> tempo)
> > looping point need to be glitch free (no pop due to sudden sample
> variation between end and beginning of loop)
> > need to keep simple playback code ,i.e best if the buffer is processed
> once then read ? normally ? (with less possible conditional cases handling
> these pops in audio callback)
> >
> > fades in / out is a simple solution but create fake transient at loop
> points on sustained sounds
> >
> > Solution implemented so far:
> > -classic fade in fade out
> > - zero pad befor and after first and last zero-crossing -> still got
> pops if no fade
> >
> > Solution I can think about :
> > fade in beginning of loop before end point (complexifies playback code,
> different case when loop need to stop at end)
> > some sort of stretching ensuring sample continuity
> >
> >
> > any one can point me to some useful ressources on this?
> > any advice or neat techniques?
> >
> >
> > Thanks
> >
> > Martin
> >
> > _______________________________________________
> > dupswapdrop: music-dsp mailing list
> > music-dsp@music.columbia.edu
> > https://lists.columbia.edu/mailman/listinfo/music-dsp
>
>
>
> --
> ---------------------
> Bjorn Roche
> bjornroche.com
> @bjornroche
>
>
> ------------------------------
>
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
> End of music-dsp Digest, Vol 20, Issue 13
> *****************************************
>
>
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to