|
|
|
|
DVK: извините, что не по теме... скажите пожалуйста, если собрать схему с Вашей странички, то можно получить шаровую молнию? И ещё, куда подключается HV+? |
|
|
rial_man > Можно исходники программы опубликовать? 184 кВ текста... Пока жаба душит просто так отдавать... Больше года писал... Почти как собака на сене... > вдруг получится 24 бита добавать 24 бита с WAVE_FORMAT_PCM несовместима, а я только с ним работать умею. Это самый прямой формат - тупое конвертирование Integer-ов из буфера во Float. А с другими форматами как-то непрямо работать надо, а как - не знаю.. Левон > если собрать схему с Вашей странички, то можно получить шаровую молнию? У меня не получилось, хотя очень хотелось. Предполагаю индуктивность вторички мешает. > И ещё, куда подключается HV+? В случае разрядника типа лестницы Якова - к одному из электродов, к другому - земля. В плазменной пушке - к внутреннему электроду (сиреневый провод), а земля к медной монете (красный провод). |
|
|
Ну ладно, буду в Матлаб ковырятся. Там, правда, тоже 24 бита нельзя получить. |
|
|
DVK: 24 бита с WAVE_FORMAT_PCM я в своей программе "самописца" использовал 16 битный формат аудио, но возможно там можно и 24 бита использовать. Вот кусок исходного текста инициализации: ================== ..... BufSize := StrToInt(DataSourceSelectForm.BufferSize.text); { Размер буфера } Bits16 := true;//CheckBox1.Checked; with header do begin wFormatTag := WAVE_FORMAT_PCM; nChannels := 2; { количество каналов } nSamplesPerSec := 22050; { частота } wBitsPerSample := integer(Bits16) * 8 + 8; { 8 / 16 бит } nBlockAlign := nChannels * (wBitsPerSample div 8 ); nAvgBytesPerSec := nSamplesPerSec * nBlockAlign; cbSize := 0; end; WaveInOpen(Addr(WaveIn), WAVE_MAPPER, addr(header), Form1.Handle, 0, CALLBACK_WINDOW); BufLen := header.nBlockAlign * BufSize; hBuf := GlobalAlloc(GMEM_MOVEABLE and GMEM_SHARE, BufLen); Buf := GlobalLock(hBuf); with BufHead do begin lpData := Buf; dwBufferLength := BufLen; dwFlags := WHDR_BEGINLOOP; end; WaveInPrepareHeader(WaveIn, Addr(BufHead), sizeof(BufHead)); WaveInAddBuffer(WaveIn, addr(BufHead), sizeof(BufHead)); // GetMem(p, BufSize * sizeof(TPoint)); stop := true; WaveInStart(WaveIn); ..... =============== |
|
|
Сергей К У вас тоже wFormatTag := WAVE_FORMAT_PCM; Это стандартный вариант, с небольшими видоизменениями его можно найти везде в инете. И у меня нечто похожее. Действительно, никто не запрещает записать wBitsPerSample := 24, например, только это не работает с WAVE_FORMAT_PCM. Я тоже сначала удивлялся - как так, я точно знаю, что карта 24 бит, пишу 24 а она не работает. Потом прочитал где-то, что это ограничение WAVE_FORMAT_PCM до 16 вит только. Да, кстати dwFlags := WHDR_BEGINLOOP; делают только для выходных буферов, для входных это не нужно. И буферов лучше делать 2 или больше, а то будут разрывы во входящих данных. Один записывается, а другой в это время обрабатывается, а потом меняются местами. А еще лучше 3 - один все время стоит в очереди, чтобы сразу подключиться, когда кончится запись предыдущего.
|
|
|
Вот еще есть WAVE_FORMAT_ADPCM вроде больше 16 бит может, только я не нашел как с ним работать. |
|
|
Собственно, если разговор зашел о том, как делать, то есть такой примерчик - kssample, там показано, как работать с 24 битами. А вот прикрепить к нему меню и графики у меня не вышло, не хватило опыта. Измерение емкостей я передумал на 555 делать - буду, наверное, мостик + диф.усилитель + синхронный детектор пробовать.
|
|
|
У меня XP и SB Live и стандартный миксер. Работает очень нестабильно, т.е. калибруется нормально, но при измерении результат выдаёт недостоверный. В ЛОГе постоянно фигурирует ошибка: MixerIn: Set volume: Channel: 1, Value: 1: Volume control not found. причём на любом канале и любом уровне громкости. В чём тут дело?
69630.txt |
|
|
И у меня вопрос. На звуковой шине HDA Майкрософта эта программа работать будет? |
|
|
Valdemar: Работает очень нестабильно, т.е. калибруется нормально, но при измерении результат выдаёт недостоверный. А интегрированная есть? У меня тоже на SB Live не захотел работать. Разрешил интегрированную и подключился к ней, а звук на SB, стало возможным пользоваться измерителем и при этом слушать музыку. |
|
|
|
|