The interruptRoutine attribute is gone under Carbon. Luckily it appears that nothing used it.
diff --git a/Mac/Modules/snd/Sndmodule.c b/Mac/Modules/snd/Sndmodule.c
index e0a80c3..bb1f7df 100644
--- a/Mac/Modules/snd/Sndmodule.c
+++ b/Mac/Modules/snd/Sndmodule.c
@@ -37,7 +37,9 @@
 
 static pascal void SndCh_UserRoutine(SndChannelPtr chan, SndCommand *cmd); /* Forward */
 static pascal void SPB_completion(SPBPtr my_spb); /* Forward */
+#if !TARGET_API_MAC_CARBON
 static pascal void SPB_interrupt(SPBPtr my_spb); /* Forward */
+#endif
 
 static PyObject *Snd_Error;
 
@@ -449,7 +451,7 @@
 			self->ob_completion = value;
 			Py_INCREF(value);
 			rv = 1;
-#if !TARGET_API_MAC_CARBON_NOTYET
+#if !TARGET_API_MAC_CARBON
 		} else if (strcmp(name, "interruptRoutine") == 0) {
 			self->ob_spb.completionRoutine = NewSIInterruptProc(SPB_interrupt);
 			self->ob_interrupt = value;
@@ -1513,6 +1515,7 @@
 	}
 }
 
+#if !TARGET_API_MAC_CARBON
 static pascal void
 SPB_interrupt(SPBPtr my_spb)
 {
@@ -1525,6 +1528,7 @@
 		SetA5(A5);
 	}
 }
+#endif
 
 
 void initSnd()