The following solution is taken from my own answer, where I want to scale up MathTime Pro 2.
The task here is to match the x-heights of Baskerville and MathTime Pro 2. On the one hand, the x-height of Baskerville is 415/1000. On the other hand, MathTime Pro 2 has three different x-heights: 457/1000, 491/1000 and 524/1000 for \displaystyle/\textstyle, \scriptstyle and \scriptscriptstyle, respectively (because it uses optical sizes).
Since you wish not to change Baskerville, we must scale down MathTime Pro 2. Using my implementation, we just provide three different factors: 415/457, 415/491 and 415/524, and we’re done!
\documentclass[11pt]{article}
\usepackage[no-math]{fontspec}% Option no-math is important!
\setmainfont[Ligatures=TeX]{Baskerville}
\usepackage[lite]{mtpro2}
\usepackage{amsmath}
% My implementation: https://tex.stackexchange.com/a/439463/164314
\makeatletter
% Customize different scaling factors here
\newcommand*{\mtpscale@scaled}{0.9080963}% 415/457
\newcommand*{\mtpscale@scriptscaled}{0.8452138}% 415/491
\newcommand*{\mtpscale@scriptscriptscaled}{0.7919847}% 415/524
% Fonts available in the `lite' version
% Source code found in `mtpro2.sty'
\DeclareFontShape{LMP1}{mtt}{m}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2mif
<7-9> s*[\mtpscale@scriptscaled] mt2mis
<9-> s*[\mtpscale@scaled] mt2mit}{}
\DeclareFontShape{LMP2}{mtt}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2syf
<7-9> s*[\mtpscale@scriptscaled] mt2sys
<9-> s*[\mtpscale@scaled] mt2syt}{\skewchar\font32}
\DeclareFontShape{LMP3}{mtt}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2exa
<7-9> s*[\mtpscale@scriptscaled] mt2exa
<9-> s*[\mtpscale@scaled] mt2exa}{}
\DeclareFontShape{U}{mtt}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2mbf
<7-9> s*[\mtpscale@scriptscaled] mt2mbs
<9-> s*[\mtpscale@scaled] mt2mbt}{}% (MJ)
% Fonts available in the `complete' version
\ifmtp@full
% Source code found in `mtpro2.sty'
\DeclareFontShape{LMP1}{mtt}{b}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bmif
<7-9> s*[\mtpscale@scriptscaled] mt2bmis
<9-> s*[\mtpscale@scaled] mt2bmit}{}
\DeclareFontShape{LMP2}{mtt}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bsyf
<7-9> s*[\mtpscale@scriptscaled] mt2bsys
<9-> s*[\mtpscale@scaled] mt2bsyt}{\skewchar\font32}
\DeclareFontShape{LMP2}{mtt}{eb}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hsyf
<7-9> s*[\mtpscale@scriptscaled] mt2hsys
<9-> s*[\mtpscale@scaled] mt2hsyt}{\skewchar\font32}
\DeclareFontShape{LMP3}{mtt}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bexa
<7-9> s*[\mtpscale@scriptscaled] mt2bexa
<9-> s*[\mtpscale@scaled] mt2bexa}{}
\DeclareFontShape{LMP3}{mtt}{eb}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hexa
<7-9> s*[\mtpscale@scriptscaled] mt2hexa
<9-> s*[\mtpscale@scaled] mt2hexa}{}
\DeclareFontShape{U}{mt2sya}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2syaf
<7-9> s*[\mtpscale@scriptscaled] mt2syas
<9-> s*[\mtpscale@scaled] mt2syat}{}%
\DeclareFontShape{U}{mt2sya}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bsyaf
<7-9> s*[\mtpscale@scriptscaled] mt2bsyas
<9-> s*[\mtpscale@scaled] mt2bsyat}{}%
\DeclareFontShape{U}{mt2sya}{eb}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hsyaf
<7-9> s*[\mtpscale@scriptscaled] mt2hsyas
<9-> s*[\mtpscale@scaled] mt2hsyat}{}%
% Source code found in `umt2ms.fd'
\DeclareFontFamily{U}{mt2ms}{\skewchar\font42}%
\DeclareFontShape{U}{mt2ms}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2mcf
<7-9> s*[\mtpscale@scriptscaled] mt2mcs
<9-> s*[\mtpscale@scaled] mt2mct}{}%
\DeclareFontShape{U}{mt2ms}{m}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2msf
<7-9> s*[\mtpscale@scriptscaled] mt2mss
<9-> s*[\mtpscale@scaled] mt2mst}{}%
\DeclareFontShape{U}{mt2ms}{b}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bmsf
<7-9> s*[\mtpscale@scriptscaled] mt2bmss
<9-> s*[\mtpscale@scaled] mt2bmst}{}%
% Source code found in `umt2mf.fd'
\DeclareFontFamily{U}{mt2mf}{}%
\DeclareFontShape{U}{mt2mf}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2mff
<7-9> s*[\mtpscale@scriptscaled] mt2mfs
<9-> s*[\mtpscale@scaled] mt2mft}{}%
\DeclareFontShape{U}{mt2mf}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bmff
<7-9> s*[\mtpscale@scriptscaled] mt2bmfs
<9-> s*[\mtpscale@scaled] mt2bmft}{}%
% Source code found in `umt2bb.fd'
\DeclareFontFamily{U}{mt2bb}{\skewchar\font45}%
\DeclareFontShape{U}{mt2bb}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bbf
<7-9> s*[\mtpscale@scriptscaled] mt2bbs
<9-> s*[\mtpscale@scaled] mt2bbt}{}%
\DeclareFontShape{U}{mt2bb}{m}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bbif
<7-9> s*[\mtpscale@scriptscaled] mt2bbis
<9-> s*[\mtpscale@scaled] mt2bbit}{}%
\DeclareFontShape{U}{mt2bb}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2bbdf
<7-9> s*[\mtpscale@scriptscaled] mt2bbds
<9-> s*[\mtpscale@scaled] mt2bbdt}{}%
% Source code found in `umt2hrb.fd'
\DeclareFontFamily{U}{mt2hrb}{\skewchar\font45}%
\DeclareFontShape{U}{mt2hrb}{m}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hrbf
<7-9> s*[\mtpscale@scriptscaled] mt2hrbs
<9-> s*[\mtpscale@scaled] mt2hrbt}{}%
\DeclareFontShape{U}{mt2hrb}{m}{it}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hbif
<7-9> s*[\mtpscale@scriptscaled] mt2hbis
<9-> s*[\mtpscale@scaled] mt2hbit}{}%
\DeclareFontShape{U}{mt2hrb}{b}{n}{%
<-7> s*[\mtpscale@scriptscriptscaled] mt2hrbdf
<7-9> s*[\mtpscale@scriptscaled] mt2hrbds
<9-> s*[\mtpscale@scaled] mt2hrbdt}{}%
\fi
\makeatother
\newcommand{\test}{%
\text{For any integer }n
\text{ and prime number }p
\text{, we want to solve }x^2 - ny^2 = p\text{.}}
\begin{document}
\noindent For any integer $n$ and prime number $p$, we want to solve $x^2 - ny^2 = p$.
\noindent ${\textstyle\test}$
\noindent ${\scriptstyle\test}$
\noindent ${\scriptscriptstyle\test}$
\[
\begin{aligned}
x_{\text{apple},n_{\text{apple},n}} & \ge x_{\text{banana},n_{\text{banana},n}} \quad \text{for } n = 1,\dotsc,10, \\
x_{\text{apple},n_{\text{apple},n}} & < x_{\text{banana},n_{\text{banana},n}} \quad \text{for } n = 11,\dotsc,20.
\end{aligned}
\]
\end{document}

mtpro2offer this? If not, then I think you would have to create modified font definition files in order to do this. – cfr Feb 16 '15 at 01:15