In Illustrator you outline the text (=Type > Create Outlines, Ungroup).
Add new anchor points - some to be moved and some to be guards which hold their placements as you drag some of the points. I removed the fill color and added a very thin stroke to show all nodes. Plenty of them are inserted inside the ellipse.
With the direct selection tool some of the anchors are dragged to right. There's another version where corner type (=sharp) anchor points are dragged with anchor type conversion tool (=under the pen) to smooth.
Finally two differently colored copies are made. Black version is shifted a little.
NOTE: Direct selection tool can move several selected anchor points at the same time.
This method - insert anchors and drag them - has best control, but it needs also a lot of work. Alternatively you can use the Warp tool. The warp tool is under the width tool . It's quite the same as the Liquifying filter in Photoshop. It adds the needed new anchors automatically.
Double click the tool to get the options dialog.
Third option in Illustrator is to insert Envelope distortion mesh and drag some nodes.
Here's added a six row envelope distortion mesh (Object > Envelope distort > Make with mesh). Whole row is dragged to right with the direct selection tool
In theory the text can still be edited under the envelope mesh, the mesh doesn't need outlined text. I haven't succeeded to make acceptable looking text changes under the envelope, so it's only theory. That can be only an opinion.
I would go with Photoshop and use cmd shift X (liquify). Select the font layer. Rasterize it. CMD SHIFT X (or filters -> liquify). Just use a smaller brush and play around with pulling around.
you can make a text and then modify it manually with for example: filter > fluidify and filter > distortion > wave effect i think you can start doing it with this tools