Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Multiple Soundblaster Cards in one PC running Windows 2000

I'm trying to get 3 soundblaster cards to function indenpedently in one PC under windows 2000 from a VB6 application. You can get the system to boot when each has its own address and IRQ, but how do you access them indenpdently? I was hoping to use the API calls, but they seem to assume there's only one.

If anybody has successfully done this, please get in touch!

If anybody has a hint or idea of how to do it though hasn't actually needed to do it, please write, too!

Any help will be appreaciated.

JB

Comments

  • jasonjason United KingdomMember Posts: 88 ✭✭
    Hi.

    You haven't said which API you're using, nor what you want the sound blaster to do. However, most of the ms multimedia sdk functions use a handle to a device, for example the midiOutSetVolume() function uses a handle to the midi out device to know which device to use.

    MMRESULT midiOutSetVolume
    (

    HMIDIOUT hmo,
    DWORD dwVolume
    }

    Parameters

    hmo

    Handle of an open MIDI output device. This parameter can also contain the handle of a MIDI stream, as long as it is cast to HMIDIOUT. This parameter can also be a device identifier.

    dwVolume

    New volume setting. The low-order word contains the left-channel volume setting, and the high-order word contains the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.
    If a device does not support both left and right volume control, the low-order word of dwVolume specifies the mono volume level, and the high-order word is ignored.

    Hope this helps.

    Regards, Jason

  • jumpingbudjumpingbud Member Posts: 3
    Dear Jason,

    Thanks for answering my question. Let me give you some more information.

    First, I need to use 3 SoundBlasters, not just 1, and all in one PC running Windows 2000. The API I'm accustomed to using is the WINMM API and it seems to assume only one WAV device. I need all three SoundBlaster cards to all act as WAV devices. One of these will be playing background music (from WAV or MP3 Files), and the other two will be periodically and independently play relatively short voice messages. So, I need to know which API or a DLL or some other software package that I can call from VB 6.0 will permit this.

    If you know where I can get such a thing, I'd greatly appreciate it.

    JB

    : Hi.
    :
    : You haven't said which API you're using, nor what you want the sound blaster to do. However, most of the ms multimedia sdk functions use a handle to a device, for example the midiOutSetVolume() function uses a handle to the midi out device to know which device to use.
    :
    : MMRESULT midiOutSetVolume
    : (
    :
    : HMIDIOUT hmo,
    : DWORD dwVolume
    : }
    :
    : Parameters
    :
    : hmo
    :
    : Handle of an open MIDI output device. This parameter can also contain the handle of a MIDI stream, as long as it is cast to HMIDIOUT. This parameter can also be a device identifier.
    :
    : dwVolume
    :
    : New volume setting. The low-order word contains the left-channel volume setting, and the high-order word contains the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.
    : If a device does not support both left and right volume control, the low-order word of dwVolume specifies the mono volume level, and the high-order word is ignored.
    :
    : Hope this helps.
    :
    : Regards, Jason
    :
    :

  • SephirothSephiroth Fayetteville, NC, USAMember Posts: 1,035
    Uhm, I have one question. Why on EARTH are you wasting all those resources on multiple soundcards when it would be MUCH simpler to write a small mixer (or just use the on in DX8) to mix sounds onto one card? Also, an SBLive! card supports up to like, 1024 WAVs at once. Heck, I could get 32 at once on my SB16 in DOS with Shadow Warrior :D!

    -[italic][b][red]S[/red][purple]e[/purple][blue]p[/blue][green]h[/green][red]i[/red][purple]r[/purple][blue]o[/blue][green]t[/green][red]h[/red][/b][/italic]

  • jumpingbudjumpingbud Member Posts: 3
    Well, the application requires playing the voice messages to different locations, so with a mixer, I could use only one board provided I could mix into the left and right channels independently and asynchronously. The messages themselves are mono, so the ones being directed to one location could go through he left channel and the others through the right. The wiring of the setup would have to wire L and R to the different locations. The background music would be played through both.

    The engineer that designed the hardware would prefer using 3 cards, but if I could show them that it would all work with only one, that would be a GO. Do know of a mixer that would allow me to play one mono WAV file as background music to both L+R, then at relatively random intervals, mix other mono WAV files into either L or R? At times, the mixing of files to L and R would overlap, but not necessarily start and stop at the same time.

    Any suggestions on a mixer I could get on-line that can do this?

    JB

    : Uhm, I have one question. Why on EARTH are you wasting all those resources on multiple soundcards when it would be MUCH simpler to write a small mixer (or just use the on in DX8) to mix sounds onto one card? Also, an SBLive! card supports up to like, 1024 WAVs at once. Heck, I could get 32 at once on my SB16 in DOS with Shadow Warrior :D!
    :
    : -[italic][b][red]S[/red][purple]e[/purple][blue]p[/blue][green]h[/green][red]i[/red][purple]r[/purple][blue]o[/blue][green]t[/green][red]h[/red][/b][/italic]
    :
    :

  • rickstersforickstersfo Member Posts: 1
    I've built a similar box, where 3 cards on a w2kpro machine control 3 sound zones (at different locations) in a building. At times (for announcements), the three sound cards will play from the same source (via i/o). Only caviat is that I am using 3 different cards, so that each has it's own driver (i tried using 3 of the same card (yahama pci), which yielded poor and unpredictable sound quality).

    My question may be the same -- How can I simply control each card, specifically the input/output volumes? -- but it may be different. Can anyone help?

    Rick

    : Well, the application requires playing the voice messages to different locations, so with a mixer, I could use only one board provided I could mix into the left and right channels independently and asynchronously. The messages themselves are mono, so the ones being directed to one location could go through he left channel and the others through the right. The wiring of the setup would have to wire L and R to the different locations. The background music would be played through both.
    :
    : The engineer that designed the hardware would prefer using 3 cards, but if I could show them that it would all work with only one, that would be a GO. Do know of a mixer that would allow me to play one mono WAV file as background music to both L+R, then at relatively random intervals, mix other mono WAV files into either L or R? At times, the mixing of files to L and R would overlap, but not necessarily start and stop at the same time.
    :
    : Any suggestions on a mixer I could get on-line that can do this?
    :
    : JB
    :
    : : Uhm, I have one question. Why on EARTH are you wasting all those resources on multiple soundcards when it would be MUCH simpler to write a small mixer (or just use the on in DX8) to mix sounds onto one card? Also, an SBLive! card supports up to like, 1024 WAVs at once. Heck, I could get 32 at once on my SB16 in DOS with Shadow Warrior :D!
    : :
    : : -[italic][b][red]S[/red][purple]e[/purple][blue]p[/blue][green]h[/green][red]i[/red][purple]r[/purple][blue]o[/blue][green]t[/green][red]h[/red][/b][/italic]
    : :
    : :
    :
    :

  • edocecrousedocecrous Member Posts: 49
    Hi guys!

    For different reason, but i have to do simmilar job, actually i need MINIMUM 8 different channels, to output on different lines.
    Without special hardware, we will try soundcards with multiple out, like the TurtleBeach card, also using an additional card for extra channels. I'm getting the new cards today, when i figured out, how to access them, i'll get back to you...
    If i can use the windows MM API, or DirectSound to access them, i'll help you out. But if i can access the cards only directly, it will not work under NT based systems like (XP or 2K), without a kernel-level driver, and i'm using 98. /and also have no time to write the driver, since i'll have no need for it.../

    Edocecrous
  • edocecrousedocecrous Member Posts: 49
    So...

    I've got the cards, and the Turtle Beach 5.1 card has 6 discrete output channel, accessible via regular MME, (interpreted as 3 stereo devices).
    The other is 7.1, 8 discrete channels, and using a special EWDM driver, i found no documentation yet. But, it came with an ASIO driver, and it's not a big problem to use that. (just search the web)

    Edocecrous

  • blipblip Member Posts: 756
    That's what you get for assuming winbloze and vb will do the job!
  • SephirothSephiroth Fayetteville, NC, USAMember Posts: 1,035
    Visual suxxorz, LONG LIVE NOTEPAD BABY!!!

    Now, I've just finished a mixer for my game. I can mix up to 128 audio streams into one and then you can send that one stream to your DX or whatever plays your sound. This even works on my old P2/233 with an ESS Audio PCI Wavetable soundcard. Thatcard is half-duplex and only has two channels, yet I've managed to play a ton of WAVs with my mixer on it. Yes, playing a bunch of them at once will drive you insane unless it means something, but Aerosmith, Poison, and God knows who else I had playing all at once, SUCKED!

    DirectX also offers a NICE mixer to blend sounds. Check it out if yo9u can't write one from scratch.

    -[italic][b][red]S[/red][purple]e[/purple][blue]p[/blue][green]h[/green][red]i[/red][purple]r[/purple][blue]o[/blue][green]t[/green][red]h[/red][/b][/italic]

  • Chris BrownChris Brown USAMember Posts: 4,496 ✭✭

    ________ // http://forcoder.org // free ebooks and video tutorials about / Ruby, C, R, Delphi, Python, Scratch, Objective-C, C++, Visual Basic, Swift, C#, JavaScript, Assembly, PHP, Go, Java, MATLAB, PL/SQL, Perl, Visual Basic .NET Transact-SQL, D, Julia, Crystal, Scala, Dart, Ada, LabVIEW, VBScript, Lua, COBOL, Rust, Erlang, FoxPro, Logo, F#, Scheme, Fortran, Clojure, SAS, Hack, Kotlin, Alice, Prolog, ML, Bash, Lisp, ABAP, Apex, Awk / ____

Sign In or Register to comment.