I usually do this way:
Manipulate[
td = Table[N[Sin[(2 Pi freq t) + phi]], {t, 0, numPts, 1/sampleRate}];
ListLinePlot[td, ImageSize -> Medium],
{{numPts, 150,
Dynamic@Panel[
Row[{Style["Points number= ", Blue, 12],
Style[numPts, Blue, 12]}], ImageSize -> {150, 40}]}, 100, 200},
{{freq, 0.5,
Dynamic@Panel[
Row[{Style["Frequency= ", Blue, 12], Style[freq, Blue, 12]}],
ImageSize -> {150, 40}]}, 0.1, 1},
{{sampleRate, 10,
Dynamic@Panel[
Row[{Style["Sample rate= ", Blue, 12],
Style[sampleRate, Blue, 12]}], ImageSize -> {150, 40}]}, 1, 20},
{{phi, 10,
Dynamic@Panel[
Row[{Style["\[CurlyPhi]= ", Blue, 12], Style[phi, Blue, 12]}],
ImageSize -> {150, 40}]}, 0, 90},
ContentSize -> {400, 300}]
Note the use of Panel for displaying the values of parameters. They help avoiding jerking. It should look as in the picture below. You may further play with the Panel sizes to make them looking nicer (smaller, larger) and occasionally to place them in two colums. But ask about that separately, if needed. Have fun.