2008-12-24 5 views
9

Existe-t-il un moyen de jouer un morceau de Noël sur un PC ou un Mac sans avoir de fichier son pré-enregistré? (Pas .mp3 ou .wav ou tout-son fichier)Code postal qui joue un morceau de Noël

Je me souviens de ma TI 99/4A et les sons d'Apple II (ressemblant à de la musique) pourrait être joué. Je ne sais pas si les ordinateurs modernes ont ces capacités (sauf beep).

Répondre

1

Le MIDI est une option, bien que sur un PC, il sonne presque aussi mauvais que le bip.

+1

C'est un artefact d'avoir une mauvaise soundba nk Avec une banque de sons de haute qualité, le MIDI peut sonner presque aussi bien que la vraie musique. En fait, la communauté musicale utilise le MIDI tous les jours; ils n'ont pas les mêmes vues négatives de MIDI que les programmeurs ont souvent. –

3

Oui, vous pouvez jouer midi.

Midi ne code pas les sons en soi, il encode les informations utilisées pour lire de la musique; le pas, le ton, l'intensité, etc.

Il y a une boîte à outils midi C# sur CodePlex à: http://www.codeproject.com/KB/audio-video/MIDIToolkit.aspx

La qualité du son dépend entièrement de l'appareil MIDI utilisé pour jouer, il varie en qualité d'un ordinateur à l'autre.

Vous pouvez trouver une belle liste de fichiers midi de Noël à: http://www.lockergnome.com/midi/

Windows Media Player peut lire des fichiers MIDI tout comme Quick Time (je crois).

3
PLAY "e4 e4 e2 e4 e4 e2 e4 g4 c4 d4 e2" 
+0

Quelle langue est-ce? – Ricket

+0

@Ricket: c'est QBASIC pour moi. peut-être que c'est un autre BASIC à quelqu'un d'autre. –

2

Qu'en est-il de la génération de données PCM à la volée? PCM - Pulse Code Modulé - le son est juste un tas d'échantillons de tension à travers un système de son analogique.

Pensez à un haut-parleur. Comme le son est joué, il vibre. Que faire si vous avez pris une règle et mesuré l'emplacement de l'orateur à un rythme plus rapide que la fréquence du son? Vous obtiendrez une image d'une forme d'onde. C'est exactement ce à quoi ressemblent les données PCM, chaque mesure étant stockée sous la forme d'un int de 8 ou 16 bits. La fréquence, disons 44khz est le nombre d'échantillons par seconde. Les CD utilisent une fréquence d'échantillonnage de 44 kHz et des échantillons de 16 bits.

DirectSound (sur les fenêtres) et OpenAL (plate-forme de croix) sont deux bibliothèques que vous pouvez utiliser pour jouer DATABUFFERS plein de données PCM. J'ai déjà utilisé DirectSound par le passé, pas pour lire des données mais plutôt pour lire les données du microphone pour obtenir le niveau de volume.

Si vous vouliez créer un échantillon PCM pour une certaine note, il vous suffit de calculer la fréquence (voici un table), puis de mettre une onde sinusoïdale dans votre tampon. Vous pouvez mélanger différentes fréquences en les ajoutant (assurez-vous que la somme est inférieure au volume maximal, pour éviter le clipping)

7

"Jingle Bells" en java (gonflé comme d'habitude), en utilisant JFugue, avec des cloches tubulaires et des xylophones (polyphonique!):

import org.jfugue.*; 

public class JingleBells 
{ 
    public static void main(String[] args) 
    { 
     Player player = new Player(); 
     player.play("T170 "+ 
        "  V0 I[XYLOPHONE] C4q C4q C3h C4q C4q C3h C3q B3q A3q G3q C4h "+ 
        "  V1 I[TUBULAR_BELLS] E5q E5q E5h E5q E5q E5h E5q G5q C5q D5q Eqh "+ 
        "  V2 I[XYLOPHONE] G3h  G2q G3q G3h  G3h"); 
    } 
} 
6

en parlant de « aussi mauvais que bip », si vous avez beep installé sur votre système linux, vous pouvez exécuter le script shell suivant (dans la même veine que la réponse de Jeremy Ruten):

#!/bin/sh 
beep -f 659 -l 400 
sleep 0.05 
beep -f 659 -l 400 
sleep 0.05 
beep -f 659 -l 800 
sleep 0.05 
beep -f 659 -l 400 
sleep 0.05 
beep -f 659 -l 400 
sleep 0.05 
beep -f 659 -l 800 
sleep 0.05 
beep -f 659 -l 400 
sleep 0.05 
beep -f 783 -l 400 
sleep 0.05 
beep -f 523 -l 400 
sleep 0.05 
beep -f 587 -l 400 
sleep 0.05 
beep -f 659 -l 800 
Questions connexes