I propose a TikZ solution. With a \slur macro that takes two arguments, the text below the slur and the color of the said slur. This macro computes and fills two arcs above the text, with customizable heights.
Something like this:
\documentclass{article}
\usepackage {tikz}
% some parameters
\def\H {0.5ex} % height, higher arc
\def\h {0.3ex} % height, lower arc
\def\vs{1.7ex} % vertical shift
% the slur
\newcommand{\slur}[2][] % color (optional), text to be slurred
{% <-- we don't want a space here
\begin{tikzpicture}
\node[inner sep=0,text depth=0,text height=\vs] (a) {#2};
\coordinate (A) at (a.north east);
\path (A);
\pgfgetlastxy{\x}{\y};
\pgfmathsetmacro\R{\x\x+\H\H)/2/\H} % radius, higher arc
\pgfmathsetmacro\r{\x\x+\h\h)/2/\h} % radius, lower arc
\pgfmathsetmacro\A{asin(\x/\R)} % angle, higher arc
\pgfmathsetmacro\a{asin(\x/\r)} % angle, lower arc
\fill[#1] (A) arc (90-\A:90+\A:\R pt) arc (90+\a:90-\a:\r pt);
\end{tikzpicture}% <-- we don't want a space here either
}
\begin{document}
\slur{Slurred} text, more \slur{slurred text}, and a little slur: \slur{ab}.
\bigskip
\Huge
\color{magenta} \slur[green]{Slurred} text, \color{blue} more \slur{slurred text}.
\end{document}

Edit: Following campa's comment I changed the color to optional parameter. Of course, it's better this way.