Ir ao conteúdo

Posts recomendados

Postado

Como faço pra sintetizar sons em diferentes notas (dó-ré-mí...) e frequências em C no Linux? Já fiz isso em Turbo Pascal no Windows em que havia uma funçao (se me lembro bem seu nome era Beep) que aceitava um valor do tipo real e, dependendo  do número, a placa de som emitia um beep diferente.

  • Curtir 1
  • Membro VIP
Postado

Me interessei pelo seu tópico pois foi umas das 1ªs brincadeiras que fiz com programação em basic nos anos 80's😜

 

Pra testar se o buzzer ta funcionando, na janela do terminal, editar, preferências, habilite som do terminal na caixa de verificação... volte...  pressione seta esquerda ... vai ouvir um beep.

 

Em 31/08/2021 às 15:34, holifaca disse:

sintetizar sons em diferentes notas (dó-ré-mí...) e frequências em C no Linux

O programa dó-ré-mi ... se preferir meio que na raça:

#include <fcntl.h>
#include <getopt.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <linux/kd.h>

int main(void)
{
int console_fd=-1; 
   int freq[] = { /* C   D    E    F    G    A    B    C */
                    523, 587, 659, 698, 784, 880, 988, 1046 };
    int i;

 if((console_fd = open("/dev/console", O_WRONLY)) == -1) {
    fprintf(stderr, "não tenho acesso ao buzzer do PC! Rode como root.\n");
    printf("\a");  /* Output the only beep we can, in an effort to fall back on usefulness */
    perror("Abrindo...");
    exit(1);
  }

    for (i=0; i<8; i++)
    {
            ioctl(console_fd, KIOCSOUND, 1193180/freq[i]);
            usleep(500000);
    }
    ioctl(console_fd, KIOCSOUND, 0); /*Stop silly sound*/
    return 0;
}

sim.. copiei da net, adaptei e colei em test.c e testei (como root) com:

gcc test.c  -o test

sudo ./test

 

Caso a mensagem de acesso negado apareça ou não ouça os beeps, rode como root. Outra hora pesquiso como dar acesso a usuário comum...caso alguém queira contribuir nisso, não se acanhe... sinta-se a vontade🙂

Ainda sem som?

Comente as linhas do arquivo: /etc/modprobe.d/blacklist.conf

de:

blacklist snd_pcsp

blacklist pcspkr

para

#blacklist snd_pcsp

#blacklist pcspkr

...+ em:

https://askubuntu.com/questions/96511/getting-the-PC-speaker-to-beep

 

😁

 

  • Curtir 3
  • Obrigado 2
Postado

.if: muito obrigado pela dica, a partir dela encontrei o que eu realmente queria fazer: usar a placa de som ao invés do PC speaker utilizando a biblioteca Alsalib.  A ideia é criar uma musiquinha eletrônica na unha! hehe

 

codigo rápido: obrigado pela sugestão, mas pelo que percebi as funções dessa biblioteca só tocam som se já tiver ele em formato de arquivo (.wav, mp3, .ogg). Eu quero fazer os sons via programação em C.

  • Curtir 1
  • Membro VIP
Postado
15 horas atrás, holifaca disse:

usar a placa de som ao invés do PC speaker utilizando a biblioteca Alsalib.  A ideia é criar uma musiquinha eletrônica na unha!

Foi exatamente o que eu fiz na época 😁. De fato fiz um pianinho com o teclado 😄

O preço baixo que geralmente gosto de cobrar: publique seu projeto, fonte ou suas descobertas - desde que não seja comercial, claro. Bom pra comunidade e creia-me: pra você!

abç & sucessos!

  • Curtir 2
Postado
Em 02/09/2021 às 16:52, holifaca disse:

codigo rápido: obrigado pela sugestão, mas pelo que percebi as funções dessa biblioteca só tocam som se já tiver ele em formato de arquivo (.wav, mp3, .ogg). Eu quero fazer os sons via programação em C.


Eu quem agradeço. Eu não lembrava disso. Usei essa lib pra fazer joguinhos.
Mas acho que a resposta do if é mais simples e elegante. Serviu pra mim adquirir conhecimento. Sucesso ao senhor.

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!