To solve this optimization problem, we need to maximize the profit from selling regular and premium microphones given the budget constraint and the total demand. Let's denote the number of regular microphones as \(x\) and the number of premium microphones as \(y\).

The profit from each regular microphone is $80 - $75 = $5, and the profit from each premium microphone is $95 - $100 = -$5 (since it actually results in a loss). However, for the purpose of maximizing overall profit, we consider the contribution to profit. The cost of purchasing each regular microphone is $75, and each premium microphone is $100.

The objective function to maximize profit can be represented as:
\[ \text{Maximize} \quad 5x - 5y \]

Given constraints:
1. Budget constraint: \(75x + 100y \leq 30000\)
2. Demand constraint: \(x + y \leq 300\)
3. Non-negativity constraints: \(x \geq 0, y \geq 0\)

Now, let's translate this into Gurobi code in Python:

```python
from gurobipy import *

# Create a new model
m = Model("Microphone_Profit")

# Define variables
x = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="regular_microphones")
y = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="premium_microphones")

# Set the objective function
m.setObjective(5*x - 5*y, GRB.MAXIMIZE)

# Add constraints
m.addConstr(75*x + 100*y <= 30000, "budget_constraint")
m.addConstr(x + y <= 300, "demand_constraint")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: x = {x.x}, y = {y.x}")
    print(f"Maximum profit: {m.objVal}")
else:
    print("Model is infeasible")
```