|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 6, 2003 13:27:14 Кто нибудь сталкивался с вводом звука, например с микрофона в досе? и WSS (Windows Sound System) - как его под дос программировать? Знаю что можно, но инфы нигде не видел. Адреса, ссылки, интересует все. |
|
|
Дата: Июн 6, 2003 19:51:48 Нужно искать программирование звуковых плат. Например в книге Зубкова "Assembler для DOS, Windows и UNIX" второе издание есть пример. |
|
|
Дата: Июн 9, 2003 12:40:37 В книге не то, там только вывод звука. Нужно прочитать звук с микрофона. И еще информация по WSS СИЛЬНО нужна. |
|
|
Дата: Июн 9, 2003 13:05:29 На странице 344: "20h прямое чтение 8-битных данных" "24h чтение 8-битного PCM через DMA(SB)" Пример действительно только для воспроизведения. Но у меня нету блюдечка с голубой каемочкой :-) |
|
|
Дата: Июн 10, 2003 13:51:46 Можно с любой дрогуй каемочкой... ;-) Ладно тогда меня еще и микшер интересует! Как его настроить для чтения звука с МИКРОФОНА?!!! misyachniy, а вы кроме чтения этой книжечки, пробовали сами написать ввод, вот я пробовал, действитеьно получается, но пишется "тишина"... |
|
|
Дата: Июн 26, 2003 12:33:02 Кргда-то, в далеком детстве, баловался я QBASIC, и вот прикол: был у меня сырец (bas:( на чтение с микрофона белеберды(секунд 5) с последующим воспроизведением. С тогдашными знаниями применить сие тайное знание не смог. Если надо, могу кинуть. |
|
|
Дата: Июн 28, 2003 16:26:07 Кидаю сирец на QBASICе (да простят меня великие и могучие за такое святотатство) переделать его под асм довольно просто, но мне лень. ------------<Хрум>--------------- DECLARE FUNCTION samplebyte% (bp%) DECLARE SUB writedsp (byte%, bp%) DECLARE SUB sbreset (bp%) 'QB4.5 code to record a sample from the 'Soundblaster's Mic/Line Input and then 'play it back. It does not detect for a 'Soundblaster, it's assumed that one is 'available. 'This will be too slow in the IDE - run 'as a standalone .EXE file. '(C) Copyright 1994 by Tim Gerchmez 'This code may be freely shared and 'distributed by any means desired. bp% = &H230 'Soundblaster Base Port, change to &h240 or whatever 'for different hardware configuration CALL sbreset(bp%) 'Reset the Soundblaster card CLS : PRINT PRINT "Soundblaster Sample/Playback (direct, non-DMA)" INPUT "Length of Sample (1-32766)"; ls% IF ls% < 1 OR ls% > 32766 THEN END PRINT "Speak into the Microphone or start input to" PRINT "Line In jack. Press a key to begin sampling." SLEEP PRINT : PRINT "Now Sampling..." REDIM smp%(1 TO ls%) FOR t% = 1 TO ls% smp%(t%) = samplebyte(bp%) FOR u% = 1 TO 25: NEXT u% 'Delay a little NEXT t% 'Now play the sample back CALL writedsp(&HD1, bp%) 'Turn speaker on FOR t% = 1 TO ls% CALL writedsp(&H10, bp%) CALL writedsp(smp%(t%), bp%) NEXT t% CALL writedsp(&HD3, bp%) 'Turn speaker off FUNCTION samplebyte% (bp%) 'Samples a byte from the SB's ADC, and returns 'the resultant byte. Call with BP% = SB base port '(normally &h220) CALL writedsp(&H20, bp%) 'Command to sample one byte datavail% = bp% + 14 dly: IF INP(datavail%) AND &H80 = 0 THEN GOTO dly datread% = bp% + 10 bt% = INP(datread%) samplebyte% = bt% END FUNCTION SUB sbreset (bp%) 'Resets the Soundblaster chip - 'call with bp% = Base Port (normally &h220) dspreset% = bp% + 6 OUT dspreset%, 1 FOR t% = 1 TO 10 a% = INP(dspreset%) 'Delay loop, give SB time to reset NEXT t% OUT dspreset%, 0 dspread% = bp% + 10 FOR t% = 1 TO 10 a% = INP(dspread%) NEXT t% END SUB SUB writedsp (byte%, bp%) 'Writes to the Soundblaster's DSP Command Channel - 'call with bp% = SB base port (normally &h220) 'byte% = byte to write to DSP dspcmd% = bp% + 12 FOR t% = 1 TO 8 q% = INP(dspcmd%) 'Delay to give SB time to process code 'PRINT dspmcd% NEXT t% OUT dspcmd%, byte% END SUB ------------<Хрум>--------------- Желаю удачи |
|
|
Дата: Июн 30, 2003 00:06:35 Большое спасибо, пока не пробовал, но обязательно попробую |
|
|
Дата: Ноя 20, 2003 11:31:00 Johnikum, как дела с записью звука! Поделись опытом, литературой... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.050 |