The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

wav'чик записать с микрофона, с оцифровкой 44kHz, mono? (sound example)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: sound, example,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Dima Simakov 2:5000/106.4 11 May 98 16:25:40 Subj : wav'чик записать с микрофона, с оцифровкой 44kHz, mono? ________________________________________________________________________________ Hello, Mike ! Thursday May 07 1998 22:05, Mike Iokhvin wrote to All: MI> А не подскажете ли, чем мне под эхотагом wav'чик записать с MI> микрофона, с оцифровкой 44kHz, mono? cat /dev/audio > file.au -- не MI> катит, у меня качество какое-то ущербное получается, да и степень MI> оцифровки не задать.. Может научите, а то до зарезу надо! MI> Если есть какая-нибудь софтина -- подскажите URL, pls! Быть может я извpащенец,но быстpее было самому написать... Фильтpуешь чеpез sox - на выходе получаешь то,что тебе нужно(wav) ;) === Cut === #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <stdarg.h> #include <signal.h> #include <linux/soundcard.h> static int audio_fd; static int audio_buf_size=0; static int stereo=1; static int frequency=44100; static int play_fmt=AFMT_S16_LE; int *buffer; void error(char *s){ fprintf(stderr,"%s\n",s); exit();} void msg(char *s) { fprintf(stderr,"%s",s);} void sig_quit(int sig_num) { close(audio_fd);if(buffer) free(buffer);fprintf(stderr,"\nexiting...\n"); exit(); } usage() { fprintf(stderr,"usage: audio -f{8000,11000,22000,44100} -s{0,1} \n"); exit(); } int main(int argc,char *argv[]) { int i; if(argc<2) usage(); for(i=1;i<argc;i++) { if(strncmp(argv[i],"-f",2)==0) frequency=atoi(argv[i]+2); else if(strncmp(argv[i],"-s",2)==0) stereo=atoi(argv[i]+2); else usage(); } signal(SIGINT,sig_quit); if((audio_fd = open ("/dev/dsp", O_RDWR, 0))==-1)error("unable to open file"); msg("\nSetting up dsp data format:"); if(ioctl(audio_fd, SNDCTL_DSP_SETFMT,&play_fmt))error("unable set FMT");msg("Ok"); msg("\nSetting up mode"); switch(stereo){ case 0: msg(" mono");break; case 1: msg(" stereo");break; default: error("Unknown mode... must be 0(mono) or 1(stereo)"); } if(ioctl(audio_fd, SNDCTL_DSP_STEREO, &stereo))error("unable set");msg("Ok"); msg("\nSetting up frequency:"); if(ioctl(audio_fd, SNDCTL_DSP_SPEED, &frequency))error("unable set");msg("Ok"); msg("\nTrying to get audio buffer size:"); if(ioctl(audio_fd, SNDCTL_DSP_GETBLKSIZE, &audio_buf_size))error("unable to get audio buffer suze");msg("Ok"); if(audio_buf_size<1024) audio_buf_size=1024; buffer=(int *)malloc(audio_buf_size); if(!buffer) error("cannot allocate buffer"); msg("\npress Ctrl-C to stop recording..."); while(1) { read(audio_fd,buffer,audio_buf_size); write(1,buffer,audio_buf_size); } } === Cut === See you later! [team HCI_NSU] [team WarNet] --- / Linux 2.0.30 / DosEmu 0.66.2 / GoldEd 3.0 beta2 * Origin: Подохнуть у поpога обетованной земли... (с) ГpОб (2:5000/106.4)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру