trion, спасибо. Воспользовался идеей, набросал небольшой менеджер для звуков

Вроде неплохо получилось, прям не ожидал, что так просто будет.
Использование
Include "sound_manager.bb"
...
smLoadSound ("human_voice.mp3", "aaa")
smPlaySound ("aaa")
...
smDeleteAll()
sound_manager.bb
Type TSound
Field Name$
Field Sound
Field Channel
Field Volume
Field Pitch
End Type
Function smSoundByName.TSound (name$)
For snd.TSound = Each TSound
If (snd\Name = name) Then Return snd
Next
DebugLog "Sound '" + name + "' is not exist!"
End Function
Function smLoadSound (filename$, name$, Volume = 100, Pitch = 0)
snd.TSound = New TSound
snd\Sound = LoadSound (filename)
If (snd\Sound = -1) Then
DebugLog "Sound '" + name + "' is not load!"
Delete snd
EndIf
snd\Name = name
End Function
Function smPlaySound (name$)
snd.TSound = smSoundByName (name)
If snd <> Null Then
If Not ChannelPlaying (snd\Channel) Then snd\Channel = PlaySound (snd\Sound)
Else
DebugLog "Sound '" + name + "' not found!"
EndIf
End Function
Function smStopSound (name$)
snd.TSound = smSoundByName (name)
If snd <> Null Then
StopChannel (snd\Channel)
Else
DebugLog "Sound '" + name + "' not found!"
EndIf
End Function
Function smDeleteAll ()
For snd.TSound = Each TSound
FreeSound snd\Sound
Delete snd
Next
End Function