text:
\section{Introduction}
\label{introduction}
\vspace{-0.8cm}
\begin{center}
\begin{figure}[t]\centering
\includegraphics[width=0.5\textwidth]{figures/diffusion.pdf}
     \caption{Diagram of our proposed method. We leverage a  forward Gaussian process (right-to-left) to learn the score of contextual sets (depicted in gray) of instrumental sources (depicted in colors) across different time steps $t$. During inference, the process is reversed (left-to-right), letting us perform tasks such as total generation, partial generation, or source separation (see Figure \ref{fig:msdm}).}
    \label{fig:diffusion}
\end{figure}
\end{center}
In this work, we focus on the tasks of generation and separation within the musical domain.

In the audio domain, the combination of multiple sound sources $\{\mathbf{x}_1, \dots, \mathbf{x}_N\}$, at the same time and location, results in a mixture $\mathbf{y} = \sum_{n=1}^{N} \mathbf{x}_n$, which is the sum of the individual sources. Unlike in other classical subsets of the audio domain (e.g., speech), sources (stems) present in musical mixtures share a \textit{context} given their strong interdependence. For example, the bass line of a song follows the drum's rhythm and harmonizes with the melody of the guitar. Mathematically, this fact can be expressed by saying that the joint distribution of the sources $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$ does {\em not} factorize into the product of the individual sources $\{p(\mathbf{x}_n)\}_{n = 1, \dots, N}$. Having knowledge of the joint $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$ implies knowing the distribution over the mixtures $p(\mathbf{y})$, since the latter can be obtained through the sum. The converse is more difficult mathematically, being an inverse problem.

Nevertheless, human beings have developed the ability to process multiple sound sources simultaneously both in terms of synthesis (i.e., musical composition or generation) and analysis (i.e., source separation). More specifically, humans can synthesize multiple sources $\{\mathbf{x}_1, \dots, \mathbf{x}_N\}$  that sum to a coherent mixture $\mathbf{y}$ and extract the individual sources $\{\mathbf{x}_1, \dots, \mathbf{x}_N\}$ from a mixture $\mathbf{y}$.

To the best of our knowledge, no model in deep learning literature can perform both tasks simultaneously.
Models targeted for the generation task learn the distribution $p(\mathbf{y})$ over the mixtures directly, thus collapsing the information needed for the separation task. In this case, we have accurate modeling of the mixture but do not have information about the individual sources. It is worth noting that approaches that model the distribution of mixtures conditioning on textual data \cite{schneider2023mousai, agostinelli2023musiclm} also face the same limitations.
On the contrary, models for source separation either target the distribution of the individual sources conditioned on the mixture $p(\mathbf{x}_1, \dots, \mathbf{x}_N \mid \mathbf{y}$) \cite{guso2022on}, or they learn a single model $p(\mathbf{x}_n)$ for each source distribution and condition on the mixture at inference time \cite{jayaram2020, postolache2023}.
In both cases, generating mixtures is impossible. In the first case, the model inputs a mixture, which hinders the possibility of unconditional modeling, not having direct access to $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$ (or equivalently to $p(\mathbf{y})$). In the second case, although we can accurately model each source independently, all the essential information about the interdependence between them is missing.

\textbf{Contribution.} Our contribution is three-fold. \textbf{(i)} First, we join the worlds of source separation and music generation, by learning the joint distribution of contextual (i.e., belonging to the same song) sources $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$, which we will refer to as our \textit{prior} distribution. To this end, we train a \textit{Multi-Source Diffusion Model (MSDM)} based on the framework of denoising score matching \cite{dickstein2015deepunsupervised, ho2020denoising, song2021scorebased, karras2022elucidating}. During inference, generation is executed by sampling from the prior, while separation is performed through conditioning the prior on the mixture and sampling from the resulting posterior distribution. \textbf{(ii)} This new formulation opens the doors to novel tasks in the generative domain, such as \textit{source imputation}, where we create accompaniments by generating a subset of the sources given the others (e.g., play a piano track that goes well with the drums).
\textbf{(iii)} Lastly, in order to obtain competitive results on source separation with respect to regressors, we propose a new sampling procedure based on Dirac delta functions, exploiting the functional relationship between the sources and the mixture.

\section{Related Work}\label{related}
\vspace{-0.8cm}
\begin{center}
\begin{figure*}[ht]
   \includegraphics[width=1.0\textwidth]{figures/msdm.pdf}
     \caption{Inference tasks with MSDM. Oblique lines represent the presence of noise in the signal, which is highest at time $T$, when we start the sampling procedure. On the top left, all stems in a mixture are generated, resulting in a total generation. On the bottom left, we perform partial generation (source imputation) by fixing the sources $\mathbf{x}_1$ (bass) and $\mathbf{x}_3$ (piano) and generating the other two sources $\hat{\mathbf{x}}_2^{(0)}$ (drums) and $\hat{\mathbf{x}}_4^{(0)}$ (guitar). With $F_t(\mathbf{x}_1)$ and $F_t(\mathbf{x}_3)$, we denote the noisy stems obtained via the perturbation kernel in Equation \eqref{eq:perturbation_kernel}. On the right, we perform source separation by conditioning the prior with a mixture $\mathbf{y}$ perturbed with Equation \eqref{eq:perturbation_kernel} (i.e., $F_t(\mathbf{y})$), following Algorithm \ref{alg:total_sep}.}
    \label{fig:msdm}
\end{figure*}
\end{center}

\subsection{Generative Models for Audio}
Deep generative models for audio learn, directly or implicitly, the distribution of signals, represented in our notation by $p(\mathbf{y})$, possibly conditioning on additional data such as text.
Various general-purpose generative models have been adapted for use in the audio field, such as autoregressive models, GANs \cite{donahue2019wavegan}, and diffusion models.

Autoregressive models for audio are the oldest and best established \cite{vandenoord16_ssw}. Jukebox \cite{dhariwal2020jukebox} proposed to model musical tracks with Scalable Transformers \cite{vaswani2017attention} on hierarchical discrete representations obtained through VQ-VAEs \cite{van2017neural}. Furthermore, using a lyrics conditioner, this method succeeds in generating tracks with vocals following the text. Jukebox can model longer sequences in latent space,  but the audio output suffers from quantization artifacts. By incorporating residual quantization \cite{zeghidour2021soundstream}, newer latent autoregressive models \cite{borsos2022audiolm, kreuk2022audiogen} can handle extended contexts and output more coherent and naturally sounding generations. State-of-the-art autoregressive models for music can guide generation by conditioning on textual embeddings obtained via self-supervised large-scale pre-training \cite{agostinelli2023musiclm}. A concurrent work \cite{donahue23singsong}, introduces vocal-to-mixture accompaniment generation.
Our method differs from the latter since we generate accompaniments at the stem level, while the latter outputs a single accompainment mixture.

DiffWave \cite{kong2021diffwave} and WaveGrad \cite{chen2021wavegrad} are the first diffusion (score) based generative models in audio, tackling speech synthesis. Many subsequent models followed these preliminary works, mainly
 conditioned to solve particular tasks such as speech enhancement \cite{lu2021study, serra2022universal, saito2022unsupervised, sawata2022versatile}, audio upsampling \cite{lee21c_interspeech}, MIDI-to-waveform  \cite{mittal2021symbolicdiffusion, hawthorne2022multiinstrument} or spectrogram-to-MIDI generation \cite{cheuk2022diffroll}. The first work in source-specific generation with diffusion models is \cite{rouard2021crash}. \cite{yang2022diffsound, pascual2022full, Liu2023AudioLDMTG} propose text-conditioned diffusion models to generate general sounds, not focusing on any restricted class such as speech or music. Closer to our work, diffusion models that specifically target the musical domain are Riffusion \cite{Forsgren_Martiros_2022} and Moûsai \cite{schneider2023mousai}. Riffusion fine-tunes Stable Diffusion \cite{rombach2022high}, a large pre-trained text-conditioned vision diffusion model, over STFT magnitude spectrograms. Moûsai performs generation in a latent domain, resulting in context lengths that surpass the minute. Our score network follows the design of the U-Net proposed in Moûsai, albeit directly using the waveform data representation for simplicity.

\subsection{Audio Source Separation}
Existing models for audio source separation can be broadly classified into discriminative and generative models.

Discriminative source separators take the form of deterministic parametric models that input the mixtures and systematically extract one or all sources, maximizing the likelihood of some underlying conditional distribution $p(\mathbf{x}_1, \dots, \mathbf{x}_N \mid \mathbf{y})$. These models are typically trained with a regression loss \cite{guso2022on} on the reconstructed signal, represented as the waveform itself \cite{lluis2019end, luo2019conv, defossez2019}, its STFT \cite{takashi2018mmdenselstm, choi2021lasaft}, or both \cite{defossez2021hybrid}.

On the other hand, generative source separation models learn a prior model for each source, thus targeting the distributions $\{p(\mathbf{x}_{n})\}_{n \in \{1, \dots, N\}}$.
The mixture is observed only during inference, where a likelihood function links it to its constituent sources. The literature has explored different priors: GANs \cite{subakan2018generative, kong2019single, narayanaswamy2020unsupervised}, normalizing flows \cite{jayaram2020, zhu2022music}, and autoregressive models \cite{jayaram2021parallel, postolache2023}.

The separation method closer to ours is the NCSN-BASIS algorithm of \citet{jayaram2020}. This method was proposed for source separation in the image domain, and it works by performing Langevin Dynamics for separating the mixtures with an NCSN score-based model.
The main difference of our method with respect to other generative source separation methods (including NCSN-BASIS) is that we \textit{do not} assume independence between sources, and model the full joint distribution.

\begin{table*}[t!]
\caption
We summarize the different tasks solved at inference time, the column ``gradient'' shows the formula for the gradient that needs to be approximated, while the column ``score function'' shows the actual approximation. $\mathbf{x}(t) = (\mathbf{x}_1(t), \dots, \mathbf{x}_N(t))$ is a compressed notation for the sources.}
\label{tab:inference_meth}
\vskip 0.15in
\begin{center}
\begin{small}
\begin{sc}
 \begin{tabular}{p{3cm} | p{3cm} | p{4cm} | p{5cm}}
 \toprule
  & task & gradient & score function \\
 \midrule
total generation & \textnormal{Sample}  $\mathbf{x}(t)$ & $\nabla_{\mathbf{x}(t)} \log p_{\sigma(t)}(\mathbf{x}(t))$ & $S^{\theta}(\mathbf{x}(t), \sigma(t))$
\newline
\\
partial generation & \textnormal{Sample} $\mathbf{x}_{\overline{\mathcal{I}}}(t)$ \textnormal{given a subset of sources} $\mathbf{x}_{\mathcal{I}}(t)$ & $\nabla_{\mathbf{x}_{\overline{\mathcal{I}}}(t)} \log p_{\sigma(t)}(\mathbf{x}_{\overline{\mathcal{I}}}(t) | \mathbf{x}_{\mathcal{I}}(t))$ &  $S^{\theta}_{\mathcal{I}}([\mathbf{x}_{\overline{\mathcal{I}}}(t), \hat{\mathbf{x}}_{\mathcal{I}}(t)], \sigma(t))$, \newline
$\hat{\mathbf{x}}_{\mathcal{I}}(t) \sim \mathcal{N}(\mathbf{x}_{\mathcal{I}}(t); \mathbf{x}_{\mathcal{I}}(0), \sigma(t)^2 \mathbf{I})$
\newline
\\
Source separation & \textnormal{Sample} $\mathbf{x}(t)$ \textnormal{given the mixture} $\mathbf{y}$ & $\nabla_{\mathbf{x}(t)} \log p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})$ & $S^{\theta}_{n}(\tilde{\mathbf{z}}(t), \sigma(t)) -  S^{\theta}_{N}(\tilde{\mathbf{z}}(t), \sigma(t))$,  \newline $\tilde{\mathbf{z}}(t) =  [\mathbf{x}_{1:N-1}(t), \mathbf{y} - \mathbf{s}(\mathbf{x}_{1:N-1}(t))]$ \\
\bottomrule
\end{tabular}
\end{sc}
\end{small}
\end{center}
\vskip -0.15in
\end{table*}

To the best of our knowledge, the only works in which contextual information between sources is explicitly modeled in source separation are \cite{manilow2022improving}, and \cite{postolache2022adversarial}. The first study models the relationship between sources by training an orderless NADE estimator, which predicts a subset of the sources while conditioning on the input mixture and the remaining sources. The subsequent study, in contrast, achieves universal source separation through adversarial training, utilizing a context-based discriminator to model the relationship between sources. While explicitly capturing the context of the estimated sources, both methods are discriminative, given that they are conditioned on the mixtures architecturally. The same limitation is present in discriminative approaches for source separation that use diffusion-based \cite{scheibler2022diffusion, lutati2023separate} or diffusion-inspired \cite{plaja2022adiffusion} methods. Our method differs from these since we estimate a contextual generative model not constrained architecturally by a mixture conditioner. As such, it can also unconditionally synthesize mixtures or subsets of stems.

\section{Background} \label{background}
The foundation of our model lies in estimating the joint distribution of the sources $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$. Our apporach is geenrative because we model an unconditional distribution (the prior). The different tasks are then solved at inference time, exploiting the prior.

We employ a diffusion-based \cite{dickstein2015deepunsupervised, ho2020denoising}
generative model trained via score-matching \cite{song2019generativemodeling} to learn the prior. This method is known an denoising score matching.
We present our formalism utilizing the framework established in \citet{karras2022elucidating}.
The central idea of score-matching \cite{hyvarinen2005estimation, kingma2010, vincent2011aconnection}  is to approximate the ``score'' function of the target distribution $p(\mathbf{x})$, namely $\nabla_{\mathbf{x}} \log p(\mathbf{x})$, rather than the distribution itself.

In order to effectively approximate the score in sparse data regions, denoising diffusion methods introduce controlled noise to the data and learn to remove it. Formally, the data distribution is perturbed with a Gaussian perturbation kernel:
\begin{align}\label{eq:perturbation_kernel}
p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{x}(0)) = \mathcal{N}(\mathbf{x}(t); \mathbf{x}(0), \sigma(t)^2 \mathbf{I})\,,
\end{align}
where the parameter $\sigma(t)$ regulates the degree of noise added to the data. Following the authors, we consider an optimal schedule of $\sigma(t) = t$. With that choice of $\sigma(t)$, the forward evolution of a data point $\mathbf{x}(t)$ in time is described by a probability flow ODE:
\begin{equation} \label{eq:forward_ode}
    \text{d}\mathbf{x} = -\sigma(t) \nabla_{\mathbf{x}} \log p_{\sigma(t)}(\mathbf{x})\, \text{d}t\,.
\end{equation}
For $t = T >> 0$, a data point $\mathbf{x}(T)$ is approximately distributed according to a Gaussian distribution $\mathcal{N}(\mathbf{x}(t); \mathbf{0}, \sigma(T)^2\mathbf{I})$, from which sampling is straightforward.
Equation \eqref{eq:forward_ode} can be inverted in time, resulting in the following backward ODE that describes the denoising process:
\begin{equation}
\label{eq:backward_ode}
\text{d}\mathbf{x} = \sigma(t) \nabla_{\mathbf{x}} \log p_{\sigma(t)}(\mathbf{x})\, \text{d}t\,.
\end{equation}
Sampling from the data distribution can be performed by Equation \eqref{eq:backward_ode} with a standard ODE solver, starting from an initial (noisy) sample drawn from $\mathcal{N} (\mathbf{x}(t); \mathbf{0}, \sigma(T)^2\mathbf{I})$. The score function is approximated with a neural network $S_{\theta}(\mathbf{x}(t), t)$ by minimizing the following score-matching loss:
\begin{equation*} \label{eq:song_loss}
    \small
    \underset{\substack{t \sim \mathcal{U}([0,T])\\ \mathbf{x}(0) \sim p_{\sigma(t)}(\mathbf{x}(0))\\ \mathbf{x}(t) \sim p(\mathbf{x}(t)|\mathbf{x}(0))}}{\mathbb{E}} \hspace{-0.4cm} \left \Vert S_{\theta}(\mathbf{x}(t), \sigma(t)) - \nabla_{\mathbf{x}(t)} \log p_{\sigma(t)}\left(\mathbf{x}(t)|\mathbf{x}(0) \right) \right \Vert ^2_2.
\end{equation*}
This ensures that $S_{\theta}(\mathbf{x}(t), \sigma(t))$ converges to $\nabla_{\mathbf{x}(t)} \log p_{\sigma(t)}(\mathbf{x}(t))$. By expanding $p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{x}(0))$ through Equation \eqref{eq:perturbation_kernel} and defining $S_{\theta}(\mathbf{x}, \sigma(t)) = (D_{\theta}(\mathbf{x}; \sigma(t)) - \mathbf{x}) / \sigma(t)^2$, the score-matching loss simplifies to:
\begin{equation*}
    \underset{\substack{\mathbf{x}(0) \sim p(\mathbf{x}(0)) \\ \mathbf{\epsilon} \sim \mathcal{N}(0, \sigma(t)^2 \mathbf{I})}}{\mathbb{E}} \left \Vert D_{\theta}(\mathbf{x}(0)+\mathbf{\epsilon}; \sigma(t)) - \mathbf{x}(0) \right \Vert_2^2\,.
\end{equation*}

\section{Method} \label{method}

\subsection{Multi-Source Audio Diffusion Models}

In our setup, we have $N$ distinct source waveforms $\{\mathbf{x}_1, \dots ,\mathbf{x}_N\}$, each being a $D$-dimensional vector representing the source in the time domain.
The sources coherently sum to a mixture, defined as $\mathbf{y}=\sum_{n=1}^N \mathbf{x}_n$. We sometimes use the aggregated form $\mathbf{x} = (\mathbf{x}_1, \dots, \mathbf{x}_N) \in \mathbb{R}^{N \times D}$.

In this setting, multiple tasks can be performed: one may want to generate a consistent mixture $\mathbf{y}$, or separate the individual sources $\mathbf{x}$ from a given mixture $\mathbf{y}$. We refer to the first task as \textit{generation} and the second as \textit{separation}.
A subset of sources can also be fixed in the generation task, and the others can be generated consistently. We call this the \textit{partial generation} or \textit{source imputation} task.

Our key contribution is the ability to perform all these tasks by training a single neural model, namely a diffusion model over the prior $p(\mathbf{x}_1, \dots, \mathbf{x}_N)$.  We define $(\mathbf{x}_1(t), \dots, \mathbf{x}_N(t)) =: \mathbf{x}(t)$ as the sources perturbed through the Gaussian kernel in Equation \eqref{eq:perturbation_kernel}. The model thus approximates the noisy score function:
\begin{align*}
\nabla_{(\mathbf{x}_1(t), \dots, \mathbf{x}_N(t))} &\log p_{\sigma(t)}(\mathbf{x}_1(t), \dots, \mathbf{x}_N(t)) = \nonumber \\
= \nabla_{\mathbf{x}(t)} & \log p_{\sigma(t)}(\mathbf{x}(t))\,,
\end{align*}
with a neural network:
\begin{equation} \label{eq:prior_score}
    S^{\theta}(\mathbf{x}(t), \sigma(t)): \mathbb{R}^{N \times D} \times \mathbb{R} \rightarrow  \mathbb{R}^{N \times D}\,.
\end{equation}
The design of this model is illustrated in Figure \ref{fig:diffusion}.

We describe the three tasks (illustrated in Figure \ref{fig:msdm}) using the prior distribution:
\begin{itemize}
    \item{\textit{Total Generation.}} This task requires generating a plausible mixture $\mathbf{y}$. This can be achieved by sampling the sources $\{\mathbf{x}_1, ..., \mathbf{x}_N\}$ from the prior distribution and summing them to obtain the mixture $\mathbf{y}$.
    \item{\textit{Partial Generation.}} Given a subset of sources, this task requires generating a plausible accompaniment. We can define the subset of fixed sources as $\mathbf{x}_{\mathcal{I}}(t)$ and generate the remaining sources, $\mathbf{x}_{\mathcal{\overline{I}}}(t)$, by sampling from the conditional distribution $p(\mathbf{x}_{\overline{\mathcal{I}}}(t) | \mathbf{x}_{\mathcal{I}}(t))$.
    \item{\textit{Source Separation.}} Given a mixture, $\mathbf{y}$, this task requires isolating the individual sources that compose it. This can be achieved by sampling from the conditional distribution $p(\mathbf{x}|\mathbf{y})$.
\end{itemize}
To emphasize the significance of context in music, we compare MSDM with a version where we assume independence between sources, namely $p(\mathbf{x}_1, \dots, \mathbf{x}_N) = \prod_{n=1}^N p(\mathbf{x}_n)$. In this case, we train a separate diffusion model for each source. We refer to this variant as the \textit{weakly supervised} version of MSDM; in this case, we know that specific sources belong to an instrument class, but we do not have access to the fully-supervised contextual sets.

\begin{algorithm}[t!]
\caption{Separation sampler with Dirac likelihood}
\label{alg:total_sep}
\begin{algorithmic}[1]
\REQUIRE $T$ number of discretization steps for the ODE, $R$ number of corrector steps, $\{\sigma_{t}\}_{t \in \{0, \dots, T-1\}}$ noise schedule, $S_{\text{churn}}$
\STATE Initialize $\hat{\mathbf{x}} \sim \mathcal{N}(0, \sigma^2_{T-1}\mathbf{I})$
\STATE $\alpha \gets \min(S_{\text{churn}} / (T - 1), \sqrt{2}-1)$
\FOR{$t \in \{T-1, \dots, 0\}$}

    \FOR{$r \in \{0, \dots, R-1\}$}
        \STATE $\hat{\sigma} \gets \sigma_t \cdot (\alpha + 1)$
        \STATE $\mathbf{\epsilon} \sim \mathcal{N}(0, \mathbf{I})$
        \STATE $\hat{\mathbf{x}} \gets \hat{\mathbf{x}} + \sqrt{\hat{\sigma}^2 - \sigma_t^2} \mathbf{\epsilon}$
        \STATE $\mathbf{g} \gets$ \verb|LogGradient(|$\hat{\mathbf{x}}$, $\hat{\sigma}$\verb|)|
        \STATE $\hat{\mathbf{x}}_{1:N-1} \gets \hat{\mathbf{x}}_{1:N-1} + (\sigma_{t-1} - \sigma_{t})\mathbf{g}$
        \STATE $\hat{\mathbf{x}}_N \gets \mathbf{y} - \sum_{n=1}^{N-1} \hat{\mathbf{x}}_{n}$
        \STATE $\hat{\mathbf{x}} \gets [\hat{\mathbf{x}}_{1:N-1}, \hat{\mathbf{x}}_N]$
    \ENDFOR
\ENDFOR
\STATE \bf{return} $\hat{\mathbf{x}}$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}[t!]
\cprotect\caption{\verb|LogGradient| function}
\label{alg:grad}
\begin{algorithmic}[1]
\REQUIRE $S^{\theta}(\mathbf{x}, \sigma)$ score function, $\mathbf{y}$ mixture, $\hat{\mathbf{x}}$, $\hat{\sigma}$.

\STATE $\mathbf{z} \gets  [\hat{\mathbf{x}}_{1:N-1}, \mathbf{y} -  \sum_{n=1}^{N-1} \hat{\mathbf{x}}_{n}]$
\STATE $S \gets S^{\theta}_{N}(\mathbf{z}, \hat{\sigma})$
\FOR {$n \in \{1, \dots, N-1\}$}
    \STATE $\mathbf{g}_n \gets S^{\theta}_{n}(\mathbf{z}, \hat{\sigma}) - S$
\ENDFOR
\STATE $\mathbf{g} \gets [\mathbf{g}_1, \dots, \mathbf{g}_{N-1}]$
\STATE \bf{return} $\mathbf{g}$

\end{algorithmic}
\end{algorithm}

\begin{table*}[t]
\caption{Source separation results compared with the supervised baselines of \citet{manilow2022improving} on Slakh2100. The evaluation metric is $\text{SI-SDR}_\text{i}$ (higher is better). With 3 correction steps per iteration, our generative separator outperforms `Demucs' and is comparable with the state of the art `Demucs + Gibbs'. Importantly, the latter are ad-hoc methods for source separation, while ours is more general and capable of performing generative tasks as well. The `Weak MSDM' exhibits worse performance overall, supporting our claim that contextual information is crucial for achieving high quality.}
\label{tab:results_sep}
\vskip 0.15in
\begin{center}
\begin{small}
\begin{sc}
 \begin{tabular}{c | c c c c | c}
 \toprule
 \textbf{Slakh2100} & Bass & Drums & Guitar & Piano & All\\ [0.5ex]
 \midrule
 Demucs & 15.77 & 19.44 & 15.30 & 13.92 & 16.11 \\ [1ex]
 Demucs + Gibbs (512 steps) & 17.16 & 19.61 & 17.82 & 16.32 & 17.73 \\ [1ex]
 \midrule
 MSDM (1 correction step) & 15.62 & 16.36 & 13.92 & 13.26 & 14.79 \\ [1ex]
 MSDM (3 correction steps) & 16.26 & 17.25 & 17.77 & 14.93 & 16.55 \\ [1ex]
 Weak MSDM (1 correction step) & 9.47 & 6.55 & 7.84 & 6.40 & 7.57\\ [1ex]
 \bottomrule
\end{tabular}
\end{sc}
\end{small}
\end{center}
\vskip -0.15in
\end{table*}

\subsection{Inference}
The three tasks are derived during inference by discretizing the backward Equation \eqref{eq:backward_ode}. The tasks differ based on the used gradient derived from the prior score function (Equation \eqref{eq:prior_score}).

Next, we will delve into the different gradients in detail. A summary is shown in Table \ref{tab:inference_meth}.
For more details on the discretization methods we used, refer to Section \ref{sec:sampler}.

\subsubsection{Total Generation}
The total generation task is performed by sampling from Equation \eqref{eq:backward_ode} through the score function in Equation \eqref{eq:prior_score}. The mixture is then obtained by summing over all the generated sources.

\subsubsection{Partial Generation}
In the partial generation task, we fix a subset of source indices $\mathcal{I}\subset \{1, \dots, N\}$ and the relative sources $\{\mathbf{x}_n\}_{n \in \mathcal{I}}$. The goal is to generate the remaining $\{\mathbf{x}_n\}_{n \in \overline{\mathcal{I}}}$ sources consistently. To do so, the gradient of the conditional distribution:
\begin{equation} \label{eq:grad_partial}
    \nabla_{\mathbf{x}_{\overline{\mathcal{I}}}(t)} \log p_{\sigma(t)}(\mathbf{x}_{\overline{\mathcal{I}}}(t)|\mathbf{x}_{\mathcal{I}}(t))
\end{equation}
needs to be estimated.

This falls into the setting of imputation (or, as it is more widely known in the image domain, inpainting), which we approach using the method in \cite{song2021scorebased}.
In brief, the gradient in Equation \eqref{eq:grad_partial} is approximated as follows:
\begin{align*}
    \nabla_{\mathbf{x}_{\overline{\mathcal{I}}}(t)} \log p_{\sigma(t)}([\mathbf{x}_{\overline{\mathcal{I}}}(t),\hat{\mathbf{x}}_{\mathcal{I}}(t)])\,,
\end{align*}
where $\hat{\mathbf{x}}_{\mathcal{I}}$ is a sample from the forward process: $\hat{\mathbf{x}}_{\mathcal{I}}(t) \sim \mathcal{N}(\mathbf{x}_{\mathcal{I}}(t); \mathbf{x}_{\mathcal{I}}(0), \sigma(t)^2 \mathbf{I})$.
The square bracket operator denotes concatenation along the rows.
As a function of the score, we write:
\begin{equation*}
    \nabla_{\mathbf{x}_{\overline{\mathcal{I}}}(t)} \log p_{\sigma(t)}(\mathbf{x}_{\overline{\mathcal{I}}}(t)|\mathbf{x}_{\mathcal{I}}(t)) \approx S^{\theta}_{\overline{\mathcal{I}}}([\mathbf{x}_{\overline{\mathcal{I}}}(t), \hat{\mathbf{x}}_{\mathcal{I}}(t)], \sigma(t)).
\end{equation*}

\subsubsection{Source Separation}
\label{subsubsection:source_separation}
We view separation as a specific instance of conditional generation, where we condition the generation process on the given mixture $\mathbf{y}$. This requires computing the score function:
\begin{equation} \label{eq:posterior_separation}
    \nabla_{\mathbf{x}(t)} \log p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})\,.
\end{equation}
Standard methods for implementing conditional generation for diffusion models involve directly estimating the posterior score in Equation \eqref{eq:posterior_separation} at training time (Classifier Free Guidance, as described in \cite{ho2021classifierfree}) or estimating the likelihood $p_{\sigma(t)}(\mathbf{y}|\mathbf{x}(t))$ and using the Bayes formula to derive the posterior.
The second approach typically involves training a separate model, often a classifier, for the likelihood score (as in Classifier Guided conditioning, outlined in \cite{dariwal2021class_guidance}).
In generative source separation, learning another likelihood model is typically\footnote{An exception to this is \cite{postolache2023}, where the likelihood function needs to be learned, being defined on a discrete latent domain.} unnecessary because the relationship between $\mathbf{x}(0)$ and $\mathbf{y}$ can be represented by a simple function, namely the sum. A natural approach is to model the likelihood using a known distribution directly.
This is the approach taken by \citet{jayaram2020}, which models the likelihood as a Gaussian term with mean $\mathbf{s}(\mathbf{x}(t)) = \sum_{n=1}^{N}\mathbf{x}_n(t)$ and the standard deviation given by a parameter $\gamma$.

This Gaussian assumption is, however, an overly simplified approximation.
While the relationship between $\mathbf{x}(0)$ and $\mathbf{y} := \mathbf{y}(0)$ is straightforward, the relation between $\mathbf{x}(t)$ and $\mathbf{y}$ is more complex because it depends on the prior over the mixture $p(\mathbf{y})$.

We present a more accurate approximation of $p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})$ by introducing an intermediate variable $\mathbf{y}(t) = \sum_{n=1}^N \mathbf{x}_n(t)$ and modeling $p_{\sigma(t)}(\mathbf{y}(t)|\mathbf{x}(t))$ as a Dirac delta function centered in $\mathbf{s}(\mathbf{x}(t))$. The complete derivation can be found in Appendix \ref{sec:dirac_sampler}, and we present only the final result here. First, we define:
\begin{equation*}
    \mathbf{z}(t) =: \mathbf{z}(\mathbf{x}(t), \mathbf{y}(t)) =: [\mathbf{x}_{1:N-1}(t), \mathbf{y}(t) - \mathbf{s}(\mathbf{x}_{1:N-1}(t))].
\end{equation*}
Here, the notation $\mathbf{a}_{i:j}$ denotes the rows from $i$ to $j$ of vector $\mathbf{a}$. With a slight abuse of notation, $[\mathbf{a}_{1:N-1}, \mathbf{a}_N]$ indicates the vector $(\mathbf{a}_1, \dots, \mathbf{a}_n)$. With the previous definition of $\mathbf{z}(t)$, the posterior $p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})$ becomes:
\begin{align}\label{eq:main_sep}
{\mathbb{E}}_{\mathbf{y}(t) \sim p_{\sigma(t)}(\mathbf{y}(t)|\mathbf{y}(0)) }\  p_{\sigma(t)}(\mathbf{z}(\mathbf{x}(t), \mathbf{y}(t)))\,,
\end{align}
where $p_{\sigma(t)}(\mathbf{y}(t)|\mathbf{y}(0)) = \mathcal{N}(\mathbf{y}(t); \mathbf{y}(0), N\sigma(t)^2 \mathbf{I})$.

Equation \eqref{eq:main_sep} results from constraining the last source as a function of the mixture and of the remaining $N-1$ sources. It is worth noting that the \textit{constrained source} does not necessarily have to be the last one; it can be any of the other sources.

Equation \eqref{eq:main_sep} is not computable in closed form, as it would require integration of the prior joint distribution. However, as done for example in \cite{song2021scorebased}, we can approximate the expected value with a single sample and get:
\begin{equation*}
    p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y}) \approx p_{\sigma(t)}(\hat{\mathbf{z}}(t))\,,
\end{equation*}
where ${\hat{\mathbf{z}}(t) = \mathbf{z}(\mathbf{x}(t), \hat{\mathbf{y}}(t))}$ and $\hat{\mathbf{y}}(t) \sim \mathcal{N}(\mathbf{y}(t); \mathbf{y}(0), N\sigma(t)^2 \mathbf{I})$.
The score can be now obtained explicitly by application of the chain rule for differentiation. For each $n \in \{1, \dots, N-1\}$ we get:
\begin{align*}
    \nabla_{\mathbf{x}_n(t)} \log p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})
    = S^{\theta}_{n}(\hat{\mathbf{z}}(t)) -  S^{\theta}_{N}(\hat{\mathbf{z}}(t))\,.
\end{align*}
Alternatively to sample $\hat{\mathbf{y}}(t)$, we can directly use its expected value $\mathbf{y}(0)$, thus reducing the previous equation, for each $n \in \{1, \dots, N-1\}$ to:
\begin{align*}
    \nabla_{\mathbf{x}_n(t)} \log p_{\sigma(t)}(\mathbf{x}(t)|\mathbf{y})
    = S^{\theta}_{n}(\tilde{\mathbf{z}}(t)) -  S^{\theta}_{N}(\tilde{\mathbf{z}}(t))\,,
\end{align*}
where $\tilde{\mathbf{z}}(t) = \mathbf{z}(\mathbf{x}(t), \mathbf{y}(0))$.
At the end of the sampling procedure, we put $\mathbf{x}_N(0) = \mathbf{y} - \mathbf{s}(\mathbf{x}_{1:N-1}(0))$.

The pseudo-code for the source separation task is provided in Algorithm \ref{alg:total_sep}, which employs Algorithm \ref{alg:grad} as an auxiliary subroutine.

\section{Experimental Setup}
\label{experimental_setup}

\subsection{Dataset}
We perform experiments on Slakh2100 \cite{manilow2019cutting}, a standard dataset for source separation.  Slakh2100 is a collection of multi-track music data synthetized from MIDI files using virtual instruments of professional quality. The dataset comprises 2100 tracks, with a distribution of 1500 tracks for training, 375 for validation, and 225 for testing. Each track is accompanied by its stems, which belong to 31 instrumental classes. For a fair comparison, we only used the 4 most abundant classes as in \citet{manilow2022improving}, namely Bass, Drums, Guitar, and Piano; these instruments are present in the majority of the songs: 94.7\% (Base), 99.3\% (Drums), 100.0\% (Guitar), and 99.3\% (Piano). We chose Slakh2100 as our dataset because it has a significantly larger quantity of data compared to other multisource datasets like MusDB \cite{musdb18}. The amount of data plays a decisive role in determining the quality of a generative model, making Slakh2100 a preferable choice.

\subsection{Architecture and Training}
The implementation of the score network is based on a time domain (non-latent) version of Moûsai \cite{schneider2023mousai}.

The architecture follows the \verb|base_test.yaml| configuration, implemented in the publicly available repository \verb|audio-diffusion-pytorch/v0.0.43|\footnote{\url{https://github.com/archinetai/audio-diffusion-pytorch/tree/v0.0.43}}. The score network is a U-Net \cite{ronneberger2015u} comprised of an encoder, bottleneck, and decoder with skip connections between the encoder and the decoder.
The encoder has six layers, each comprising two convolutional ResNet blocks, followed by multi-head attention in the final three layers. The signal sequence is downsampled in each layer by a factor of 4 The number of channels in the encoder layers is [256, 512, 1024, 1024, 1024, 1024]. The bottleneck consists of a ResNet block, followed by self-attention, and another ResNet block (all with 1024 channel layers). The decoder follows a reverse symmetric structure with respect to the encoder. We refer to the \verb|base_test.yaml| configuration file for additional architectural details

We employ \verb|audio-diffusion-pytorch-trainer|\footnote{\url{https://github.com/archinetai/audio-diffusion-pytorch-trainer/tree/79229912}} for training. We downsample   data to 22kHz and trained the score network with 4 stacked mono channels, one for each stem, using a context length of $\sim$ 12 seconds.   We optimized the model using Adam \cite{kingma2015adam}, with a learning rate of ${10}^{-4}$, $\beta_1 = 0.9$, $\beta_2 = 0.99$ and a batch size of 16. The model was trained until convergence ($\sim 13$ days) on a NVIDIA RTX A6000 GPU with 24 GB of VRAM.

\subsection{The Sampler}\label{sec:sampler}
We utilized a corrector-only sampler as described in \cite{song2021scorebased}. The correction step implements a basic first-order ODE scheme using the Euler method, and stochasticity is introduced following the stochastic sampler in \cite{karras2022elucidating}. The amount of stochasticity is controlled by the parameter $S_{\text{churn}}$.

As demonstrated in Table \ref{tab:ablations_dirac} and explained in detail in \cite{karras2022elucidating}, stochasticity significantly improves sample quality. We also found that running multiple correction steps can further enhance the results, as shown in Table \ref{tab:results_sep}.

As per \cite{karras2022elucidating}, we adopt a non-linear schedule for time discretization that gives more importance to lower noise levels. It is defined as:
$$t_i = \sigma_i = \sigma_{\text{max}}^{\frac{1}{\rho}} + \frac{i}{T-1}(\sigma_{\text{min}}^{\frac{1}{\rho}} - \sigma_{\text{max}}^{\frac{1}{\rho}}))^{\rho}.$$
We set $\sigma_{\text{min}} = 10^{-4}$, $\sigma_{\text{min}} = 1$, and $\rho = 7$.

\section{Experimental Results}
\subsection{Music Generation}
For music generation, we rely on qualitative evaluation. Although there exist quantitative metrics, like the Fréchet Audio Distance (FAD) \cite{kilgour2019frechet} or the newer Fréchet Distance (FD) \cite{pascual2022full}, they are not as well-established as the metrics in the visual domain \cite{salimans2016improved, heusel2017gans}. Importantly, \citet{vinay_evaluating_2022} prove experimentally that current objective metrics for assessing the quality of generative models in the audio domain do not correlate with listener preferences.

The reader is encouraged to listen to both total and partial generation examples on the online demo page\footnote{\url{https://gladia-research-group.github.io/multi-source-diffusion-models/}}.

\begin{table}[t!]
\caption{Hyper-parameter search for source separation using the proposed Dirac likelihood. We report the $\text{SI-SDR}_\text{i}$ values averaged over all instruments (higher is better).
On the rows, we vary the $S_{\text{churn}}$ hyper-parameter while the columns represent the constrained source in the sampler.}
\label{tab:ablations_dirac}
\vskip 0.15in
\begin{center}
\begin{small}
\begin{sc}
 \begin{tabular}{c | c c c c}
 \toprule
\multirow{2}*{$S_{\textnormal{churn}}$} & \multicolumn{4}{c}{Constrained source}\\
   & {bass} & drums & guitar & piano \\ [0.25ex]
 \midrule
0.0     &       4.74 &  5.17 & 3.59 & 3.04 \\
1.0     &       8.81 &  8.47 & 7.80 & 7.29 \\
20.0    &      \textbf{14.80} & 13.48 & 9.67 & 7.80 \\
40.0    &      10.29 & 10.79 & 4.15 & 1.34 \\
\bottomrule
\end{tabular}
\end{sc}
\end{small}
\end{center}

 \caption{Hyper-parameter search for source separation using the Gaussian likelihood of \citet{jayaram2020}. We report the $\text{SI-SDR}_\text{i}$ values averaged over all instruments (higher is better). On the rows, we vary the  $S_{\text{churn}}$ hyper-parameter, while on the columns, we vary the $\gamma$ coefficient.}
 \label{tab:ablations_basis}
 \vskip 0.15in
 \begin{center}
\begin{small}
\begin{sc}
 \begin{tabular}{c | c c c c}
 \toprule
 \multirow{2}*{$S_{\textnormal{churn}}$} & \multicolumn{4}{c}{$\gamma$}\\
  & 0.25$\sigma$ & 0.5$\sigma$ & {0.75}$\sigma$ & 1.0$\sigma$\\ [0.25ex]
 \midrule
0.0     &     -36.19 &   6.81 &  6.41 &  6.08 \\
1.0     &     -32.17 &   7.21 &  6.81 &  6.50 \\
20.0    &     -46.71 & -50.90 & 10.45 & 10.18 \\
40.0    &     -46.71 & -34.43 & \textbf{11.96} & 11.21 \\
 \bottomrule

 \end{tabular}
\end{sc}
\end{small}
\end{center}
\end{table}

\subsection{Source Separation}

In order to evaluate source separation, we used the scale-invariant SDR improvement ($\text{SI-SDR}_\text{i}$) metric \cite{roux2019sdr}.
The SI-SDR between a ground-truth source $\mathbf{x}_n$ and an estimate $\hat{\mathbf{x}}_n$ is defined as:
\begin{equation*}
    \text{SI-SDR}(\mathbf{x}_n, \hat{\mathbf{x}}_n) = 10 \log_{10}\frac{\Vert \alpha \mathbf{x}_n \Vert^2 + \epsilon}{\Vert \alpha \mathbf{x}_n - \hat{\mathbf{x}}_n \Vert^2 + \epsilon}\,,
\end{equation*}
where $\alpha= \frac{\mathbf{x}^\top_n\hat{\mathbf{x}}_n + \epsilon}{\Vert \mathbf{x}_n \Vert^2 + \epsilon}$ and $ \epsilon = 10^{-5}$. The improvement with respect to the mixture baseline is defined as $\text{SI-SDR}_\text{i} = \text{SI-SDR}(\mathbf{x}_n, \hat{\mathbf{x}}_n) - \text{SI-SDR}(\mathbf{x}_n, \mathbf{y})$.

We compare our `MSDM' model with the `Demucs' and `Demucs + Gibbs (256 steps)' regressor baselines from \citet{manilow2022improving}, the state of the art for supervised music source separation on Slakh2100. We downsample our separations to 16kHz to keep the same sampling rate of \citet{manilow2022improving}. To emphasize the importance of context in generative source separation, we also show results for the weakly supervised model `Weak MSDM'.

Before evaluating our method on the full Slakh2100 test set, we first perform a study to assess the improved quality of our proposed Dirac likelihood sampler with respect to the Gaussian sampler of \citet{jayaram2020}. To this end, we take a subsample of the Slakh2100 test set consisting of 50 arbitrary audio chunks of 12 seconds and perform a hyper-parameter search, computing the mean $\text{SI-SDR}_\text{i}$ across all stems. The results are presented in Tables \ref{tab:ablations_dirac} and \ref{tab:ablations_basis}. For our sampler, we study $S_\text{churn}$ vs. the choice of the constrained source (Section \ref{subsubsection:source_separation}). For the Gaussian sampler, we study $S_\text{churn}$ vs. the value of $\gamma$. In \citet{jayaram2020}, the authors set $\gamma = \sigma$, where $\sigma^2$ are variance values in the noise schedule (the right-most column in Table \ref{tab:ablations_basis}).  We notice that our sampler gives the best results with $S_\text{churn}=20.0$ selecting the Bass stem as the constrained source. In the case of the Gaussian sampler, the best results are obtained with $S_\text{churn} = 40.0$ and $\gamma = 0.75 \sigma$. The best result with our sampler is 3dB higher than the best result with the Gaussian sampler.

 We evaluate over the full Slakh2100 test set, with $S_\text{churn}=20.0$, selecting the Bass stem as the constrained source. The results are illustrated in Table \ref{tab:results_sep}. When performing 3 correction steps at each iteration, our generative separator reaches higher results than the `Demucs' baseline and is comparable with the state-of-the-art `Demucs + Gibbs sampling (512 steps)' method. However, we stress that while the competitor models are tailored \textit{only} for source separation, our method is more general and capable of performing generative tasks as well. In the `Weak MSDM' setting, where contextual information is not considered, the results are inferior to the supervised baselines, demonstrating a discrepancy of almost half.

\section{Conclusions}
We have presented a general method, based on denoising score matching, for separation and total and partial generation in the musical domain. Our approach utilizes a single neural network that is trained once, with tasks differentiated during inference. In particular, we have defined a new sampling method for separation during inference time.
We quantitatively tested the model on separation, obtaining results comparable to state-of-the-art regressor models. We qualitatively tested the model on partial and total generation, synthesizing plausible tracks.

\subsection{Limitations and Future Work}\label{limitations}
The performance of our model is constrained by the amount of contextual data that is available. To address this, pre-separating mixtures and using them as a dataset, as demonstrated in \citet{donahue23singsong}, may prove beneficial.

As a versatile model, ours has the potential for various applications, both for enhancing current tasks and tackling new ones. To improve separation, incorporating imputation could be helpful, allowing the model to condition not just on the mixture but also on some known sources (hints).

It is worth mentioning that although we found the waveform domain to be the most appropriate for implementing MSDM, the method can be applied to any domain where the signal of interest can be decomposed into the sum of sub-signals that share a context and whose prior can be learned.

As a final thought, it would be intriguing to explore the possibility of extending our method to situations where the sub-signals are not related by addition, but rather by a known but different function.
As an example, future work could examine adapting our model to the discrete MIDI domain to perform source imputation with greater control, given the abundance of data in that setting.

\subsection{Ethics Statement}\label{ethics}

We acknowledge that diffusion models exhibit the tendency to copy data from the training set \cite{carlini2023extracting}. We trained our model on the Slakh2100 dataset, released under the Creative Commons Attribution 4.0 International license. Training our model on copyrighted audio data can result in data forgery, and we strongly discourage such behavior.

In the long term, our method aims to make music composition more accessible for a broader range of creators, which could be seen as a positive step towards inclusivity and accessibility. At the same time, an open problem in AI ethics is whether generated art will disrupt the jobs of artists. Generative modeling in this context is not intended to replace human musicians but rather to aid them in the creation process and to increase their efficiency and throughput.

\subsection*{Acknowledgments}
We thank Ethan Manilow for providing the metrics for the regressor baselines. This work is supported by the ERC Grant no.802554 (SPECGEO).

redpajama_set_name: RedPajamaArXiv


Gil Kenan is directing this remake of Tobe Hooper's 1982 classic about a family trying to get their daughter back from the spirit world.
The actress will star alongside Jeremy Renner in this thriller about a journalist who exposed the CIA's link to a drug smuggling operation.
The cast and crew of the new Gus Van Sant movie discuss the challenges of making the drama, in theaters now.
Matt Damon and John Krasinski co-wrote and star as rival corporate executives for director Gus Van Sant.
The actress will play Ben Stiller's wife in this comedy about a group of dad's who stumble upon an evil plot to destroy the world.


text:
I desire to interrupt the flood of daily distractions with moments of silence and solace. I love the process of slow-looking and developing layered, nuanced surfaces as a form of active contemplation. The restorative, embodying aspects of blending tactile fiber and paint materials are also central to my work.
Starting with wet-felting, weaving or vintage fabrics as a canvas, I build imagery that remains two-dimensional but textured, with a painterly touch. As I create, pieces call for combinations of different media, whether the immediacy of drawing, the tactility of wool and embroidery, or the fluidity of watercolor. At times I use antique materials, like kerchiefs from my grandmother, as an act of remembrance of the women who employed these textiles.
I strive to convey an authentic experience of beauty in daily life and evoke the tenderness and sacramental qualities of domestic and familial rituals. My artwork focuses on still life, room interiors and family scenes, typically on a small scale, to create intimate views into one's interior life. Inspirations include the Nabis group and Mary Cassatt, Kaylan Buteyn's "Artist/Mother" podcast and embroidery artist Cécile Davidovici. My approach to art-making has also been shaped by the writings of Jacques Maritain, Thomas Merton and Flannery O'Connor on faith and art.
Through subjects like weathered chairs or fleeting moments of parenthood, my work hints at the interplay of absence and presence, memory and experience in fundamental human relationships.
Portrait of the Artist, 9 months pregnant
Courtesy of Jonathan Patrowicz
"It is the business of [art] to embody mystery through manners, and mystery is a great embarrassment to the modern mind...the mystery of our position on earth, and the manners are those conventions which, in the hands of the artist, reveal that central mystery."
Flannery O'Connor, Mystery and Manners

redpajama_set_name: RedPajamaCommonCrawl


In July the WHO/UNICEF Joint Monitoring Programme for Water Supply, Sanitation and Hygiene (JMP) published its 2017 update which established baseline estimates for the new SDG global indicators and includes a wealth of new information on inequalities in service levels. This webinar will include a presentation of the main findings of the 2017 update followed by an opportunity to quiz the JMP team on the new definitions and the data gaps that need to be addressed for enhanced monitoring of WASH services in the context of the 2030 Agenda.
SuSanA will be hosting a webinar with Tom Slaymaker and Rick Johnston who are part of the JMP team carrying out the monitoring. Join us to find out more on 9th November at 1400 Stockholm time.
Updates about the webinar will be posted in this thread.
Last Edit: 28 Oct 2017 16:47 by eshaylor.
I would like to remind you about the SuSanA webinar TOMORROW 'Update from the JMP team monitoring WASH progress towards SDG 6' scheduled for November 9th at 14:00 CET (Stockholm time).
3.For those wanting to use a webcam and microphone you will need a speed around 4-5mbit/s plus a headset or earbuds. You can enter the webinar up to 45 minutes in advance to check your audio settings.
4.It is recommended you close skype before starting the Adobe Connect platform to avoid issues with sound or microphone use.
Schedule: The webinar be will up to 90 minutes including an open discussion with the JMP project team. We will also open the session 45 minutes beforehand so you can test your video or microphone and meet other participants.
Last Edit: 08 Nov 2017 17:21 by muench.
Is it still possible to join the webinar tomorrow? I saw the registration is closed.
Sorry about that. That was done by mistake. I have re-opened the webinar registrations. We have currently 167 people registered.
I am looking forward to the webinar! The room only holds 100 so it's a matter of "first come first served". But luckily there will be the youtube stream for the overflow, like Esther mentioned above.
The JMP webinar is happening on 9 November. While the JMP report is on everyone's mind, we'd like to get Sanitation Wikipedia top of mind, too. Of the 70 articles we're upgrading for World Toilet Day (ten days from now), fewer than 10 now reference the JMP 2017 report. We've picked 15 articles that especially need to be upgraded by citing current JMP data.
1.	Pick one article from the below list of 15, and click on it to read the Wikipedia article.
2.	As you read, look for a place to insert one or more sentences citing JMP 2017 data. Here's the link to the JMP Report: http://www.unwater.org/publications/whounicef-joint-monitoring-program-water-supply-sanitation-hygiene-jmp-2017-update-sdg-baselines.Here's the link to the JMP Report .
3.	If the article already references earlier JMP data (e.g. from 2014) rewrite the sentence(s) to include the latest figures.
1.	Email those sentences and the citation to wikipedia@susana.org and the Sanitation Wikipedia team will happily update the article using your recommendation.
2. Join the Sanitation Wikpedia team here and insert the content and citation yourself. Once you register, go to the article and click on the "edit" tab. It's that easy.
Here are two examples of how the JMP 2017 report has been cited.
Thank you very much Esther for organising it and thanks to the presenters Tom Slaymaker and Rick Johnston who are part of the JMP team.
I look forward to them answering the remaining questions that couldnt be answered during the 90 minutes.
Last Edit: 09 Nov 2017 16:11 by Doreen.
I am attaching a copy of the presentation for you to have and to take in all the information Tom and Rick gave.
The discussion afterwards was really interesting and showed the variety of work we do within the sanitation sector and how the JMP data is being used and understood to support this. I am summarising some of the questions below to encourage some discussion on the forum. If you would like to put any more questions to Tom and Rick please post them here and I will make sure they see them.
Tom Slaymaker (UNICEF): @Rob good question. These data are based on national surveys. In most cases these include informal settlements but very few disaggregate informal settlements from the rest of the urban population. For this reason it is difficult for us to report these separately. The biggest problem is the lack of a clear and commonly agreed definition of 'informal settlement' or 'slum' which allows comparison across countries.
Daniel (GIZ): I have got three questions: 1) Why is reporting on "improved" access is still so prominent (i know the reference to sdg1) - I think this is misleading and a serious issue. 2) Data on safely managed services is still lacking for many least developed countries. Do you expect a further reduction of the global access estimate once data is available? 3) How do you interpret contradictions between sector data and JMP data: e.g: in Burkina Faso the sector (ONEA) reports an increase inurban access to piped water from 59% to 89% (2006-2015) , in contrast JMP reports a decrease by 4% in the same period. Thanks!
@Daniel as Rick notes the improved/unimproved classification still provides the foundation for estimating the population using basic and safely managed services but is much less prominent in our reporting.
Alok Kumar Majumder, WASH SDG Program Simavi, Bangladesh: Why hygienic shared latrine could not be accepted as safely manged sanitation? In slum area, it is nearly impossible to ensure latrine in each family.
Nina Odenwälder: The interpretation of "basic services" in the SDG 1 to equal the "basic services" definition by JMP is very questionable in my view. E.g. the Multi-Dimensional Poverty Index integrates water and sanitation in their standard of living assessment. From here, it is clear that it is about access to clean drinking water. And the slump in the global access figures that "improved sources" is just not an appropriate proxy to safe drinking water. It should also not be a policy advice to the countries, to attain a certain level of coverage of improved services, no matter what the actual water quality.
Tom Slaymaker (UNICEF): (From Rick) @Nina, we do cover basic before safely managed in the report, since safely managed builds upon basic. Also we have higher data coverage for basic, and can look at trends and inequalities in much more detail than for safely managed.
Lotte: Given that there is very little data on safely managed services in rural areas and also limited increase to be foreseen at least for water, there is a danger that strong focus on "safely managed" will bias donor towards investing in urban areas rather than rural. What can be done to manage this?
Tom Slaymaker (UNICEF): (From Rick) @Lotte, we find that many countries are very interested in improving both data coverage and quality of services in rural areas, and in many cases donors are willing to support work along those lines, which may contribute to basic services, or to individual elements of safe management (e.g. water quality).
Tom Slaymaker (UNICEF): (From Rick) @Lotte, it's also important to recognize that safely managed sanitation services can be achieved with on-site sanitation, and that this is very achievable in rural areas. Safe disposal in situ is a valid pathway into safely managed sanitation.
Jerry van den Berge: related to Lotte's question: urbaization makes that governments and donors prioritise services in cities, which in turn encourages people to move to cities, self-enforcing process starts. Rural areas will remain behind. Do you have examples of countries/ donors that invest in / prioritise rural areas?
Tom Slaymaker (UNICEF): (From Rick) @Sanna, we are recommending new questions in household surveys around menstrual hygiene management, including on exclusion that women face during their periods. The 2014 MICS survey in Nepal is a good example of this, which showed both moderate and severe kinds of exclusion.
JALADHI: Will the MICS survey will include leakage in pits / septic tank?
Doreen Mbalo (GIZ): In densely populated low income areas where space, cost is an issue, shared facilities have proven to be acceptable within household/plots therefore we need to sub-categorize and adopt a more nuanced approach towards "shared sanitation" If well managed, shared facilities have proven to be acceptable. Good example is UBSUP Kenya.
Neven: In regard to ODF, are there any thoughts going beyond a snapshop assessment to determine a lifelong status and adding in a criteria which is time-based. For example, we see that there seasonal changes in rural communities which has impacted this, but there is currently no system to address this issue statistically.
Danilo Padilla ITCC: I have observed and at the same time informed of the effort that is being put in the continents; African, Asian and in the same Europe, not so in my region Central America, Why?
Tom Slaymaker (UNICEF): (From Rick) @Danilo, there is definitely a lot of work going on in Latin America, and both UNICEF and PAHO/WHO are engaged there. I think the language barrier does restrict the degree to which experiences are shared in both directions. We have been working closely with partners in Ecuador, Paraguay, Mexico etc in the 2017 report.
Ellen Greggio: many countries governments particularly in Asia and Africa are trying to adapt their national MIS to align with SDGs indicators – this has a large impact on how data is supposed to be analysed by governments – eg. at HH or at service (e.g. water system) which often do not overlap in these regions. This is often the reason for the large discrepancy in data between JMP and Government. What is the recommendations for the National MIS data – should it become more aligned?
Nina Odenwälder: And reporting on basic services so prominently is not clear to me from Tom's explanation, that they do so that "as safely manged builds on basic". First, no, it doesn't build on that - it builds on improved/unimproved as the round trip time is not accounted for, but the standard is "on premises". The quality of the drinking water is so essential that I do not understand how one can stick to the service level classification only. JMP undertook extensive studies on the water quality typically related to the sources types (all include in the service ladder), in the meta analysis of available literature. Could one not do a modelling of the typical water quality per source (adjusted to context, like rural urban, possibly wealth of the country etc) and adjust the figures by that? Or include direct water tests in household surveys (what ever became of the idea to mainstream this into household surveys)?
Roel Blesgraaf: Could you please elaborate on how you dealt with refugee camps, especially those who exist for more than ten years? E.g. in Lebanon and Jordan this will heavily affect the figures.
Tom Slaymaker (UNICEF): (From Rick) @Roel, in principle we seek data that cover all people living within a country, including non-citizens and refugees. In practice, these populations may be left out of household surveys and official statistics. We are working with UNHCR to see if we could make a joint analysis of the WASH situation in camps and host communities, this would probably be a customised analysis that we could produce in the future.
ARNO ROSEMARIN (SEI): How far off track was the world in 2015 (MDG target). What is the prognosis for 100% coverage by 2030? Are the most needy countries receiving increased attention?
Tom Slaymaker (UNICEF): (From Rick) @Arno, we had that graph showing the rates of progress by country... the back tables in the report also show the annual rate of change for regions and the world. From 2000-2015 basic sanitation increased by 0.63 percentage points per year. With 68 percent of the population in 2015 having at least basic services, the world would need to see progress at more than 2 percentage points per year to reach universal basic by 2030.
Freya Mills: A question regarding definitions: Unimproved sanitation includes flush/pour flush toilets to drains: How are combined sewers/drains considered? I know of many cities in SEAsia that use this type of sewerage, with some ambiguity what is called a sewer or drain. What is considered a "drain" rather than "sewer"? And are there certain situations when combined sewerage is considered safe?
ARNO ROSEMARIN (SEI): Is JMP monitoring mortality rates due to contaminated water among children under 5 years of age? What about the 4.5 billion people lacking safe services? Is SDG6 aimed to fulfil this gap? It's no longer coverage but safe and functional coverage. As you published recently in the IWA journal.
Mamadou Lamine DIARRA: In some countries, planning and statistics units have been established in the various ministries to improve data quality. Other countries have even created national observatories for sustainable development. What are the links between JMP (WHO, UNICEF) and these structures? What roles do these structures have in national committees for achieving the SDGs?
Here is the recording from the webinar held on Nov 9, 2017.
I am currently looking over older forum posts that have unanswered questions. There are still questions in your post from 9 Nov that were not answered by Tom or Rick. Could we still investigate possible answers? Some of the questions cut really deep and are difficult to answer but let's not give up on finding answers just yet. Perhaps other forum readers may wish to comment, too.
Seems like it was a really rish webinar, going by the log of the chat discussions! Thanks for writing it up so well, by the way. Sounds like we need further webinars on this important topic.


As part of IRONMAN ongoing race development and improvements, the IRONMAN Vichy will be using a "Rolling Swim Start".
Athletes are staged in different zones. These zones are determined by the athlete's predicted swim time. The start area itself is narrowed as you approach to control flow. The start line will allow 6 athletes to start at the same time, each 8 sec.
* The swim cut off time is 2:20hrs for all athletes regardless of the time you enter the water. If an athlete does not complete the course in 2-hours and 20-minutes, he/she will be disqualified immediately at the swim exit and not permitted to continue with the race.
4 - Why change to a rolling start?
- It allows a double lap swim course, reducing congestion. It allows athletes to swim at their own ability and improve the overall swim experience.
- It helps to the security and the fight against the drafting.


text:
Critical Condition: Mosaic
Mosaic | SoHo, 8.30 Friday
➢ "Populated by series like Broadchurch, Happy Valley, Top of the Lake and various versions of The Bridge, a TV subgenre has flourished in recent years: It depicts the aftermath of a serious crime in a relatively enclosed community. It's a niche that the Steven Soderbergh-directed Mosaic fits into comfortably; the HBO limited series is a solid and generally satisfying addition to this mystery-thriller category." — Variety.
➢ "Mosaic is a new HBO miniseries from the Ocean's Eleven director about the murder of wealthy children's-book author Olivia Lake (Sharon Stone) in a small Utah community … The series starts a bit too slow. Stone is always a treat, but the pace and plotting are more gripping after Olivia's murder." — USA Today.
➢ "The writing, from Ed Solomon (Now You See Me, Charlie's Angels, Men in Black), is serviceable though not subtle (nor does a good mystery need to be). Soderbergh's direction is naturally top-notch and he gets universally excellent performances out of everyone, save for the moments that are just the tiniest bit overwrought or rushed." — The Hollywood Reporter.
➢ "Practically every character possesses pieces of a puzzle they aren't quite sure how to put together. The guiding two-part question of this intriguing, sometimes frustrating mystery is, what did they know, and when did they know it? That applies not only to the men and women who exist in the fictional version of snowy Summit, Utah but to the audience as well." — New York.
➢ "Building in intensity, Mosaic thrives on perversity, with its suspects outdoing one another in nastiness. Reigning supreme even after she disappears is Stone as the author who plays the big bad wolf. In a splashy role that recalls her Casino 1990s, Stone asks a bartender (Garrett Hedlund) to 'pour me something tall and muscular.' Her willingness to ride so close to parody – and her ability to carry it off – is as much of a special effect as Mosaic needs." — Time.
Channels, Sky
Broadchurch, Featured, Happy Valley, Mosaic, The Bridge, Top of the Lake
Put a Ring Around 9-1-1
HD Ratings: Three Tops Tuesday
Hot Off the Press Release: Sky to Screen Samoa Pacific Games July 5, 2019


Contact - Tecolote Research, Inc.
Let us show you the difference an employee owned business can make. We love what we do and you will too! Tecolote Research is always looking for ambitious people to join our team; check out our job opportunities.
Copyright © Tecolote Research, Inc. / All rights reserved.


I received these packaged beautifully in a tiny purple box. They are simply beautiful and love them as my mother's necklace. I also bought the itty bitty bars on a second chain because I loved the different look they each have. I am so happy with both. And customer contact from Cari herself was surprising and appreciated. Would definitely recommend this product and this company.
I have ordered several charm necklaces over the years as gifts. They are personal and beautiful and always very enthusiastically received. It's also just a pleasure to deal with Cari. Great company!
the headline says it all- they are just the right size, i wear 3 at the same time since they represent my family. cari has been great to work with through the years. i get compliments on them all of the time!
This charming xoxo dog tag is a perfect gift for someone you love. Simple and unassumingly stunning, it will win the hearts of the person lucky enough to be receiving it.


text:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/gray_bg"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="@dimen/title_hight"
        android:background="@color/title_back" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:text="@string/my_car"
            android:textColor="@color/white"
            android:textSize="@dimen/head" />

        <ImageView
            android:id="@+id/iv_back"
            android:layout_width="@dimen/title_hight"
            android:layout_height="@dimen/title_hight"
            android:layout_centerVertical="true"
            android:layout_marginLeft="@dimen/margins"
            android:padding="@dimen/margins"
            android:src="@drawable/nav_back" />
    </RelativeLayout>

    <ListView
        android:id="@+id/lv_cars"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

redpajama_set_name: RedPajamaGithub


U.K. artist Matt Ferguson has been creating pop culture themed art for some time now so it is only fitting, given his immense popularity and the plethora of work he's churned out, that he gets an exhibit.
Well fans can rejoice because starting on September 17th through the 31st of October, "The Film and Pop Culture Art of Matt Ferguson" will be on display as part of the Thought Bubble Festival.
The exhibit will feature 85+ pieces of art including rare, sold out posters along with some new surprises. Exclusive limited edition "Exhibition Catalogue" will be on sale at the grand opening, of which the first 100 people will receive a gift bag version.
This fan fare will be at The Gallery (164 Duke Street, Leeds LS98AG, UK) with the grand opening scheduled for Friday, September 21st from 6pm – 9pm. Looks like we need to book a flight because this show is going to be sensational.
This entry was posted in Art, Comic Books, DC, DISNEY, Event, Marvel, Movies, Pixar, Posters, Science Fiction, Uncategorized and tagged 2001 AD, art, DC, exhibit, Marvel, Matt Ferguson, Pop Culture, posters, The Gallery, Thought Bubble. Bookmark the permalink.


text:
The Fascist New World Order
Dealing With These Maniacs We Have Over Here
Posted byrowanman28 September 13, 2021 Posted inPoliticalTags:insane, insanity, NWO, Trump
When asked about the toughest part of his presidency, Trump said it was surviving, and he said that multiple times. Surviving, surviving, and that is likely the problem he faced if he went against the wrong people too hard.
He talks about the fake media, but there is of course a fake laugh track on this interview, unless you think there was a real live audience laughing at what he was saying.
I'm not laughing.
Just that alone gives me reason to doubt anything and everything, including the intentions of Trump, the intentions of Fox News, and even the whole United States, and everyone in the world.
The power these massive corporations have is such that almost anywhere you go in the world, someone will have an opinion, either for or against this whole covid narrative, the masks, the vaccines, the lockdowns, the alternative treatments, etc.
Why do they need to have any opinion at all? They wouldn't even think about it if they weren't forced to. Wouldn't even register as a blip on the radar, average age eighty something, give me a break. That's when people die, period.
The only thing they have to rely on to form those opinions is the media, which is usually corporate media, not always, but it's hard to tell when influencers have been paid or brainwashed.
It appears to have a good side, and a bad side, or a left side and a right side, but if you're seeing it at all, chances are it was influenced by the same big money propaganda machine.
The divide and conquer propaganda is a colonization and invasion strategy for imperialist occupation, and even while that may be obvious, it also isn't entirely clear where it starts, or where it ends, especially now.
To his credit, Trump says people should be free to do what they want, take the vaccine, don't take the vaccine, but he continues to spread lies about it even working at all, let alone the side effects that millions experienced, as it's being forced on people all around the world with a vaccine passport or mandates.
It was part of a plan that involved 196 countries signing onto a global digital identity "alliance" years ago, ID2020, and that was only part of it, they signed on to "whole of government" simulation exercises for pandemic preparedness.
66 recommendations from the World Health Organization who made the virus in the lab, and released it on purpose as a simulation of a deliberate release of a lethal respiratory pathogen.
Germ games, they planned the entire thing for years. It's not a small plandemic, even if it is just a bad flu season.
They were so effective in destroying all trust in all media and all politicians, and all doctors and experts, I don't even know if it actually happened or if they just made the whole thing up, but what I do know is they need to die, for real, and the need for that to happen grows the longer it goes on.
Buy a book on martial arts to support the site and please share and sign up to the mailing list.
Maybe need is a strong word. Maybe not Trump, I don't know, he's possibly a main player, which is kind of a problem, considering who he was supposed to be, the president of the USA.
I mean, did he have a lack of weapons? Did he have a lack of soldiers? Did he need money? Was there a clear and present danger from a legit enemy of humanity? Seemed like it to me, that's what he said himself.
If there was anything that stopped him it was only his own will, and I have said I'm pretty sure he's one of them, whoever "they" might happen to think they are.
The only place you find a laugh track anymore is not on sitcoms but on "talk shows" interviewing the former president of the USA during a manufactured crisis that seems to be shaping up to be world war three. Interesting.
Biden Pushes Mandatory Covid Vaccines
Alternative Treatments For Covid Were Suppressed
Archived Posts Select Month January 2022 (16) December 2021 (27) November 2021 (27) October 2021 (20) September 2021 (23) August 2021 (23) July 2021 (31) June 2021 (21) May 2021 (27) April 2021 (45) March 2021 (53) February 2021 (50) January 2021 (33) December 2020 (37) November 2020 (11)
The Fascist New World Order, Blog at WordPress.com.


text:
namespace aura {
class Window;
}

namespace ash {
namespace wm {

class WindowState;

// Returns the WindowState for active window. Returns |NULL|
// if there is no active window.
ASH_EXPORT WindowState* GetActiveWindowState();

// Returns the WindowState for |window|. Creates WindowState
// if it didn't exist. The settings object is owned by |window|.
ASH_EXPORT WindowState* GetWindowState(aura::Window* window);

// const version of GetWindowState.
ASH_EXPORT const WindowState* GetWindowState(const aura::Window* window);

}  // namespace wm
}  // namespace ash

#endif  // ASH_WM_WINDOW_STATE_AURA_H_


Hyperoxia and Hypocapnia During Pediatric Extracorporeal Membrane Oxygenation: Associations With Complications, Mortality, and Functional Status Among Survivors.
Pediatr Crit Care Med. 2018 Mar; 19(3): 245–253.


text:
Q: Not able to click list child element from side menu using react testing library It's my first week using the react library and I'm a bit confused with this piece where I have a list of items that are part of a side menu. I can assert their texts identifying them as the child of the parent List tag. But when I try to fire a click event this way it won't navigate me to the next page. It will only work if I target that list item by their text directly, not as the child of the parent list, which I'm trying to avoid because there may be other clickable elements with that same title on the page. If anyone could please point me towards what I may be lacking in understanding here please.
describe('App when it is rendered in a certain state:', () => {
beforeAll(() => {
    render(<Root/>);
});

it('should render the dashboard after logging in', async () => {

    expect(screen.queryByTestId('dashboard')).toBeInTheDocument();
    expect(screen.getByTestId('side-menu')).toBeInTheDocument();

    const liArr = screen.queryAllByRole('listitem')
    expect(liArr[0].textContent).toBe('Dashboard')
    expect(liArr[1].textContent).toBe('Schools')
    expect(liArr[2].textContent).toBe('Teachers')

    const teachersLink = liArr[2];
    expect(teachersLink).toBeInTheDocument();
    // await fireEvent.click(screen.getByText('Teachers')) // This navigates me fine
    await fireEvent.click(teachersLink);  // This does not navigate me
    expect(screen.getByText('Teachers page')).toBeInTheDocument();

});

});

This is the SideMenu component where the links come from:
export default function SideMenu() {
    const classes = useStyles();

    return (
        <div className={classes.root} data-testid="side-menu">
            <List>
                <ListItemLink to="/dashboard" primary="Dashboard"/>
                <ListItemLink to="/schools" primary="Schools"/>
                <ListItemLink to="/teachers" primary="Teachers"/>
            </List>
        </div>
    );
}

Thanks very much.

A: It seems it was not working because the link item was actually not clickable, not being an anchor element. Changed it to the below piece and it worked, warranting uniqueness through the role of a button.
async function navigateToTeachersPage() {
  await fireEvent.click(screen.getByRole('button', { name: 'Teachers' }));
  expect(screen.getByTestId('teachers')).toBeInTheDocument();
}

redpajama_set_name: RedPajamaStackExchange


text:
Czech Authorities Do Not Recognize Cannabis Church
The Czech Culture Ministry has rejected the application of the Cannabis Church (Konopna cirkev) to be officially registered as a church.
By Dave Patterson -
The ministry said it would not even deal with the application as the faith in the benefits of cannabis and its propagation cannot be considered a religion.
"The minister says we want to have a church in order to worship a narcotic substance. There is no such thing in our application. It concerns spiritual affairs… We want to run hospices, visit prisons and do things that are needed," its representative Dušan Dvořák said.
In any case, the newly registered churches have no right to receive financial contributions for their operation from the state, unlike traditional churches.
cannabis church
dusan dvorak
konona cirkev
Dave Patterson
Dave Patterson is a content marketer. A writer by day and a reader by night. Coffee addict.


What's the Deal with DAIRY FREE?
Let me just complain for a sec.
If you want something badly enough, you can take all the time in the world, experiment all you want, and go at your own pace until you make it happen.
Something that kills me a little is when someone complains about excess bloating, feeling too uncomfortable after eating something cheesy/creamy, or being unhappy with the results they are seeing while eating dairy frequently.
Now that there's so much evidence to back up the connection between dairy consumption and symptoms such as bloating, indigestion, long-term chronic health issues, and general illness, it's worth experimenting with a dairy-free lifestyle.
I knowwww, dude. I was devastated when I realized that some of my favorite foods were slowing down my results and making me feel worse than I needed to.
So this blog is for the girls who are OPEN to trying something new in order to feel incredible. Here's what I can tell you about MY own changes to eating dairy-free, and why it's helped me so much.
There are a few reasons why people choose to eat less dairy or go dairy-free. Digestion is one, since many of us are a little intolerant to lactose without even realizing. Bloating is another, as many dairy products are processed and include chemicals and sodium that contribute to bloating. Healthy weight is another, as dairy contains SOME vitamins & benefits, but they are wayyyy overpowered by the damages dairy can do to us and our long-term weight + health (read more about this here).
I guess I'll mention the animals, too. I've become more and more conscious about how my choices are affecting the environment and causing unnecessary harm to animals & the communities affected by animal agriculture, so it made sense for me to try and reduce my consumption.
I can't speak for everyone, but when I was trying to lose weight, I hit a plateau after about 8-9 lbs lost. I had gone vegetarian and included SO many more greens into my diet. But I didn't think I could really go more plant-based than that. Cheese, mac & cheese, pizza, coffee creamers… you name it, I loved it.
The thought of "giving something up" was more powerful to me than the idea of hitting my goal and FEELING my absolute best.
But after some time feeling like I was "settling" and that I really might be able to feel even more amazing… I committed to just trying the dairy-free thing for a month.
Andddddddd I haven't stopped since.
Of course, there have been some foods and scenarios along the way where I made an exception, didn't plan well, or didn't notice. But these have been farther and fewer as time goes on and I'm so thankful I didn't quit or think I "ruined it".
I reached my goal and lost 17 lbs, I found foods that were just as delicious and didn't make me feel gross after, and I was able to focus MORE on plant-based foods, which of course helped me get more toned, more energetic, and overall more confident.
Califia is my DREAMMMM creamer when I make coffee at home. It's just as creamy as dairy AND they have flavors you can pick from. You can also decide if you prefer coconut milk, soy, almond, etc. My personal favorite is the Pecan Caramel one. All day long. When I go to Dunkin, I order an iced coffee with almond milk and when I go to Starbucks, I order an iced coffee with soy milk.
Almond milk alll the way. I'll either use Califia's plain almond milk or Silk's vanilla depending on what I'm using them for. These are great for cooking things like vodka sauce, making cereals, and blending into smoothies. For something heavier, you might want to use soy milk because when it cooks, it thickens pretty well. For pancake batter, I'll mix almond milk or soy milk and a little vinegar and let it sit to become a "buttermilk". I also will use coconut milk when I'm making something like a curry.
I'm actually not a big ice cream girl but I do miss it sometimes. One thing I'll get in the summer are these coconut almond ice cream bars. They're really the only ones I'll get for home, but then I recently tried the Ben & Jerry's new vegan flavor and 10000% approve. THANKYOUUU B&J.
Okay so this one's complicated, but I make it work. I never liked plain cheese slices, but I hear awesome things about the brand Follow Your Heart. I can't really review anything from them since I've never tried them, but my vegan friends seem to use them a lot. For pastas and meals where I want parmesan, I use this alternative and it's pretty delish. To season things like roasted veggies and random meals like soups, I love using nutritional yeast because the taste is a bit cheesy and it contains vitamin B12, which you need (especially if you don't eat animal products). Mac & cheese: I use Daiya brands…. it's basically the same as the dairy kind – you make it in a box and it's gooey/delicious.
One of the restaurants by me will make a full "veggie pie" if you ask ahead of time – veggies like eggplant, broccoli, tomatoes, mushrooms, onions, garlic, sauce, on a crust with olive oil and seasonings. That's the IDEAL dairy-free pizza for me, where it's REAL food & not as processed. When I'm in the mood for something more like junk food, I'll use Daiya Margherita frozen pizza.
So I really loved dressings like Ranch, Caesar, etc. But honestly, so many brands are moving towards the plant-based lifestyle anyway so you really CAN find an alternative that tastes similar. To be real though, the dressing I make for myself basically every day is just oil, vinegar, lemon juice, and salt/pepper. I would recommend that because it's probably the least processed out of most options you'll see. If you're looking for brand ideas though, try this vegan ranch or some of Daiya's flavors. One last thing I'll put into this category is butter. I love using vegan butter when I'm indulging a little, and Earth Balance has been the one I've used since I switched over.
SO many kinds of chips, crackers, and snacks contain some sort of milk/cheese in them for flavor. BUT like I said before, brands are getting the hint and giving us what we luvvvvvvv. I've recently been obsessed with these quinoa puffs (be careful bc they ARE a little spicy), these cheesy chickpea puffs, and vegan popcorn (I was dreaming of this day). One last thing I'll mention is chocolate – if you're dairy free just be on the lookout because milk chocolate and some dark chocolates do contain dairy, so it depends on how serious you are about what's in it. One healthier option is actually cacao nibs, which are WAY better for you and I sprinkle them in things like oatmeal, granola, smoothies, etc.
WOW that was way longer than I expected. I just feel like I had a really hard time getting organized when I was trying to go dairy free and I realized I've never actually made a list like this, even though you guys ask me for the hacks all the time. Please let me know if this helps you out and which ones you try out along the way. I actually now have a pretty long list of ALL the hacks in one place right here if you want to follow as I add more when I find good ones.
I'll update this if you guys still have questions or need swaps for anything else dairy-related. I've got youuuuuu.
What tips can you give someone reading this who's trying to go dairy free?


Today's Surfridergrandstrand.org headlines: Observe fresh posts and updates on Surfrider Grand Strand. This site's feed is stale or rarely updated (or it might be broken for a reason), but you may check related news or Surfridergrandstrand.org popular pages instead. It is generally safe for browsing, so you may click any item to proceed to the site.
The 15th Annual Lip-Rippin' Chilympics Chili Cook Off will be held Sunday, October 12 in Murrells Inlet at the Hot Fish Club, King Street Grille, and Morse Park.
Welcome to the Best wings in Myrtle Beach. FatJack's is a family oriented long standing award winning wing establishment.


We first caught wind of South East Londoner Fred Lessore via his impressive debut Quietly Drowning back in Autumn last year, which carried all the hallmarks of a seasoned veteran of indie-folk songwriting, despite his newcomer status at the time.
Give A Little Time marks a shift from the downtempo pensiveness of the previous track, towards a more upbeat, poppier atmosphere which embodies the silver lining of the lyrical narrative, without forfeiting an ounce of his trademark emotionally rich storytelling. With such a strong start to his musical journey, keep your eyes peeled for this burgeoning talent.


Stanza privata a Buenos Aires, Argentina. Stunning and original 1st floor apartment with shared kitchen, bathrooms and big living space. Upstairs an enormous, private terrace to sunbathe and BBQ. Safe and friendly area, close to many cultural centres and a quick bus ride to the city centre.